mirror of https://github.com/A2osX/A2osX.git
KERNEL 0.94-2:Fixes for TELNETD/BBSD
This commit is contained in:
parent
64b71db7b3
commit
222b03c048
|
@ -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.
46
BIN/DU.S.txt
46
BIN/DU.S.txt
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue