diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 1cc8e7ed..dcec1305 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/SH.S.CMD.txt b/BIN/SH.S.CMD.txt index c214ad75..7acb2203 100644 --- a/BIN/SH.S.CMD.txt +++ b/BIN/SH.S.CMD.txt @@ -575,7 +575,7 @@ CMD.. lda (ZPArgVBufPtr) jsr IO.Load bcs CMD.CALL.RTS >LDYA ZPArgVBufPtr - jmp CMD.CALL exec cmd file and continue + jmp CMD.CALL.YAX exec cmd file and continue .9 jmp CMD.Exec.CSYN *-------------------------------------- @@ -661,6 +661,19 @@ CMD.EXIT lda (ZPArgVBufPtr) inc pStack inc pStack inc pStack + + jsr CMD.EXIT.A + bcs .9 + + lda (pData) + bne .8 + + lda #$ff + >STA.G bExitOnEOF + +.8 lda M32.ACC + clc +.9 rts CMD.EXIT.A sta M32.ACC diff --git a/BIN/SH.S.txt b/BIN/SH.S.txt index bada36aa..eb4c4c49 100644 --- a/BIN/SH.S.txt +++ b/BIN/SH.S.txt @@ -305,6 +305,7 @@ CS.RUN.LOOP >SLEEP .62 lda (pData) batch mode ? beq CS.RUN.INTERACTIVE + jmp CS.RUN.BATCH .7 jmp CS.RUN.READ @@ -313,8 +314,10 @@ CS.RUN.LOOP >SLEEP .9 rts *-------------------------------------- CS.RUN.INTERACTIVE - lda (pData) some commmands left in buffer - bne .6 + >LDA.G bExitOnEOF + beq .10 + + jmp CS.RUN.LOOP.EXIT .10 jsr IO.Reset jsr CL.Reset @@ -446,47 +449,42 @@ CS.RUN.BATCH >LDA.G bSET.C tay 0 = EOF bne CS.RUN.LOOP.END - - pha - jsr CMD.EXIT.A - lda (pData) - bne .6 - >LDA.G bExitOnEOF - >STA.G bExit -.6 pla + lda #0 sec CS.RUN.LOOP.END ldy #S.PS.RC sta (pPs),y - bcc CS.RUN.LOOP.8 + bcc CS.RUN.LOOP.80 tay - beq CS.RUN.LOOP.8 - lda (pData) batch mode ? - beq .1 - + beq CS.RUN.LOOP.80 + >LDA.G bSET.E - bmi CS.RUN.LOOP.8 + bmi CS.RUN.LOOP.80 jsr IO.PrintBatchErrMsg bcs CS.RUN.LOOP.RTS -.1 ldy #S.PS.RC + ldy #S.PS.RC lda (pPs),y jsr IO.PrintErrMsg bcs CS.RUN.LOOP.RTS + +CS.RUN.LOOP.80 lda (pData) + bne .8 -CS.RUN.LOOP.8 >LDA.G bExit - beq CS.RUN.LOOP.80 + >LDA.G bExitOnEOF + bmi CS.RUN.LOOP.EXIT + +.8 jmp CS.RUN.LOOP +CS.RUN.LOOP.EXIT ldy #S.PS.RC lda (pPs),y sec CS.RUN.LOOP.RTS rts - -CS.RUN.LOOP.80 jmp CS.RUN.LOOP *-------------------------------------- CS.DOEVENT lda (pEvent) bpl .9 @@ -715,7 +713,6 @@ bExitOnEOF .BS 1 bEscMode .BS 1 bPause .BS 1 -bExit .BS 1 bSET.C .BS 1 bSET.E .BS 1