diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 494f157d..6b8c1884 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/ACOS.S.CORE.txt b/BIN/ACOS.S.CORE.txt index 01b0f82b..034f5061 100644 --- a/BIN/ACOS.S.CORE.txt +++ b/BIN/ACOS.S.CORE.txt @@ -365,7 +365,7 @@ CORE.LookupOPS lda (ZPInputBufPtr) bcc .2 not last char in this keyword jsr .10 next char in text... - bcc .4 valid....failed + bcc .6 valid....failed .3 tya Keyword Len diff --git a/BIN/ACOS.S.EXP.txt b/BIN/ACOS.S.EXP.txt index 43916054..54025dad 100644 --- a/BIN/ACOS.S.EXP.txt +++ b/BIN/ACOS.S.EXP.txt @@ -257,6 +257,7 @@ EXP.VARLookup >LDA.G hVars rts *-------------------------------------- EXP.ComputeY lda EXP.TYPE + bne .1 ldx ACOS.OPS2FPU,y @@ -264,7 +265,33 @@ EXP.ComputeY lda EXP.TYPE clc rts -.1 sec +.1 stz EXP.TYPE at the end ....TRUE/FALSE is int + + cpy #3 + + bne .2 + + ldx #SYS.StrCat + clc + jmp CODE.SYSCALL + +.2 cpy #11 <> + bne .3 + + ldx #SYS.StrCmp + clc + jmp CODE.SYSCALL + +.3 cpy #13 = + bne .9 + + ldx #SYS.StrCmp + jsr CODE.SYSCALL + + ldx #RT.NOT.ID + clc + jmp CODE.JSRRT + +.9 sec rts *-------------------------------------- MAN diff --git a/BIN/ACOS.S.FN.txt b/BIN/ACOS.S.FN.txt index beb5e419..a0199b66 100644 --- a/BIN/ACOS.S.FN.txt +++ b/BIN/ACOS.S.FN.txt @@ -80,13 +80,11 @@ FN.LEN jsr CORE.CheckOP jsr CORE.CheckCP bcs .99 - ldx #RT.LEN.ID - jsr CODE.JSRRT - stz EXP.TYPE + ldx #RT.LEN.ID clc - rts + jmp CODE.JSRRT .90 lda #E.TMISMATCH sec @@ -114,14 +112,12 @@ FN.STRd jsr CORE.CheckOP jsr CORE.CheckCP bcs .99 - ldx #RT.STRd.ID - jsr CODE.JSRRT - lda #'$' sta EXP.TYPE + ldx #RT.STRd.ID clc - rts + jmp CODE.JSRRT .90 lda #E.TMISMATCH sec @@ -139,13 +135,11 @@ FN.VAL jsr CORE.CheckOP jsr CORE.CheckCP bcs .99 - ldx #RT.VAL.ID - jsr CODE.JSRRT - stz EXP.TYPE - clc - rts + ldx #RT.VAL.ID +* clc + jmp CODE.JSRRT .90 lda #E.TMISMATCH sec diff --git a/BIN/ACOS.S.KW.txt b/BIN/ACOS.S.KW.txt index ce3f6ed9..9259920c 100644 --- a/BIN/ACOS.S.KW.txt +++ b/BIN/ACOS.S.KW.txt @@ -39,10 +39,8 @@ KW.GET jsr CORE.GetNextCharNB jsr CODE.LDYXI ldx #RT.StrSet.ID - jsr CODE.JSRRT - clc - rts + jmp CODE.JSRRT .9 lda #E.CSYN sec @@ -219,10 +217,8 @@ KW.INPUT jsr CORE.GetNextCharNB jsr CODE.LDYXI ldx #RT.StrSet.ID - jsr CODE.JSRRT - clc - rts + jmp CODE.JSRRT .9 lda #E.CSYN sec diff --git a/BIN/ACOS.S.RT.txt b/BIN/ACOS.S.RT.txt index a3f35573..4eff8652 100644 --- a/BIN/ACOS.S.RT.txt +++ b/BIN/ACOS.S.RT.txt @@ -2,6 +2,18 @@ NEW AUTO 3,1 .LIST OFF *-------------------------------------- +RT.NOT lda (pStack) + inc + ora (pStack) + beq .1 + + lda #1 + +.1 dec + sta (pStack) + >PUSHA + rts +*-------------------------------------- RT.StrSet >PUSHB hStrings txa >PUSHA diff --git a/BIN/ACOS.S.txt b/BIN/ACOS.S.txt index 886a4cc9..44630699 100644 --- a/BIN/ACOS.S.txt +++ b/BIN/ACOS.S.txt @@ -193,6 +193,8 @@ RT.TIMEd.ID .EQ *-J.RT RT.VAL.ID .EQ *-J.RT .DA RT.VAL *-------------------------------------- +RT.NOT.ID .EQ *-J.RT + .DA RT.NOT RT.StrSet.ID .EQ *-J.RT .DA RT.StrSet RT.StrGet.ID .EQ *-J.RT @@ -514,7 +516,6 @@ ACOS.OPS .AT "*" .AT "<>" .AT "><" .AT "=" -* .AT "NOT" .AT "AND" .AT "OR" .HS 00