From 144fda61ed1402cbc1808a0e1cf4e6d46f97e7ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 12 Feb 2019 16:47:34 +0000 Subject: [PATCH] Kernel 0.92+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes BIN/SH.S.CMD.txt | 35 ++++++++++++---------- BIN/SH.S.CORE.txt | 61 ++++++++++++++++++++++++++++----------- BIN/SH.S.EXP.txt | 19 ++++-------- BIN/SH.S.txt | 26 +++++++++-------- X.ERRORS.S.txt | 6 ++-- 6 files changed, 86 insertions(+), 61 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 2a6b036f33ec9b5afb1fa3aab5617bd21fbf6bcc..695d54ca3686a533a081799fb320532c24621409 100644 GIT binary patch delta 23294 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 T!0&)R0Dl7hl8z`BrL6x4%161q delta 20060 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

K@T+Xv+CII+iCY-ejcGeWS-f)SVb_ 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 LcWpmEuVw!q{=!sU diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index d7a88c11..ceb32eb0 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -165,10 +165,6 @@ CMD.Exec.CSYN lda #E.CSYN sec rts *-------------------------------------- -CMD.Exec.SSYN lda #E.SSYN - sec - rts -*-------------------------------------- CMD.SET lda (ZPArgVBufPtr) bne CMD.SET.1 @@ -314,7 +310,8 @@ CMD.TIME clc >SYSCALL puts rts *-------------------------------------- -CMD.ECHO >STZ.G bECHO.N +CMD.ECHO stz ZPPtr1 echo -N + stz ZPPtr1+1 lda (ZPArgVBufPtr) beq .8 @@ -326,19 +323,27 @@ CMD.ECHO >STZ.G bECHO.N bne .99 lda #$ff - >EOR.G bECHO.N - sta (pData),y - bra .7 + eor ZPPtr1 + sta ZPPtr1 + bra .4 -.2 >PUSHBI 0 +.2 lda ZPPtr1+1 + beq .3 + + lda #C.SPACE + >SYSCALL putchar + +.3 >PUSHBI 0 >LDYA ZPArgVBufPtr >SYSCALL printf bcs .9 -.7 jsr CORE.ArgV.Next + inc ZPPtr1+1 + +.4 jsr CORE.ArgV.Next bne .1 - >LDA.G bECHO.N + bit ZPPtr1 bmi .8 >PUSHBI 0 @@ -500,16 +505,16 @@ CMD.RD lda (ZPArgVBufPtr) .9 jmp CMD.Exec.CSYN *-------------------------------------- CMD.BREAK -.9 jmp CMD.Exec.SSYN +.9 jmp CMD.Exec.CSYN *-------------------------------------- CMD.CONTINUE -.9 jmp CMD.Exec.SSYN +.9 jmp CMD.Exec.CSYN *-------------------------------------- CMD.FOR -.9 jmp CMD.Exec.SSYN +.9 jmp CMD.Exec.CSYN *-------------------------------------- CMD.NEXT -.9 jmp CMD.Exec.SSYN +.9 jmp CMD.Exec.CSYN *-------------------------------------- CMD.WHILE CMD.IF jsr CORE.StkGet diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index 0ae69012..08b3aebc 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -206,7 +206,14 @@ CORE.Lookup >STYA ZPPtr2 lda (ZPPtr1),y beq .4 Table Keyword end - cmp (ZPPtr2),y + lda (ZPPtr2),y + cmp #'a' + bcc .21 + cmp #'z'+1 + bcs .21 + eor #$20 + +.21 cmp (ZPPtr1),y beq .2 bra .4 @@ -236,14 +243,17 @@ CORE.Lookup >STYA ZPPtr2 bne .1 lda #E.CSYN -CORE.Lookup.9 sec + sec rts *-------------------------------------- * ArgV *-------------------------------------- -CORE.ArgV.Add jsr CORE.GetCharNB - bcs CORE.Lookup.9 +CORE.ArgV.Add >LDYA ZPArgVBufPtr + >STYA ZPArgVBufPrev Save String start of Expand + jsr CORE.GetCharNB + bcs .9 + ldx #0 reset "" mode .1 cmp #'"' @@ -257,17 +267,39 @@ CORE.ArgV.Add jsr CORE.GetCharNB .2 cmp #C.SPACE bne .3 txa between "" ? - beq .8 + beq .5 .3 jsr CORE.IsEndCmd - bcc .8 + bcc .5 jsr CORE.ArgV.PutChar .4 jsr CORE.GetNextChar bcc .1 -.8 lda #0 +.5 lda #0 + jsr CORE.ArgV.PutChar + + >LDYA ZPArgVBufPrev + >SYSCALL ExpandStr + bcs .9 + phx + >STYA ZPPtr1 + + >LDYA ZPArgVBufPrev + >STYA ZPArgVBufPtr + + ldy #$ff + +.6 iny + lda (ZPPtr1),y + jsr CORE.ArgV.PutChar + lda (ZPPtr1),y + bne .6 + + pla + >SYSCALL freemem +.9 rts *-------------------------------------- CORE.ArgV.PutChar sta (ZPArgVBufPtr) @@ -405,8 +437,7 @@ CORE.StkPushPtr lda ZPInputCmdPtr jsr CORE.StkPush bcs CORE.StkPullPtr.9 lda ZPInputCmdPtr+1 - bra CORE.StkPush -.9 rts + bra CORE.StkPush *-------------------------------------- CORE.StkPullPtr jsr CORE.StkPull bcs CORE.StkPullPtr.9 @@ -418,9 +449,9 @@ CORE.StkPullPtr.9 rts *-------------------------------------- CORE.StkGetPtr lda (pData) StackPtr - beq .9 + beq CORE.StkErr dec - beq .9 + beq CORE.StkErr tay @@ -433,7 +464,7 @@ CORE.StkGetPtr lda (pData) StackPtr clc rts -.9 lda #E.SSYN +CORE.StkErr lda #E.STACKERROR sec rts *-------------------------------------- @@ -466,15 +497,11 @@ CORE.StkPull jsr CORE.StkGet .9 rts *-------------------------------------- CORE.StkGet lda (pData) StackPtr - beq .9 + beq CORE.StkErr tay lda (pData),y clc rts - -.9 lda #E.SSYN - sec - rts *-------------------------------------- MAN SAVE USR/SRC/BIN/SH.S.CORE diff --git a/BIN/SH.S.EXP.txt b/BIN/SH.S.EXP.txt index d885fa72..c93264e7 100644 --- a/BIN/SH.S.EXP.txt +++ b/BIN/SH.S.EXP.txt @@ -3,17 +3,14 @@ PREFIX AUTO 4,1 .LIST OFF *-------------------------------------- -EXP.GET >LDYA ZPArgVBufPtr - >STYA ZPPtr1 - - jsr CORE.ArgV.Next +EXP.GET jsr CORE.ArgV.Next bne .1 - >LDYA ZPPtr1 no op, return text value + >LDYA ZPArgVBufPrev no op, return text value clc rts -.1 >LDYA ZPPtr1 +.1 >LDYA ZPArgVBufPrev >SYSCALL AToL bcs .99 @@ -53,7 +50,7 @@ EXP.GET >LDYA ZPArgVBufPtr rts -.9 lda #E.BADEXP +.9 lda #E.ESYN sec rts @@ -82,7 +79,7 @@ EXP.TEST lda (ZPArgVBufPtr) jsr CORE.ArgV.Next beq .9 - + >LDYA L.EXP.OP.UNARY -d -e -f ? jsr CORE.LookupArgVBuf @@ -91,7 +88,6 @@ EXP.TEST lda (ZPArgVBufPtr) txa >STA.G CORE.Operator - jsr CORE.ArgV.Next jsr EXP.TEST.UNARY bcs .9 @@ -104,10 +100,7 @@ EXP.TEST lda (ZPArgVBufPtr) sec .99 rts -.1 >LDYA ZPArgVBufPtr - >STYA ZPPtr1 - - jsr CORE.ArgV.Next +.1 jsr CORE.ArgV.Next beq .9 >LDYA L.EXP.OP.BINARY -eq -ne .... ? diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index 9933e340..f169940c 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -40,8 +40,8 @@ C.ELSE .EQ 50 C.FI .EQ 52 *-------------------------------------- E.CSYN .EQ $C0 -E.SSYN .EQ $C1 -E.ESYN .EQ $C2 +E.ESYN .EQ $C1 +E.STACKERROR .EQ $C2 E.STKOVERFLOW .EQ $C3 E.NOWHILE .EQ $C4 E.NOFOR .EQ $C5 @@ -65,6 +65,7 @@ ZPInputBuf .BS 2 ZPInputBufPtr .BS 2 ZPInputCmdPtr .BS 2 ZPArgVBuf .BS 2 +ZPArgVBufPrev .BS 2 ZPArgVBufPtr .BS 2 ZPVarNamePtr .BS 2 ZS.END .ED @@ -579,18 +580,18 @@ CORE.IO .AZ "&" EXP.BEGIN .AZ "![" .AZ "[" .HS 00 -EXP.OP.UNARY .AZ "-d" - .AZ "-e" - .AZ "-f" +EXP.OP.UNARY .AZ "-D" + .AZ "-E" + .AZ "-F" .HS 00 EXP.OP.BINARY .AZ "=" .AZ "!=" - .AZ "-eq" - .AZ "-ne" - .AZ "-lt" - .AZ "-le" - .AZ "-gt" - .AZ "-ge" + .AZ "-EQ" + .AZ "-NE" + .AZ "-LT" + .AZ "-LE" + .AZ "-GT" + .AZ "-GE" .HS 00 EXP.OP.BINARY.BITS .DA #%000 @@ -629,9 +630,10 @@ bBatchMode .BS 1 bEscMode .BS 1 bPause .BS 1 bExit .BS 1 + bSET.C .BS 1 bSET.X .BS 1 -bECHO.N .BS 1 + bREAD.S .BS 1 Sleep .BS 4 diff --git a/X.ERRORS.S.txt b/X.ERRORS.S.txt index 7514c81d..d5bd3e9f 100644 --- a/X.ERRORS.S.txt +++ b/X.ERRORS.S.txt @@ -34,13 +34,12 @@ ERR.Codes .DA #MLI.E.IO .DA #3 Ctrl-C *-------------------------------------- .DA #E.CSYN - .DA #E.SSYN .DA #E.ESYN + .DA #E.STACKERROR .DA #E.STKOVERFLOW .DA #E.NOWHILE .DA #E.NOFOR .DA #E.NOIF - .DA #E.BADEXP .DA #E.BADFTYPE *-------------------------------------- ERR.Count .EQ *-ERR.Codes @@ -76,13 +75,12 @@ ERR.Messages >PSTR "I/O Error" >PSTR "User Interrupt" *-------------------------------------- >PSTR "Command Syntax Error" - >PSTR "Script Syntax Error" >PSTR "Expression Syntax Error" + >PSTR "Stack Error" >PSTR "Stack Overflow" >PSTR "LOOP Without WHILE" >PSTR "NEXT Without FOR" >PSTR "FI/ELSE Without IF" - >PSTR "Bad Expression" >PSTR "Bad File Type" *-------------------------------------- >PSTR "Unknown Error"