From b966ec268188cca6f3a83d825923d45c452d8695 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sat, 4 May 2019 23:13:50 +0200 Subject: [PATCH] Kernel 0.93 --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes DRV/X.U2.DRV.S.txt | 2 +- INC/A2osX.I.txt | 4 +- LIB/LIBTCPIP.S.SKT.txt | 9 +++- SBIN/LOGIN.S.txt | 2 +- SYS/KERNEL.S.BIN.txt | 6 ++- SYS/KERNEL.S.CORE.txt | 3 +- SYS/KERNEL.S.DIRENT.txt | 3 +- SYS/KERNEL.S.ENV.txt | 9 ++-- SYS/KERNEL.S.FIO.txt | 50 +++++++++++----------- SYS/KERNEL.S.GP.txt | 88 +++++++++++++++------------------------ SYS/KERNEL.S.JMP.txt | 46 +++++++++++++++----- SYS/KERNEL.S.MEM.txt | 8 ++-- SYS/KERNEL.S.OSDX.txt | 2 +- SYS/KERNEL.S.PS.txt | 23 ++++++---- SYS/KERNEL.S.PWD.txt | 9 ++-- SYS/KERNEL.S.STAT.txt | 3 +- SYS/KERNEL.S.STDIO.txt | 8 +++- SYS/KERNEL.S.STDLIB.txt | 7 +++- SYS/KERNEL.S.STRING.txt | 8 ++-- 20 files changed, 166 insertions(+), 124 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 337506f0bc7ca4f0fb1658fb72b9c5357eac5fcd..4bb41e8fccc2e70c036abbeff7bd68fa907be510 100644 GIT binary patch delta 71256 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 K.S.STAT+S.STAT.P.AUXTYPE >PUSHBI O.RDONLY >LDYA BIN.CmdLine - >SYSCALL LoadFile BANK1!!! + ldx #SYS.LoadFile + jsr K.SYSCALL.GoB BANK1!!! bcs BIN.Load.Cleanup.RTS Error Loading file stx BIN.hMem save hMem @@ -218,7 +219,8 @@ BIN.Load.1 >LDYA K.S.STAT+S.STAT.P.AUXTYPE jsr BIN.RelExe >LDYA BIN.CmdLine get back bin path - >SYSCALL StrDup make a copy of this string + ldx #SYS.strdup make a copy of this string + jsr K.SYSCALL.GoB bcs .98 lda BIN.hMem Keep X=new string hMem diff --git a/SYS/KERNEL.S.CORE.txt b/SYS/KERNEL.S.CORE.txt index 6aaf625d..2c454d09 100644 --- a/SYS/KERNEL.S.CORE.txt +++ b/SYS/KERNEL.S.CORE.txt @@ -529,7 +529,8 @@ CORE.PSFree sta .10+1 Save PS ID bne .10 txa - >SYSCALL fclose + ldx #SYS.fclose + jsr K.SYSCALL.GoB .10 lda #$ff Self Modified diff --git a/SYS/KERNEL.S.DIRENT.txt b/SYS/KERNEL.S.DIRENT.txt index a8802605..8928867a 100644 --- a/SYS/KERNEL.S.DIRENT.txt +++ b/SYS/KERNEL.S.DIRENT.txt @@ -578,7 +578,8 @@ K.ReadDir.ConvertTime tay lda ZPPtr3+1 adc #0 - >SYSCALL PTime2Time BANK2 + ldx #SYS.PTime2Time BANK2 + jsr K.SYSCALL.GoB rts */------------------------------------- * # CloseDir diff --git a/SYS/KERNEL.S.ENV.txt b/SYS/KERNEL.S.ENV.txt index c86513e5..add65d55 100644 --- a/SYS/KERNEL.S.ENV.txt +++ b/SYS/KERNEL.S.ENV.txt @@ -118,7 +118,8 @@ K.ExpandStr stz .88+1 Reset Intermediate string... stz K.Buf256,x >LDYAI K.Buf256 - >SYSCALL StrDup + ldx #SYS.StrDup + jsr K.SYSCALL.GoB bcs .9 stx .88+1 save this as temp string, in case of recurse @@ -229,8 +230,10 @@ ENV.Search.YA >STYA .4+1 inx bra .4 -.5 >LDYAI K.Buf256 - jsr K.STAT.YA.JMP +.5 >PUSHWI K.S.STAT + >LDYAI K.Buf256 + ldx #SYS.stat + jsr K.SYSCALL.GoB bcs .1 Failed...retry next path... lda K.S.STAT+S.STAT.P.TYPE diff --git a/SYS/KERNEL.S.FIO.txt b/SYS/KERNEL.S.FIO.txt index dc1292a5..f38b841d 100644 --- a/SYS/KERNEL.S.FIO.txt +++ b/SYS/KERNEL.S.FIO.txt @@ -1,6 +1,31 @@ NEW AUTO 3,1 */-------------------------------------- +* # ChTyp +* Change The type of a ProDOS File +* ## C +* `int chtyp(const char *filepath, const char filetype);` +* ## ASM +* **In:** +* `>PUSHBI filetype` +* `>LDYA filepath` +* `>SYSCALL chtyp` +* ## RETURN VALUE +*\-------------------------------------- +K.ChTyp jsr PFT.CheckPathYA + bcs .99 + + >PULLB .1+1 + >MLICALL MLIGETFILEINFO + bcs .9 + +.1 lda #$ff + sta K.MLI.PARAMS+S.FI.T + >MLICALL MLISETFILEINFO +.9 rts + +.99 >RET 1 discard filetype +*/-------------------------------------- * # LoadTxtFile * Load TXT a file in memory (with ending 0) * ## C @@ -122,31 +147,6 @@ K.LoadFile clc clc rts */-------------------------------------- -* # ChTyp -* Change The type of a ProDOS File -* ## C -* `int chtyp(const char *filepath, const char filetype);` -* ## ASM -* **In:** -* `>PUSHBI filetype` -* `>LDYA filepath` -* `>SYSCALL chtyp` -* ## RETURN VALUE -*\-------------------------------------- -K.ChTyp jsr PFT.CheckPathYA - bcs .99 - - >PULLB .1+1 - >MLICALL MLIGETFILEINFO - bcs .9 - -.1 lda #$ff - sta K.MLI.PARAMS+S.FI.T - >MLICALL MLISETFILEINFO -.9 rts - -.99 >RET 1 discard filetype -*/-------------------------------------- * # ChOwn * **In:** * PUSHW = mod diff --git a/SYS/KERNEL.S.GP.txt b/SYS/KERNEL.S.GP.txt index d764f800..7a78261c 100644 --- a/SYS/KERNEL.S.GP.txt +++ b/SYS/KERNEL.S.GP.txt @@ -54,7 +54,7 @@ GP.Sleep php sta (pPs),y pla - iny #S.PS.Y + iny #S.PS.Y sta (pPs),y pla @@ -65,10 +65,10 @@ GP.Sleep php plx get PC HI inc Advance one byte because of return by RTI - bne .1 + bne GP.Sleep2 inx -.1 iny #S.PS.PC +GP.Sleep2 ldy #S.PS.PC sta (pPs),y txa @@ -112,62 +112,42 @@ GP.Sleep php * *** MUST BE REINTRANT *** *-------------------------------------- GP.SysCall dec IRQ.InKernel - sty .5+1 save Y (Func Arg) - sta .6+1 save A (Func Arg) - stx .7+1 save X (Func ID) - - lda K.SYSCALL.BANK,x Get Target BNK - bpl .1 0, E000, no BNK change - - cmp $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2 - beq .1 same as actual BNK...go restore A and JMP - tax set Target BNK in x - lda $D000 get source BNK - bit $C000,x switch to Target BNK - bit $C000,x + pha + phy + ldy #S.PS.A + sta (pPs),y -.1 pha remember source BNK + txa + iny #S.PS.X + sta (pPs),y - jsr .5 go to kernel..... - - stx .4+1 save X + pla + iny #S.PS.Y + sta (pPs),y - plx get back Source BNK + tay + pla - bit $C000,x switch to Target BNK - bit $C000,x - - bcc .4 no error quit... + jsr K.SYSCALL.Go + bcc .2 no error quit... tax CS,A=0 ? - bne .4 no, return error to caller + beq .3 Yes, BLOCKING I/O - pla get PC LO +.2 inc IRQ.InKernel + rts Unmodified Carry + +.3 pla get PC LO plx get PC HI - sec - sbc #3 move back JSR GP.SysCall - bcs .2 +* sec + sbc #2 move back JSR GP.SysCall -3 (jsr $BF00) +1 (RTI) + bcs .4 dex -.2 phx - pha - - ldy .5+1 - lda .6+1 - ldx .7+1 - inc IRQ.InKernel - jmp GP.Sleep - -.4 ldx #$FF Self Modified - inc IRQ.InKernel - rts Unmodified Carry - -.5 ldy #$FF Self Modified -.6 lda #$FF Self Modified -.7 ldx #$FF Self Modified - jmp (K.SYSCALL.JMP,x) +.4 inc IRQ.InKernel + bra GP.Sleep2 *-------------------------------------- GP.LibCall dec IRQ.InLib @@ -179,16 +159,16 @@ GP.LibCall dec IRQ.InLib .1 jsr $FFFF SELF MODIFIED GP.LibCall.8 inc IRQ.InLib - rts +GP.LibCall.RTS rts *-------------------------------------- GP.AtkCall dec IRQ.InKernel -* >STYA .1 -* jsr GO.ProDOS -* jsr MLI -* .DA #MLIATALK -*.1 .DA * -* jsr GO.A2osX + >STYA .1 + jsr GO.ProDOS + jsr MLI + .DA #MLIATALK +.1 .DA * + jsr GO.A2osX inc IRQ.InKernel rts diff --git a/SYS/KERNEL.S.JMP.txt b/SYS/KERNEL.S.JMP.txt index 9fce7ab5..14865c2b 100644 --- a/SYS/KERNEL.S.JMP.txt +++ b/SYS/KERNEL.S.JMP.txt @@ -2,12 +2,12 @@ NEW PREFIX AUTO 4,1 *-------------------------------------- -* $E000-E1FF K.SYSCALL.JMP Jmp Table +* $E000-E1FF System calls Jump Table *-------------------------------------- * Bank 1 *-------------------------------------- -K.SYSCALL.JMP .DA K.GetMemStat $00 - .DA 0 +K.SYSCALL .DA K.GetMemStat $00 + .DA K.ChMod .DA K.FStat .DA K.Stat .DA K.MKDir @@ -61,11 +61,11 @@ K.SYSCALL.JMP .DA K.GetMemStat $00 .DA 0 .DA 0 $60 - .DA 0 + .DA K.ChTyp .DA K.LoadFile .DA K.LoadTxtFile - .DA K.ChTyp - .DA K.ChMod + .DA 0 + .DA 0 .DA K.ChOwn .DA K.ChGrp @@ -424,11 +424,37 @@ K.GUIOSD.JMP sta SETREADAUX sta CLRWRITEAUX rts *-------------------------------------- -K.STAT.YA.JMP pha - >PUSHWI K.S.STAT - pla - >SYSCALL stat +K.SYSCALL.Go bit K.SYSCALL.BANK,x Get Target BNK + bpl K.SYSCALL.JMP 0, E000, no BNK change + +K.SYSCALL.GoB sta .7+1 + lda $D000 #RRAMWRAMBNK1 or #RRAMWRAMBNK2 + cmp K.SYSCALL.BANK,x + beq .7 + + pha remember source BNK + stx .6+1 + + lda K.SYSCALL.BANK,x + tax get Target BNK in x + bit $C000,x switch to Target BNK + bit $C000,x + + jsr .6 + + stx .5+1 Save X + + plx get back Source BNK + + bit $C000,x switch to Target BNK + bit $C000,x + +.5 ldx #$ff SELF MODIFIED rts + +.6 ldx #$ff SELF MODIFIED +.7 lda #$ff SELF MODIFIED +K.SYSCALL.JMP jmp (K.SYSCALL,x) *-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.JMP diff --git a/SYS/KERNEL.S.MEM.txt b/SYS/KERNEL.S.MEM.txt index 6165ca94..1f21810d 100644 --- a/SYS/KERNEL.S.MEM.txt +++ b/SYS/KERNEL.S.MEM.txt @@ -272,8 +272,8 @@ K.FreeMem.ERR phx >PUSHBI 2 >LDYAI K.FreeMem.MSG -.1 >SYSCALL printf - +.1 ldx #SYS.printf + jsr K.SYSCALL.GoB plx sec @@ -537,8 +537,10 @@ MEM.Kernel.JMP jmp (SYS.Kernel.JMP,x) * Y,A = File Length * X = hMem of Loaded Object in AUX mem *\-------------------------------------- -K.LoadStkObj >SYSCALL LoadTxtFile To get ending \0 +K.LoadStkObj ldx #SYS.LoadTxtFile To get ending \0 + jsr K.SYSCALL.GoB bcs .99 + sty .81+1 sta .82+1 diff --git a/SYS/KERNEL.S.OSDX.txt b/SYS/KERNEL.S.OSDX.txt index ca89f143..ed577b5c 100644 --- a/SYS/KERNEL.S.OSDX.txt +++ b/SYS/KERNEL.S.OSDX.txt @@ -654,7 +654,7 @@ CB.Update >LDYA ZPCmdPtr GO.GetMem ldx #SYS.GetMem .HS 2C BIT ABS GO.GetMemPtr ldx #SYS.GetMemPtr - jmp (K.SYSCALL.JMP,x) + jmp (K.SYSCALL,x) *-------------------------------------- CB.Cache .BS S.CB FON.Cache .BS S.FON diff --git a/SYS/KERNEL.S.PS.txt b/SYS/KERNEL.S.PS.txt index 518d02c3..c0adeac2 100644 --- a/SYS/KERNEL.S.PS.txt +++ b/SYS/KERNEL.S.PS.txt @@ -142,7 +142,9 @@ PS.CreateChild ldx #0 ldy #S.PS.hPREFIX copy hPREFIX... lda (pPs),y jsr K.GetMemPtr - >SYSCALL StrDup + + ldx #SYS.StrDup + jsr K.SYSCALL.GoB bcs .9 jsr PS.SetMemOwner Set Ownership @@ -209,8 +211,10 @@ PS.Load ldy #$ff cmp #'/' bne .1 + >PUSHWI K.S.STAT >LDYA PS.ArgV found /, some path specified, no search - jsr K.STAT.YA.JMP + ldx #SYS.stat + jsr K.SYSCALL.GoB bcc .6 REAL path in K.Buf256 .99 rts @@ -285,8 +289,10 @@ PS.Load.SCRIPT ldx #$ff sta K.Buf256-1,x K.Buf256 = "/ROOT/BIN/SHELL\0" -.5 >LDYAI K.Buf256 - jsr K.STAT.YA.JMP +.5 >PUSHWI K.S.STAT + >LDYAI K.Buf256 + ldx #SYS.stat + jsr K.SYSCALL.GoB bcs PS.Load.RTS lda K.S.STAT+S.STAT.P.TYPE @@ -392,19 +398,22 @@ PS.LoadGetHeader >PUSHBI S.FI.T.TXT >PUSHBI O.RDONLY >LDYAI K.IOBuf - >SYSCALL fopen + ldx #SYS.fopen + jsr K.SYSCALL.GoB bcs .9 sta .1+1 >PUSHWI 128 >PUSHWI K.IOBuf+128 .1 lda #$ff SELF MODIFIED - >SYSCALL fread + ldx #SYS.fread + jsr K.SYSCALL.GoB php pha lda .1+1 - >SYSCALL fclose + ldx #SYS.fclose + jsr K.SYSCALL.GoB pla plp .9 rts diff --git a/SYS/KERNEL.S.PWD.txt b/SYS/KERNEL.S.PWD.txt index 1c9cf329..484d60f4 100644 --- a/SYS/KERNEL.S.PWD.txt +++ b/SYS/KERNEL.S.PWD.txt @@ -73,7 +73,8 @@ PWD.Store lda PWD.DBPtr >PUSHBI S.FI.T.TXT >PUSHBI O.WRONLY+O.CREATE >LDYAI PWD.FILE - >SYSCALL FOpen + ldx #SYS.FOpen + jsr K.SYSCALL.GoB bcc .1 pha @@ -89,7 +90,8 @@ PWD.Store lda PWD.DBPtr jsr K.getmemptr >PUSHYA lda .7+1 - >SYSCALL FWrite + ldx #SYS.FWrite + jsr K.SYSCALL.GoB bcs .2 jsr .7 @@ -103,7 +105,8 @@ PWD.Store lda PWD.DBPtr rts .7 lda #$ff - >SYSCALL fclose + ldx #SYS.fclose + jsr K.SYSCALL.GoB .8 lda #$ff jsr K.freemem diff --git a/SYS/KERNEL.S.STAT.txt b/SYS/KERNEL.S.STAT.txt index a325d66d..07ccf64a 100644 --- a/SYS/KERNEL.S.STAT.txt +++ b/SYS/KERNEL.S.STAT.txt @@ -328,7 +328,8 @@ K.MkNod.I ldx #2 .2 stx .3+1 Store hFILE >LDYA ZPPtr1 - >SYSCALL StrDup + ldx #SYS.StrDup + jsr K.SYSCALL.GoB bcs .9 txa diff --git a/SYS/KERNEL.S.STDIO.txt b/SYS/KERNEL.S.STDIO.txt index ee0618b8..a67b9427 100644 --- a/SYS/KERNEL.S.STDIO.txt +++ b/SYS/KERNEL.S.STDIO.txt @@ -123,7 +123,9 @@ K.FPutS jsr PFT.CheckNodeA set IO.hFD >PULLYA Get String >STYA ZPPtr2 Save Buffer - >SYSCALL strlen Get String len in Y,A + ldx #SYS.strlen Get String len in Y,A + jsr K.SYSCALL.GoB + >PUSHYA push len >PUSHW ZPPtr2 push buffer jsr IO.Write.I @@ -900,6 +902,7 @@ K.GetC.I >PUSHWI 1 >RET 4 BLOCKING I/O .8 lda K.IOBuf + K.GetC.RTS rts */-------------------------------------- * # SScanF @@ -1391,7 +1394,8 @@ STDIO.NewHFile sta .4+1 Store hFD bra .3 .21 >LDYAI K.buf256 - >SYSCALL strdup + ldx #SYS.strdup + jsr K.SYSCALL.GoB bcs .9 txa diff --git a/SYS/KERNEL.S.STDLIB.txt b/SYS/KERNEL.S.STDLIB.txt index fb7c3ee0..47a603f3 100644 --- a/SYS/KERNEL.S.STDLIB.txt +++ b/SYS/KERNEL.S.STDLIB.txt @@ -314,8 +314,10 @@ STDLIB.realpath.I clc ror .82+1 - >SYSCALL ExpandStr + ldx #SYS.ExpandStr + jsr K.SYSCALL.GoB bcs STDLIB.32.RTS + >STYA ZPPtr1 stx .99+1 save expanded buffer hMem @@ -423,7 +425,8 @@ STDLIB.realpath.I .82 lda #$ff SELF MODIFIED bpl .88 >LDYAI K.Buf256 - >SYSCALL StrDup BANK 2 + ldx #SYS.StrDup BANK 2 + jsr K.SYSCALL.GoB rts .88 clc diff --git a/SYS/KERNEL.S.STRING.txt b/SYS/KERNEL.S.STRING.txt index 76cf15fd..b8ddab43 100644 --- a/SYS/KERNEL.S.STRING.txt +++ b/SYS/KERNEL.S.STRING.txt @@ -25,7 +25,8 @@ K.StrLen >STYA .1+1 inc .1+2 bra .1 -.8 rts +.8 clc + rts */-------------------------------------- * # StrCat * Concatenate strings @@ -78,7 +79,8 @@ K.StrCpy clc .8 ply pla -K.StrCpy.RTS rts +K.StrCpy.RTS clc + rts */-------------------------------------- * # StrDup * Create a new copy of this C-String @@ -129,7 +131,7 @@ K.StrDup >STYA .1+1 K.StrDup.8 pla ply -* clc + clc rts */-------------------------------------- * # StrUpr/StrLwr