From dddaf0ff4be5c12fb84445d7646d22bc8f3eb56c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Tue, 5 Mar 2019 16:49:34 +0000 Subject: [PATCH] Kernel 0.92+ --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes A2osxLogo.bmp | Bin 0 -> 9654 bytes BIN/SH.S.CMD.txt | 178 ++++++++++++++++++++++++++++++++++++--- BIN/SH.S.CORE.txt | 36 ++++---- BIN/SH.S.IO.txt | 2 +- BIN/SH.S.txt | 12 +++ 6 files changed, 197 insertions(+), 31 deletions(-) create mode 100644 A2osxLogo.bmp diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 718dccbbed6fb88d6603dc25ef3750ee8f714c0a..9ad43e407710797ac911c55fd66c38e9ff3148f1 100644 GIT binary patch delta 21182 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 Qekb@t^%Sh1>W`oQ4~|ZMzW@LL diff --git a/A2osxLogo.bmp b/A2osxLogo.bmp new file mode 100644 index 0000000000000000000000000000000000000000..3c4daa21fc41e12189350d98d82414620ccbff0a GIT binary patch literal 9654 zcmeH~&r4KM6vyo!kd_ibn?WXT&VjVFMbyalQuQzdLT#+L5 zRCn8_S>=k?yTCQQHf}Ae-xMlX40zP{GuXKlm0y?@PPqb{1+A(n9!zLHP5lyRU7hQR z`;Aq0^qVLlS~LRjjNTftU`g!Id*pur)3XN_wi#c++B zX*tluENu{g$-Z!I(IOQYy}T$1+*|t`><+mke5UV^NlzvNt#-6T4V>b2Qe7d_zD_2J z%w1Hg#d|MI%%E~Osi$$tqE1thqJeAcR~i(MExCP{URayxa^2VoAS<)_l35QSK-R>LGLLYg zZ3^J(v%YQ#_*_+k;2bb=Xv@|cvh*m3wv(5-wq^p&;$-uY!Id+E z7{TN-%7090vRBSp+N_}4LKD2s*tK}e(v2tUAqSbWv6d}@WU?qZdgb6yU$K=7WGQET ziomo5vNLn{#FHuQP;cMOO_sxz#j6Jlj?L)xHV6M?uQDsS?Kq(w?cYGBB}~Bz>0BM& zop*D)mBX{*wFeB2&FHuKW5Iq6XY!{0NW>V(fVDXczc5bY+V+)o21zuc{}|l%Z|EKR X2>1y22>1y22>1y22>1y6-x2r&>H3Ol literal 0 HcmV?d00001 diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index 7868c9a4..4cc61b0b 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -540,9 +540,170 @@ CMD.BREAK CMD.CONTINUE .9 jmp CMD.Exec.CSYN *-------------------------------------- -CMD.FOR +CMD.FOR lda (ZPArgVBufPtr) + beq .9 + + >LDYA ZPArgVBufPtr + >STYA ZPVarNamePtr + + jsr CORE.ArgV.Next + beq .9 + + jsr ToUpperCase + cmp #'I' + bne .9 + + ldy #1 + lda (ZPArgVBufPtr),y + beq .9 + + jsr ToUpperCase + cmp #'N' + bne .9 + + iny + lda (ZPArgVBufPtr),y + bne .9 + + jsr CORE.ArgV.Next + beq .9 + + cmp #'`' + beq FOR.EXEC + + sec + jsr CORE.StkPushPtr Push CmdPtr AFTER FOR + bcs .99 + + >LDYA ZPArgVBufPtr + >SYSCALL strdup + bcs .99 + phy + jsr CORE.StkPush + ply + bcs .99 + tya + jsr CORE.StkPush Push ListPtr + bcs .99 + + txa + jsr CORE.StkPush Push hLIST + bcs .99 + + lda ZPVarNamePtr + jsr CORE.StkPush + bcs .99 + + lda ZPVarNamePtr+1 Push VARNAME + jsr CORE.StkPush + bcs .99 + + lda #C.FORLIST + jsr CORE.StkPush + bcs .99 + + >LDA.G CORE.Test + ora #C.FOR Push FOR + jsr CORE.StkPush + bcs .99 + + jmp CMD.NEXT + + + clc +.99 rts .9 jmp CMD.Exec.CSYN *-------------------------------------- +FOR.EXEC +* lda #$ff +* >STA.G bReadMode + clc + rts +*-------------------------------------- +* stack+7 CmdPtr +* stack+5 ListPtr +* stack+4 hLIST +* stack+2 VARNAME +* stack+1 FOR SUB TOKEN +* stack FOR TOKEN +*-------------------------------------- +CMD.NEXT jsr CORE.StkGet Y = StkPtr + bcs .9 + tax + and #$3F + cmp #C.FOR + bne .9 + + dey + lda (pData),y + sta ZPVarNamePtr+1 + + dey + lda (pData),y + sta ZPVarNamePtr + + dey skip hLIST + + dey + lda (pData),y + sta ZPPtr1 get ListPtr + + dey + lda (pData),y + sta ZPPtr1+1 + + ldy #$ff + +.1 iny + lda (ZPPtr1) + beq .8 + + inc ZPPtr1 + bne .2 + inc ZPPtr1+1 + +.2 cmp #C.SPACE + beq .3 + + sta (ZPCLBuf),y + bra .1 + +.3 lda #0 + sta (ZPCLBuf),y + + tya + beq .8 + + lda (pData) + sec + sbc #5 + tay + lda ZPPtr1 + sta (pData),y + iny + lda ZPPtr1+1 + sta (pData),y + iny + lda (pData),y + sta ZPInputBufPtr + iny + lda (pData),y + sta ZPInputBufPtr+1 + clc + rts + +.8 lda (pData) + + sec + sbc #9 + sta (pData) + clc + rts + +.9 lda #E.NOFOR + sec +.99 rts +*-------------------------------------- CMD.WHILE CMD.IF jsr CORE.StkGet bcs .1 no context... @@ -565,7 +726,8 @@ CMD.IF jsr CORE.StkGet cmp #C.WHILE bne .8 - jsr CORE.StkPushPtr + clc + jsr CORE.StkPushPtr Push BEFORE WHILE/IF bcs .9 .8 >LDA.G CORE.Test @@ -575,9 +737,6 @@ CMD.IF jsr CORE.StkGet clc .9 rts *-------------------------------------- -CMD.NEXT -.9 jmp CMD.Exec.CSYN -*-------------------------------------- CMD.LOOP jsr CORE.StkPull bcs .9 tax @@ -652,14 +811,7 @@ CMD.IsSwitch lda (ZPArgVBufPtr) bne .9 txa - cmp #'a' - bcc .8 - cmp #'z'+1 - bcs .8 - eor #$20 - -.8 clc - rts + jmp ToUpperCase .9 sec rts diff --git a/BIN/SH.S.CORE.txt b/BIN/SH.S.CORE.txt index e4b27693..dd354891 100644 --- a/BIN/SH.S.CORE.txt +++ b/BIN/SH.S.CORE.txt @@ -41,7 +41,7 @@ CORE.Quit >LDA.G CORE.hArgVBuf * set hStdIn = hStdOut * set hStdOut = Std *-------------------------------------- -CORE.Run.CSYN lda #E.CSYN +CORE.Run.CSYN lda #E.SYN sec rts @@ -116,7 +116,7 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping sta (pData),y jsr CORE.GetNextCharNB skip ". " - bcs CORE.Run.RTS nothing to execute... + bcs .99 nothing to execute... .4 >LDYA L.CMD internal command ? jsr CORE.LookupInputBuf @@ -129,9 +129,7 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping txa >STA.G CORE.IntCmd - cmp #C.EXIT - bne .42 - + .42 jsr CORE.StkGet bcs .7 no particular context, exec... tax @@ -164,7 +162,7 @@ CORE.Run >LDYA ZPInputBufPtr Save Actual cmd for looping .44 jsr CORE.GetNextCharNB Skip EoL char clc - rts +.99 rts .5 >LDYA L.CORE.IO jsr CORE.LookupInputBuf @@ -269,13 +267,10 @@ CORE.Lookup >STYA ZPPtr2 lda (ZPPtr1),y beq .4 Table Keyword end lda (ZPPtr2),y - cmp #'a' - bcc .21 - cmp #'z'+1 - bcs .21 - eor #$20 + + jsr ToUpperCase -.21 cmp (ZPPtr1),y + cmp (ZPPtr1),y beq .2 bra .4 @@ -305,7 +300,7 @@ CORE.Lookup >STYA ZPPtr2 lda (ZPPtr1) Array Ending 0, must be an external Cmd.... bne .1 - lda #E.CSYN + lda #E.SYN sec rts *-------------------------------------- @@ -452,7 +447,7 @@ CORE.IO.Open pha Open Mode rts .9 pla - lda #E.CSYN + lda #E.SYN sec rts *-------------------------------------- @@ -519,10 +514,17 @@ CORE.SkipCharsA clc *-------------------------------------- * Stack *-------------------------------------- -CORE.StkPushPtr lda ZPInputCmdPtr - jsr CORE.StkPush +CORE.StkPushPtr bcs .1 + lda ZPInputCmdPtr + ldx ZPInputCmdPtr+1 + bra .2 + +.1 lda ZPInputBufPtr + ldx ZPInputBufPtr+1 + +.2 jsr CORE.StkPush bcs CORE.StkPullPtr.9 - lda ZPInputCmdPtr+1 + txa bra CORE.StkPush *-------------------------------------- CORE.StkPullPtr jsr CORE.StkPull diff --git a/BIN/SH.S.IO.txt b/BIN/SH.S.IO.txt index 3da00cf2..6b0d8469 100644 --- a/BIN/SH.S.IO.txt +++ b/BIN/SH.S.IO.txt @@ -140,7 +140,7 @@ IO.PrintBatchErrMsg ldy #S.PS.RC lda (pPs),y - cmp #E.CSYN + cmp #E.SYN beq .10 >LDYA ZPInputCmdPtr diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index bd9febc2..eb971752 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -32,6 +32,9 @@ C.BREAK .EQ 36 C.CONTINUE .EQ 38 *-------------------------------------- C.FOR .EQ 40 +C.FORLIST .EQ 0 +C.FORFILE .EQ 2 +C.FOREXEC .EQ 4 C.WHILE .EQ 42 C.IF .EQ 44 C.NEXT .EQ 46 @@ -528,6 +531,15 @@ RemoveStrFromArgV bra .2 .8 rts +*-------------------------------------- +ToUpperCase cmp #'a' + bcc .8 + cmp #'z'+1 + bcs .8 + eor #$20 + +.8 clc exit CC to allow Jmp to + rts *-------------------------------------- .INB USR/SRC/BIN/SH.S.CL .INB USR/SRC/BIN/SH.S.HIS