From 9abe9054c39a25e0ed0f84343455e89f96ae9811 Mon Sep 17 00:00:00 2001 From: burniouf Date: Fri, 9 Jul 2021 15:54:42 +0200 Subject: [PATCH] ACOS:BugFix, added GET --- .Floppies/A2OSX.BUILD.po | Bin 33553920 -> 33553920 bytes .Floppies/A2OSX.TEST.po | Bin 819200 -> 819200 bytes BIN/ACOS.S.CODE.txt | 98 ++++--------------------------- BIN/ACOS.S.CORE.txt | 121 +++++++++++++++++++++++++++++---------- BIN/ACOS.S.EXP.txt | 81 +++++++++++--------------- BIN/ACOS.S.KW.txt | 34 ++++++++++- BIN/ACOS.S.RT.txt | 45 +++++++++++---- BIN/ACOS.S.txt | 61 +++++++------------- INC/IO.D2.I.txt | 2 +- 9 files changed, 222 insertions(+), 220 deletions(-) diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index a3b626e2537319a34b2faae84476e53d5bb02eb0..494f157ddada8b0fa8a96be5dc8aaaf9ef0a1970 100644 GIT binary patch delta 26189 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

HAUkem)Moto5r|lq7)})MYFH80?GH-}X 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 Y1K>x%MZiyhp8>xBe$_m#UeY-J4}|mB0{{R3 delta 26072 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 K{-T{Wc>W)$!>oq@ diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index 84c27b522913971f359c10b5a1221e6e123aa134..1fc0cea1b4df00d5ffabea263a509b0ef45b603e 100644 GIT binary patch delta 27674 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 delta 29792 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 qqjxAc=<{T`yt=Hd;g*NW6LK!8#;pR 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 hz;hybm<PUSHB hSTRV - - >LDYA ZPADDR - jsr CODE.PUSHIYA >PUSHW id - - jsr CODE.PUSHWS >PUSHW str - - ldx #SYS.StrVSet - jsr CODE.SYSCALL >SYSCALL StrVSet - - rts -*-------------------------------------- -* ZPADDR=pInt, Int16 on Stack -*-------------------------------------- -CODE.INTSET >LDYA ZPADDR - jsr CODE.LDYAI - - ldx #0 - -.1 lda CCODE.PULLWYA,x - jsr CODE.EmitByte - inx - cpx #CCODE.PULLWYA.LEN - bne .1 - - rts -*-------------------------------------- -CODE.PULLWS ldx #0 - -.1 lda CCODE.PULLWS,x - jsr CODE.EmitByte - inx - cpx #CCODE.PULLWS.LEN - bne .1 - - rts -*-------------------------------------- -CODE.PUSHWS ldx #0 - -.1 lda CCODE.PUSHWS,x - jsr CODE.EmitByte - inx - cpx #CCODE.PUSHWS.LEN - bne .1 - - rts -*-------------------------------------- -CODE.PUSHBI lda #$A9 LDA #imm +CODE.PUSHYXI lda #$A9 LDA #imm jsr CODE.EmitByte txa jsr CODE.EmitByte - - jmp CODE.PUSHA -*-------------------------------------- -CODE.PUSHIYA pha - lda #$A9 LDA #imm - jsr CODE.EmitByte - pla - jsr CODE.EmitByte jsr CODE.PUSHA lda #$A9 LDA #imm jsr CODE.EmitByte tya jsr CODE.EmitByte - jmp CODE.PUSHA +*-------------------------------------- +CODE.PUSHA ldx #0 + +.1 lda CCODE.PUSHA,x + jsr CODE.EmitByte + inx + cpx #CCODE.PUSHA.LEN + bne .1 + + rts *-------------------------------------- CODE.PUSHINT16 ldy #1 @@ -98,31 +47,6 @@ CODE.LDYXI lda #$A0 LDY #imm txa jmp CODE.EmitByte *-------------------------------------- -CODE.LDYAI pha - lda #$A0 LDY #imm - jsr CODE.EmitByte - tya - jsr CODE.EmitByte - - lda #$A9 LDA #imm - jsr CODE.EmitByte - pla - jmp CODE.EmitByte -*-------------------------------------- -CODE.PUSHYA jsr CODE.PUSHA - lda #$98 tya - jsr CODE.EmitByte -*-------------------------------------- -CODE.PUSHA ldx #0 - -.1 lda CCODE.PUSHA,x - jsr CODE.EmitByte - inx - cpx #CCODE.PUSHA.LEN - bne .1 - - rts -*-------------------------------------- CODE.JSRRT lda #$20 JSR jsr CODE.EmitByte lda J.RT,x diff --git a/BIN/ACOS.S.CORE.txt b/BIN/ACOS.S.CORE.txt index b415e41a..01b0f82b 100644 --- a/BIN/ACOS.S.CORE.txt +++ b/BIN/ACOS.S.CORE.txt @@ -181,10 +181,20 @@ CORE.Compile jsr CORE.GetChar tax beq .4 - jsr CODE.STRSET Store String in hSTRV + ldy ZPADDR + ldx ZPADDR+1 + jsr CODE.LDYXI + + ldx #RT.StrSet.ID + jsr CODE.JSRRT Store String in hSTRV bra .8 -.4 jsr CODE.INTSET Store Int16 result in DATASEG +.4 ldy ZPADDR + ldx ZPADDR+1 + jsr CODE.LDYXI + + ldx #RT.IntSet.ID + jsr CODE.JSRRT Store Int16 result in DATASEG *-------------------------------------- .8 jsr CORE.GetCharNB bcs .88 @@ -257,6 +267,8 @@ CORE.FWREF >LDYA L.MSG.FWREF *-------------------------------------- CORE.Run jsr CORE.Cleanup + >PUSHW L.MSG.RUN + lda ZPCodeBufPtr sta ZPPtr1 @@ -270,18 +282,59 @@ CORE.Run jsr CORE.Cleanup lda ZPPtr1 sec sbc ZPCodeBufPtr - sta ZPPtr2 + pha lda ZPPtr1+1 sbc ZPCodeBufPtr+1 - sta ZPPtr2+1 + >PUSHA + pla + >PUSHA Code Size + + lda ZPDataBufPtr + sta ZPPtr1 + + lda ZPDataBufPtr+1 + sta ZPPtr1+1 + + >LDA.G hDataBuf + >SYSCALL GetMemPtr + >STYA ZPDataBufPtr - >PUSHW L.MSG.RUN - >PUSHW ZPPtr2 - >PUSHBI 2 + lda ZPPtr1 + sec + sbc ZPDataBufPtr + pha + eor #$ff + sta ZPPtr2 + + lda ZPPtr1+1 + sbc ZPDataBufPtr+1 + >PUSHA + eor #$ff + sta ZPPtr2+1 + + pla + >PUSHA Data Size + + >PUSHBI 4 >SYSCALL PrintF - jmp (ZPCodeBufPtr) + lda #0 + tay + +.1 inc ZPPtr2 + bne .2 + + inc ZPPtr2+1 + beq .8 + +.2 sta (ZPDataBufPtr),y + iny + bne .1 + inc ZPDataBufPtr+1 + bra .1 + +.8 jmp (ZPCodeBufPtr) *-------------------------------------- CORE.LookupOPS lda (ZPInputBufPtr) jsr CORE.IsOPSChar @@ -373,7 +426,7 @@ CORE.Lookup clc bcc .2 not last char in this keyword jsr .10 next char in text... - bcc .4 valid....failed + bcc .6 valid....failed .3 plp bcc .8 @@ -505,31 +558,13 @@ CORE.CreateOrGetVar beq .1 - lda STRID - sta ZPADDR - - lda STRID+1 - sta ZPADDR+1 - - inc STRID - bne .10 - - inc STRID+1 + jsr CORE.GetStr bra .10 -.1 lda ZPDataBufPtr - sta ZPADDR +.1 jsr CORE.GetWord +.10 >STYA ZPADDR - clc - adc #2 Word - sta ZPDataBufPtr - - lda ZPDataBufPtr+1 - sta ZPADDR+1 - adc #0 - sta ZPDataBufPtr+1 - -.10 >PUSHB.G hVars + >PUSHB.G hVars >PUSHW ZPSID >PUSHWI ZPADDR >PUSHWI 3 3 bytes : ADDR + TYPE @@ -608,6 +643,30 @@ CORE.GetVarType jsr CORE.GetChar rts *-------------------------------------- +CORE.GetWord lda ZPDataBufPtr + tay + clc + adc #2 Word + sta ZPDataBufPtr + + lda ZPDataBufPtr+1 + bcc .8 + + inc ZPDataBufPtr+1 + + clc + +.8 rts +*-------------------------------------- +CORE.GetStr >LDYA STRID + inc STRID + bne .8 + + inc STRID+1 + +.8 clc + rts +*-------------------------------------- CORE.ToUpperCase cmp #'a' bcc .8 diff --git a/BIN/ACOS.S.EXP.txt b/BIN/ACOS.S.EXP.txt index 1fafdab8..43916054 100644 --- a/BIN/ACOS.S.EXP.txt +++ b/BIN/ACOS.S.EXP.txt @@ -62,21 +62,19 @@ EXP.Eval.R lda EXP.AOPS .21 jsr EXP.VARLookup bcs .37 -.22 ldy EXP.ADDR + ldy EXP.ADDR ldx EXP.ADDR+1 jsr CODE.LDYXI ldx EXP.TYPE - bne .23 + bne .22 ldx #RT.IntGet.ID - jsr CODE.JSRRT - - bra .40 - -.23 ldx #RT.StrGet.ID - jsr CODE.JSRRT + bra .23 + +.22 ldx #RT.StrGet.ID +.23 jsr CODE.JSRRT bra .40 *-------------------------------------- .30 jsr CORE.IsDigit10 @@ -108,8 +106,8 @@ EXP.Eval.R lda EXP.AOPS inc pStack prev op has precedence tay - ldx ACOS.OPS2FPU,y - jsr CODE.FPUCALL go compute (arg1 op1 arg2) + jsr EXP.ComputeY go compute (arg1 op1 arg2) + bcs .90 .60 lda EXP.AOPS we must compute arg2 op2 arg3 before >PUSHA @@ -122,9 +120,8 @@ EXP.Eval.R lda EXP.AOPS tay bmi .88 nothing to do - ldx ACOS.OPS2FPU,y - jsr CODE.FPUCALL - bra .80 + jsr EXP.ComputeY go compute (arg1 op1 arg2) + bcc .80 .90 lda #E.ESYN @@ -167,8 +164,9 @@ EXP.CreateStrConst sta (ZPConstBufPtr),y phy - >LDYA ZPConstBufPtr - jsr CODE.PUSHIYA + ldy ZPConstBufPtr + ldx ZPConstBufPtr+1 + jsr CODE.PUSHYXI pla sec for \0 @@ -234,50 +232,39 @@ EXP.VARLookup >LDA.G hVars .99 rts *-------------------------------------- .3 jsr CORE.NewVarKey - bcs .39 + bcs .9 - phy - pha KeyID + >PUSHYA SID jsr CORE.GetVarType stx EXP.TYPE - beq .11 + beq .4 - lda STRID - sta EXP.ADDR + jsr CORE.GetStr + bra .5 - lda STRID+1 - sta EXP.ADDR+1 +.4 jsr CORE.GetWord +.5 >STYA EXP.ADDR - inc STRID - bne .10 - - inc STRID+1 - bra .10 - -.11 lda ZPDataBufPtr - sta EXP.ADDR - - clc - adc #2 Word - sta ZPDataBufPtr - - lda ZPDataBufPtr+1 - sta EXP.ADDR+1 - adc #0 - sta ZPDataBufPtr+1 - -.10 pla - >PUSHA - pla - >PUSHA >PUSHWI EXP.ADDR >PUSHWI 3 3 bytes : ADDR + TYPE >SYSCALL SListAddData - rts -.39 inc pStack + rts + +.9 inc pStack discard extra hVars + rts +*-------------------------------------- +EXP.ComputeY lda EXP.TYPE + bne .1 + + ldx ACOS.OPS2FPU,y + jsr CODE.FPUCALL + clc + rts + +.1 sec rts *-------------------------------------- MAN diff --git a/BIN/ACOS.S.KW.txt b/BIN/ACOS.S.KW.txt index 5e49bc0a..ce3f6ed9 100644 --- a/BIN/ACOS.S.KW.txt +++ b/BIN/ACOS.S.KW.txt @@ -21,11 +21,34 @@ KW.FILL KW.FLAG KW.FOR KW.FREE -KW.GET lda #E.CSYN sec rts *-------------------------------------- +KW.GET jsr CORE.GetNextCharNB + bcs .9 + + jsr CORE.CreateOrGetVar + bcs .99 + + ldx #RT.GET.ID + jsr CODE.JSRRT + + ldy ZPADDR + ldx ZPADDR+1 + jsr CODE.LDYXI + + ldx #RT.StrSet.ID + jsr CODE.JSRRT + + clc + rts + +.9 lda #E.CSYN + sec + +.99 rts +*-------------------------------------- KW.GOSUB lda #$20 JSR abs bra KW.GOTO1 *-------------------------------------- @@ -191,7 +214,12 @@ KW.INPUT jsr CORE.GetNextCharNB ldx #RT.INPUT.ID jsr CODE.JSRRT - jsr CODE.STRSET + ldy ZPADDR + ldx ZPADDR+1 + jsr CODE.LDYXI + + ldx #RT.StrSet.ID + jsr CODE.JSRRT clc rts @@ -212,7 +240,7 @@ KW.NEXT KW.NIBBLE KW.NOT KW.ON -KW.NOCAR +KW.NOCAR >DEBUG lda #E.CSYN sec rts diff --git a/BIN/ACOS.S.RT.txt b/BIN/ACOS.S.RT.txt index 4626fb5e..a3f35573 100644 --- a/BIN/ACOS.S.RT.txt +++ b/BIN/ACOS.S.RT.txt @@ -3,16 +3,25 @@ NEW .LIST OFF *-------------------------------------- RT.StrSet >PUSHB hStrings + txa + >PUSHA + tya + >PUSHA -* >PUSHW id - -* >PUSHW str - + ldy #4 + lda (pStack),y + >PUSHA + lda (pStack),y + >PUSHA >SYSCALL StrVSet - + inc pStack + inc pStack rts *-------------------------------------- -RT.StrGet >PUSHB hStrings +RT.StrGet lda #0 + sta (ZPStrBuf) + + >PUSHB hStrings txa >PUSHA tya @@ -35,7 +44,15 @@ RT.StrOut ldy #S.PS.hStdOut inc pStack rts *-------------------------------------- -RT.IntSet +RT.IntSet sty ZPADDR + stx ZPADDR+1 + + >PULLA + sta (ZPADDR) + >PULLA + ldy #1 + sta (ZPADDR),y + rts *-------------------------------------- RT.IntGet sty ZPADDR stx ZPADDR+1 @@ -75,13 +92,19 @@ RT.TIMEd.1 >PUSHW ZPStrBuf >PUSHW ZPStrBuf rts *-------------------------------------- +RT.GET >SYSCALL GetChar + sta (ZPStrBuf) + + ldy #1 + bra RT.INPUT.8 +*-------------------------------------- RT.INPUT lda #0 sta (ZPStrBuf) stz ZPPtr1 .1 >SYSCALL GetChar - bcs .9 + bcs RT.INPUT.9 ldy ZPPtr1 @@ -89,7 +112,7 @@ RT.INPUT lda #0 bcs .7 cmp #C.CR - beq .8 + beq RT.INPUT.8 cmp #C.BS bne .1 @@ -110,13 +133,13 @@ RT.INPUT lda #0 inc ZPPtr1 bne .1 -.8 lda #0 +RT.INPUT.8 lda #0 sta (ZPStrBuf),y >PUSHW ZPStrBuf clc -.9 rts +RT.INPUT.9 rts *-------------------------------------- RT.LEFTd >PULLW ZPPtr2 cnt lda (pStack) diff --git a/BIN/ACOS.S.txt b/BIN/ACOS.S.txt index 445444af..886a4cc9 100644 --- a/BIN/ACOS.S.txt +++ b/BIN/ACOS.S.txt @@ -175,6 +175,8 @@ J.ACOS.FN .DA FN.BYTE .DA FN.WIDTH *-------------------------------------- J.RT +RT.GET.ID .EQ *-J.RT + .DA RT.GET RT.INPUT.ID .EQ *-J.RT .DA RT.INPUT *-------------------------------------- @@ -223,11 +225,6 @@ CS.RUN >PUSHW L.MSG.GREETINGS jsr CS.RUN.ARGS bcs CS.INIT.RTS - >LDYAI 256 - >SYSCALL GetMem - bcs CS.INIT.RTS - >STYA.G InputBufPtr - jsr CORE.Init bcs CS.INIT.RTS @@ -347,6 +344,14 @@ CS.RUN.FOpen >PUSHYA >STA.G hFile + >LDYAI 256 + >SYSCALL GetMem + bcs .9 + + >STYA.G InputBufPtr + txa + >STA.G hInputBuf + .9 rts *-------------------------------------- CS.RUN.FGetS >LDYA.G InputBufPtr @@ -367,13 +372,19 @@ CS.DOEVENT sec CS.QUIT jsr CORE.Quit CS.FClose >LDA.G hFile - beq .8 + beq .1 >SYSCALL FClose - >STZ.G hFile -.8 clc +.1 >LDA.G hInputBuf + beq .8 + + >SYSCALL FreeMem + >STZ.G hInputBuf + +.8 +* clc rts *-------------------------------------- PrintDebugMsg >LDYA pStack @@ -450,40 +461,9 @@ CS.END *-------------------------------------- * Pre-compiled code *-------------------------------------- -CCODE.PULLWS >PULLA - pha - >PULLA - pha -CCODE.PULLWS.LEN .EQ *-CCODE.PULLWS -*-------------------------------------- -CCODE.PUSHWS pla - >PUSHA - pla - >PUSHA -CCODE.PUSHWS.LEN .EQ *-CCODE.PUSHWS -*-------------------------------------- -CCODE.PUSHWYA >STYA ZPADDR - ldy #1 - lda (ZPADDR),y - >PUSHA - lda (ZPADDR) - >PUSHA -CCODE.PUSHWYA.LEN .EQ *-CCODE.PUSHWYA -*-------------------------------------- -CCODE.PULLWYA >STYA ZPADDR - >PULLA - sta (ZPADDR) - >PULLA - ldy #1 - sta (ZPADDR),y -CCODE.PULLWYA.LEN .EQ *-CCODE.PULLWYA -*-------------------------------------- CCODE.PUSHA >PUSHA CCODE.PUSHA.LEN .EQ *-CCODE.PUSHA *-------------------------------------- -CCODE.PULLA >PULLA -CCODE.PULLA.LEN .EQ *-CCODE.PULLA -*-------------------------------------- CCODE.TESTTRUE lda (pStack) inc pStack ora (pStack) @@ -507,7 +487,7 @@ MSG.TRACE .AZ "%05D>%s\r\n" MSG.ERROR .AZ " %s^\r\n" MSG.FWREF .AZ "***Resolving FWRefs..." MSG.FWREFERR .AZ "***Unresolved FWRef : %s\r\n" -MSG.RUN .AZ "***Code size: %D, Running...\r\n" +MSG.RUN .AZ "***Code size: %D, Data Size: %D, Running...\r\n" MSG.STR .AZ "%s" MSG.INT16 .AZ "%I" *-------------------------------------- @@ -636,6 +616,7 @@ bDebug .BS 1 bTrace .BS 1 LineCounter .BS 2 hFile .BS 1 +hInputBuf .BS 1 InputBufPtr .BS 2 hCodeBuf .BS 1 hConstBuf .BS 1 diff --git a/INC/IO.D2.I.txt b/INC/IO.D2.I.txt index 5d8399fe..a051d7ca 100644 --- a/INC/IO.D2.I.txt +++ b/INC/IO.D2.I.txt @@ -4,7 +4,7 @@ NEW IO.D2.SeekTimeR .EQ 45 LIBBLKDEV Recalibration IO.D2.SeekTimeF .EQ 55 LIBBLKDEV Track Formatter IO.D2.SeekTimeB .EQ 55 LIBBLKDEV Boot Block -IO.D2.SeekTimeP .EQ 40 ProDOS.FX initial +IO.D2.SeekTimeP .EQ 45 ProDOS.FX initial IO.D2.SeekTimeI .EQ 10 ProDOS.FX increment -> until > 128 *-------------------------------------- IO.D2.Ph0Off .EQ $C080