From c5a6a86afce34b9848f338464a4dba660fff564f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Fri, 22 Nov 2019 12:25:27 +0100 Subject: [PATCH] Kernel 0.93+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.CMD.txt | 60 +++++++++++-------------------- BIN/SH.S.EXP.txt | 76 +++++++++++++++++++++++++++++---------- BIN/SH.S.txt | 2 ++ 4 files changed, 80 insertions(+), 58 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 8b043f826967266d7b5d29e4b4fa78f56b3cb162..60d3f9c1d314bc0ff112a2e723e45b81d0650576 100644 GIT binary patch delta 23533 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 diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index 549c51ed..25b80e5f 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -25,7 +25,7 @@ CMD.NOHUP lda #S.PS.F.NOHUP CMD.SHIFT lda (ZPArgVBufPtr) beq CMD.SHIFT.1 - jsr CMD.GetInt8Arg + jsr EXP.GetInt8Exp bcs CMD.SHIFTA.RTS .HS B0 BCS @@ -395,8 +395,7 @@ CMD.READ lda (ZPArgVBufPtr) jsr CORE.ArgV.Next beq .9 - >LDYA ZPArgVBufPtr - jsr CMD.GetInt8ArgYA + jsr EXP.GetInt8Arg bcs CMD.ECHO.RTS >STA.G READ.N @@ -432,12 +431,11 @@ CMD.READ.VAR jsr CL.Reset CMD.SLEEP lda (ZPArgVBufPtr) beq CMD.REN.CSYN - >LDYA ZPArgVBufPtr - >SYSCALL AToL - bcs CMD.REN.CSYN + jsr EXP.GetInt32Arg + bcs CMD.SLEEP.RTS >PULLL.G Sleep - clc + CMD.SLEEP.RTS rts *-------------------------------------- CMD.PAUSE lda #$FF @@ -627,17 +625,8 @@ CMD.FUNCTION lda (ZPArgVBufPtr) >SYSCALL SListAddData rts *-------------------------------------- -CMD.CALL.UNDEF lda #E.FUNDEF - sec -CMD.CALL.RTS rts -*-------------------------------------- -CMD.CALL >LDA.G hFuncList - beq CMD.CALL.UNDEF - - >PUSHW ZPArgVBufPtr - >LDA.G hFuncList - >SYSCALL SListLookup - bcs CMD.CALL.UNDEF +CMD.CALL jsr CMD.CALL.GETFUNC + bcs CMD.CALL.RTS >STYA ZPTmpW KeyID @@ -655,10 +644,23 @@ CMD.CALL >LDA.G hFuncList lda #$C0+C.CALL jmp CORE.StkPush *-------------------------------------- +CMD.CALL.GETFUNC + >LDA.G hFuncList + beq CMD.CALL.UNDEF + + >PUSHW ZPArgVBufPtr + >LDA.G hFuncList + >SYSCALL SListLookup + bcc CMD.CALL.RTS + +CMD.CALL.UNDEF lda #E.FUNDEF + sec +CMD.CALL.RTS rts +*-------------------------------------- CMD.EXIT lda (ZPArgVBufPtr) beq .1 no arg, exit 0 - jsr CMD.GetInt8Arg + jsr EXP.GetInt8Exp bcs .9 .1 sta M32.ACC @@ -1244,26 +1246,6 @@ CMD.IsSwitch lda (ZPArgVBufPtr) CMD.IsSwitch.RTS rts *-------------------------------------- -CMD.GetInt8Arg >LDYA ZPArgVBufPtr - jsr EXP.GET - bcs CMD.IsSwitch.RTS - -CMD.GetInt8ArgYA - >SYSCALL AToL - bcs .99 - - >PULLA - - inc pStack - inc pStack - inc pStack -* clc - rts - -.99 lda #E.ESYN -* sec - rts -*-------------------------------------- MAN SAVE USR/SRC/BIN/SH.S.CMD LOAD USR/SRC/BIN/SH.S diff --git a/BIN/SH.S.EXP.txt b/BIN/SH.S.EXP.txt index 2306b56c..f6883da1 100644 --- a/BIN/SH.S.EXP.txt +++ b/BIN/SH.S.EXP.txt @@ -9,7 +9,7 @@ EXP.GET jsr CORE.ArgV.Next rts .1 >LDYA ZPArgVBufPrev - >SYSCALL AToL To Int32 on stack + jsr EXP.GetInt32YA To Int32 on stack bcs .9 .2 >LDYA L.EXP.OP.MATH + - .... ? @@ -19,8 +19,8 @@ EXP.GET jsr CORE.ArgV.Next stx CORE.Operator jsr CORE.ArgV.Next get next argument beq .94 - >LDYA ZPArgVBufPtr - >SYSCALL AToL To Int32 on stack + + jsr EXP.GetInt32Arg To Int32 on stack bcs .94 jsr EXP.FPU.EXEC @@ -151,6 +151,7 @@ EXP.OP.UNARY.D jsr EXP.OP.UNARY.STAT EXP.OP.UNARY.E jsr EXP.OP.UNARY.STAT bcs EXP.OP.UNARY.DEF.9 bra EXP.OP.UNARY.DEF.8 DIR or FILE exist + EXP.OP.UNARY.F jsr EXP.OP.UNARY.STAT bcs EXP.OP.UNARY.DEF.9 @@ -176,12 +177,10 @@ EXP.OP.UNARY.DEF.8 EXP.OP.UNARY.DEF.9 lda #0 false clc +EXP.OP.UNARY.DEF.RTS rts *-------------------------------------- -EXP.OP.UNARY.I >PUSHBI 10 - >PUSHWI ZPPtr1 - >LDYA ZPArgVBufPtr - >SYSCALL strtol +EXP.OP.UNARY.I jsr EXP.GetInt32Arg php jsr CORE.ArgV.Next plp @@ -192,16 +191,13 @@ EXP.OP.UNARY.I >PUSHBI 10 inc pStack inc pStack - lda (ZPPtr1) - beq EXP.OP.UNARY.DEF.8 - bne EXP.OP.UNARY.DEF.9 + bra EXP.OP.UNARY.DEF.8 *-------------------------------------- -EXP.OP.UNARY.N lda (ZPArgVBufPtr) [ -N ] ? - cmp #']' - beq EXP.OP.UNARY.DEF.9 FALSE - jsr CORE.ArgV.Next - beq EXP.OP.UNARY.ESYN - bra EXP.OP.UNARY.DEF.8 arg is not empty TRUE +EXP.OP.UNARY.N jsr EXP.OP.UNARY.Z + bcs EXP.OP.UNARY.DEF.RTS + eor #$80 +* clc + rts EXP.OP.UNARY.Z lda (ZPArgVBufPtr) [ -Z ] ? @@ -211,6 +207,13 @@ EXP.OP.UNARY.Z lda (ZPArgVBufPtr) [ -Z ] ? beq EXP.TEST.BINARY.ESYN bra EXP.OP.UNARY.DEF.9 FALSE *-------------------------------------- +EXP.OP.UNARY.X jsr CMD.CALL.GETFUNC + php + jsr CORE.ArgV.Next + plp + bcs EXP.OP.UNARY.DEF.9 FALSE + bra EXP.OP.UNARY.DEF.8 TRUE +*-------------------------------------- EXP.TEST.BINARY lda CORE.Operator cmp #6 =, !=, <= <, >=, > bcs EXP.TEST.BINARY.NUM @@ -245,13 +248,13 @@ EXP.TEST.BINARY.ESYN *-------------------------------------- EXP.TEST.BINARY.NUM >LDYA ZPArgVBufPrev - >SYSCALL AToL + jsr EXP.GetInt32YA bcs EXP.TEST.BINARY.ESYN jsr CORE.ArgV.Next beq EXP.TEST.BINARY.ESYN4 - >LDYA ZPArgVBufPtr - >SYSCALL AToL + + jsr EXP.GetInt32Arg bcs EXP.TEST.BINARY.ESYN4 >FPU CMP32 @@ -275,6 +278,41 @@ EXP.TEST.BINARY.END .8 rts *-------------------------------------- +EXP.GetInt8Exp jsr EXP.GET + bcc EXP.GetInt8YA + rts + +EXP.GetInt8Arg >LDYA ZPArgVBufPtr + +EXP.GetInt8YA jsr EXP.GetInt32YA + bcs .9 + + >PULLA + + inc pStack + inc pStack + inc pStack +* clc + +.9 rts +*-------------------------------------- +EXP.GetInt32Arg >LDYA ZPArgVBufPtr + +EXP.GetInt32YA pha + >PUSHBI 10 + >PUSHWI ZPPtr1 + pla + >SYSCALL strtol + bcs EXP.GetInt32YA.9 + + lda (ZPPtr1) + beq EXP.GetInt32YA.RTS + sec +EXP.GetInt32YA.9 + lda #E.ESYN +EXP.GetInt32YA.RTS + rts +*-------------------------------------- MAN SAVE USR/SRC/BIN/SH.S.EXP LOAD USR/SRC/BIN/SH.S diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index d1c38b24..26620e35 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -179,6 +179,7 @@ J.EXP.OP.UNARY .DA EXP.OP.UNARY.D .DA EXP.OP.UNARY.F .DA EXP.OP.UNARY.I .DA EXP.OP.UNARY.N + .DA EXP.OP.UNARY.X .DA EXP.OP.UNARY.Z L.EXP.OP.BINARY .DA EXP.OP.BINARY L.EXP.OP.MATH .DA EXP.OP.MATH @@ -593,6 +594,7 @@ EXP.OP.UNARY .AT "-D" .AT "-F" .AT "-I" .AT "-N" + .AT "-X" .AT "-Z" .HS 00 EXP.OP.BINARY .AT "="