diff --git a/.Docs/KERNEL.md b/.Docs/KERNEL.md index 10e3ec57..eab18a1f 100644 --- a/.Docs/KERNEL.md +++ b/.Docs/KERNEL.md @@ -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) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index beaaf2a7..9bafdbcb 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/DU.S.txt b/BIN/DU.S.txt index e2b1603b..b91031e3 100644 --- a/BIN/DU.S.txt +++ b/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 diff --git a/BIN/WHO.S.txt b/BIN/WHO.S.txt index 43a04f04..7fbbb22d 100644 --- a/BIN/WHO.S.txt +++ b/BIN/WHO.S.txt @@ -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 diff --git a/SBIN/TELNETD.S.txt b/SBIN/TELNETD.S.txt index 58d29432..21c7b111 100644 --- a/SBIN/TELNETD.S.txt +++ b/SBIN/TELNETD.S.txt @@ -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" diff --git a/SYS/KERNEL.S.DEV.txt b/SYS/KERNEL.S.DEV.txt index 12d2ce13..93807458 100644 --- a/SYS/KERNEL.S.DEV.txt +++ b/SYS/KERNEL.S.DEV.txt @@ -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 diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index 1d135d98..9368df3d 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -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