KERNEL 0.94-2:Fixes for TELNETD/BBSD

This commit is contained in:
burniouf 2021-07-26 15:45:29 +02:00
parent 64b71db7b3
commit 222b03c048
7 changed files with 79 additions and 82 deletions

View File

@ -77,7 +77,7 @@ Y,A = Ptr to installed driver
## RETURN VALUE
CC = OK, CS = ERROR
Y,A = FD
X = hDev
X = hFD
# GetDevStatus
@ -108,7 +108,7 @@ Create a hDEV
# IOCTL
## C
`int ioctl(short int DevID, short int request, void *param);`
`int ioctl(short int hFD, short int request, void *param);`
## ASM
`>PUSHB hDEV`
@ -399,17 +399,6 @@ Y,A = PTR to MemBlock
CS :
A = EC
# LoadStkObj
Load a file in AUX memory (Stock Objects)
PUSHW = PATH (Handled by....
PUSHB = MODE ...
PUSHB = TYPE ...
PUSHW = AUXTYPE ...FOpen)
## RETURN VALUE
Y,A = File Length
X = hMem of Loaded Object in AUX mem
# GetStkObjPtr
## ASM
@ -490,6 +479,17 @@ A = Child PSID
## RETURN VALUE
# LoadStkObj
Load a file in AUX memory (Stock Objects)
PUSHW = PATH (Handled by....
PUSHB = MODE ...
PUSHB = TYPE ...
PUSHW = AUXTYPE ...FOpen)
## RETURN VALUE
Y,A = File Length
X = hMem of Loaded Object in AUX mem
# LoadTxtFile
Load TXT a file in memory (with ending 0)

Binary file not shown.

View File

@ -49,7 +49,7 @@ CS.START cld
*--------------------------------------
.1 .DA CS.INIT
.DA CS.RUN
.DA CS.DOEVENT
.DA CS.DOEVENT
.DA CS.QUIT
L.MSG.USAGE .DA MSG.USAGE
L.MSG.REG1 .DA MSG.REG1
@ -71,7 +71,7 @@ J.CS.RUN.PRINT .DA CS.RUN.PRINT.REG
CS.INIT clc
rts
*--------------------------------------
CS.RUN
CS.RUN
stz bIsTTY
jsr CS.RUN.ISATTY
@ -85,21 +85,21 @@ CS.RUN
bne .4
ldy #1
lda (ZPPtr1),y
ldx #OptionVars-OptionList-1
.2 cmp OptionList,x
beq .3
dex
bpl .2
>PUSHW L.MSG.USAGE
>PUSHBI 0
>SYSCALL PrintF
lda #E.SYN
sec
rts
.3 ldy OptionVars,x
lda #$80
sta (pData),y
@ -115,17 +115,17 @@ CS.RUN
>SYSCALL GetMemPtr
jsr InitSrcDirYA
bcs .9
.8 >PUSHEA.G TIME.SysTime
>SYSCALL Time
>LDYAI S.PW
>SYSCALL GetMem
bcs .9
>STYA ZPPW
txa
>STA.G hPW
>LDYAI 256
>SYSCALL GetMem
bcs .9
@ -190,14 +190,14 @@ CS.RUN.LOOP
bcs .99
dec bPass2
bra .1
bra .1
.9 >LDA.G bSummary
bne .91
jsr CS.RUN.PrintDirSumm
jsr CS.RUN.PrintCwd
jsr CS.RUN.NewLine
jsr CS.RUN.NewLine
.91 dec bDirLevel
jsr LeaveSubDir "cd .."
@ -278,7 +278,7 @@ CS.RUN.PRINT.REG bit bPass2
bne .3 (4)
>PUSHBI 4
>SYSCALL PrintF
bcs .9
bcs .9
jsr CS.RUN.PrintCwd
>PUSHW L.MSG.REG2
>PUSHW ZPFileName (2)
@ -312,7 +312,7 @@ CS.RUN.PRINT.BDEV bit bPass2
>PUSHW L.MSG.BDEVEXT
>PUSHW ZPFileName
ldy #S.STAT.P.SLOT
>PUSHB (ZPFileStat),y
iny DRIVE
@ -325,11 +325,11 @@ CS.RUN.PRINT.BDEV bit bPass2
>PUSHB (ZPFileStat),y
dey
>PUSHB (ZPFileStat),y
>PUSHBI 8
>SYSCALL PrintF
bcs .9
jsr CS.RUN.NewLine
bcs .9
@ -365,7 +365,7 @@ CS.RUN.PrintDirSumm >LEA.G BlkCounters
>PUSHA
dey
lda (ZPPtr1),y
>PUSHA
>PUSHA
>PUSHBI 4
>SYSCALL PrintF
@ -373,11 +373,11 @@ CS.RUN.PrintDirSumm >LEA.G BlkCounters
lda #$00
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
sta (ZPPtr1),y
dey
sta (ZPPtr1),y
sta (ZPPtr1),y
rts
*--------------------------------------
@ -401,9 +401,7 @@ CS.RUN.NewLine lda #C.CR
CS.RUN.ISATTY ldy #S.PS.hStdOut
lda (pPS),y
tax
lsr
bcc .9
lda Nod.Table.hFD-2,x
lda hFDs-1,x
>SYSCALL GetMemPtr
>STYA ZPPtr1
lda (ZPPtr1)
@ -420,12 +418,12 @@ CS.QUIT jsr LeaveSubDir
beq .3
>SYSCALL FreeMem
.3 >LDA.G hPW
beq .4
beq .4
>SYSCALL FreeMem
.4 lda hLineBuf
beq .8
>SYSCALL FreeMem
.8 clc
rts

View File

@ -106,23 +106,24 @@ CS.RUN >LDYA L.MSG0
*--------------------------------------
CS.RUN.GetDevName
tax
lsr
bcc .1
lda hFDs.hName-1,x
bne .8
lda Dev.Table-1,x
lda hFDs-1,x
>SYSCALL GetMemPtr
pha
tya
clc
adc #S.FD.DEV
tay
lda Dev.Table,x
pla
adc /S.FD.DEV
* clc
rts
.1 lda Nod.Table.hFD-2,x
>SYSCALL GetMemPtr
.8 >SYSCALL GetMemPtr
rts
*--------------------------------------
CS.EVENT sec

View File

@ -50,7 +50,6 @@ L.MSG.INITOK .DA MSG.INITOK
L.MSG.TCPIPERR .DA MSG.TCPIPERR
L.MSG.SKTERR .DA MSG.SKTERR
L.MSG.INCOMING .DA MSG.INCOMING
L.MSG.EXECERR .DA MSG.EXECERR
L.NOD.Template .DA NOD.Template
L.CMD.Template .DA CMD.Template
.DA 0
@ -200,16 +199,7 @@ CS.RUN.CLIENT1 >PUSHEA.G NodBuf+5
>PUSHEA.G CmdBuf
>PUSHBI 0
>SYSCALL ExecL
bcc .8
pha
>PUSHW L.MSG.EXECERR
pla
>PUSHA
>PUSHBI 1
>SYSCALL PrintF
.8 clc
.9 rts
*--------------------------------------
CS.DOEVENT lda (pEvent)
@ -242,7 +232,6 @@ MSG.INITOK .AZ "TELNETD:Init Ok, Listening."
MSG.TCPIPERR .AZ "TELNETD:TCP/IP Not initialized properly."
MSG.SKTERR .AZ "TELNETD:Listen Error."
MSG.INCOMING .AZ "TELNETD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
MSG.EXECERR .AZ "TELNETD:ExecL failed $%h."
*--------------------------------------
NOD.Template .AZ "/dev/tty%h"
CMD.Template .AZ "${ROOT}sbin/getty -E %s ${ROOT}sbin/login"

View File

@ -257,18 +257,8 @@ DEV.MkFD ldy #16 Y = Size, MAX=16 for S.FD.DIR
DEV.MkFDy sta .8+1 A = S.FD.T
ldx #1
.1 lda hFDs-1,x
beq .2
inx
cpx #K.hFD.MAX+1
bne .1
lda #E.OOH
* sec
rts
jsr DEV.GetFreeFD
bcs .9
.2 stx IO.hFILE
@ -297,6 +287,29 @@ DEV.MkFDy sta .8+1 A = S.FD.T
* clc
.9 rts
*--------------------------------------
DEV.GetFreeFD lda #0
DEV.GetFD ldx #1
.1 cmp hFDs-1,x
beq .8
inx
cpx #K.hFD.MAX+1
bne .1
tax
beq .9
lda #E.INVH
.HS 2C BIT ABS
.9 lda #E.OOH
* sec
rts
.8 clc
rts
*--------------------------------------
DEV.hFDFree lda IO.hFD
beq .8

View File

@ -240,20 +240,16 @@ K.MkNod >PULLB IO.hFD
jsr STAT.PM
K.MkNod.I ldx #1
.1 lda hFDs-1,x
cmp IO.hFD
beq .2
inx
cpx #K.hFD.MAX+1
bne .1
lda #MLI.E.IO
* sec
rts
K.MkNod.I lda IO.hFD
jsr DEV.GetFD
bcc .2
jsr DEV.GetFreeFD
bcs .9
lda IO.hFD
sta hFDs-1,x
.2 stx IO.hFILE
>LDYA ZPPtr1