diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index 1e0a0b29..c6561831 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/BIN/ASM.S.DIR.txt b/BIN/ASM.S.DIR.txt index 563bde69..a851d848 100644 --- a/BIN/ASM.S.DIR.txt +++ b/BIN/ASM.S.DIR.txt @@ -516,7 +516,7 @@ DIR.MA >LDA.G ASM.MA.ON >LDA.G MAC.hMacroList >SYSCALL SListNewKey bcs .99 - >STYA MAC.MacroID + >STYA.G MAC.MacroID .8 lda #$ff >STA.G ASM.MA.ON diff --git a/BIN/ASM.S.MAC.txt b/BIN/ASM.S.MAC.txt index c11ce8c0..ce74ac39 100644 --- a/BIN/ASM.S.MAC.txt +++ b/BIN/ASM.S.MAC.txt @@ -85,8 +85,7 @@ MAC.AddChar tax .8 clc rts *--------------------------------------- -MAC.Lookup >PUSHW ZPMacroBuf - >PUSHW ZPLinePtr +MAC.Lookup >PUSHW ZPLinePtr >LDA.G MAC.hMacroList >SYSCALL SListLookup bcs .9 @@ -97,8 +96,10 @@ MAC.Lookup >PUSHW ZPMacroBuf inc ZPLinePtr+1 clc -.8 -.9 rts +.8 rts + +.9 >DEBUG + rts *--------------------------------------- MAC.NewOrGetCtx sec rts diff --git a/BIN/ASM.S.OUT.txt b/BIN/ASM.S.OUT.txt index a6648531..659312ac 100644 --- a/BIN/ASM.S.OUT.txt +++ b/BIN/ASM.S.OUT.txt @@ -32,8 +32,8 @@ OUT.Reset ldx #4 rts *--------------------------------------- OUT.PrintLineOn - clc - rts +* clc +* rts >LDA.G ASM.LI.ON bpl .9 @@ -233,8 +233,8 @@ OUT.PrintCR >PUSHBI 0 lda #PAGE.LEN sta (pData),y - lda #$80 - >STA.G bPause +* lda #$80 +* >STA.G bPause .8 rts *--------------------------------------- MAN diff --git a/BIN/ASM.S.SRC.txt b/BIN/ASM.S.SRC.txt index 6dc08141..ac8baaea 100644 --- a/BIN/ASM.S.SRC.txt +++ b/BIN/ASM.S.SRC.txt @@ -202,7 +202,7 @@ SRC.ParseLine.Dir SRC.ParseLine.ExecMacro jsr SRC.GetNextChar skip '>' bcs .90 - + jsr MAC.Lookup bcs .90 @@ -220,7 +220,7 @@ SRC.ParseLine.ExecMacro - >INC.G ASM.MA.StackPtr +* >INC.G ASM.MA.StackPtr clc rts @@ -228,7 +228,7 @@ SRC.ParseLine.ExecMacro sec rts -.91 lda #E.MACRO.INV +.91 lda #E.MACRO.TOO.MANY sec rts *--------------------------------------- @@ -285,7 +285,12 @@ SRC.ParseLine.OpCode inc ZPLinePtr+1 -.5 bra SRC.ParseLine.AM +.5 jsr SRC.GetChar + bcs .8 Nothing after OP ' ' + cmp #C.SPACE OP ' ' ? + beq .8 + + bra SRC.ParseLine.AM .7 lda ZPOpDefPtr clc @@ -311,14 +316,8 @@ SRC.ParseLine.OpCode *--------------------------------------- SRC.ParseLine.AM stz SRC.AM.StrBuf - -.1 jsr SRC.GetChar - bcs .8 - -.10 cmp #' ' another space ? - beq .8 ignore end of line (comment) - - jsr SRC.IsAMReserved + +.1 jsr SRC.IsAMReserved bcs .2 jsr SRC.AddToBuf @@ -343,7 +342,7 @@ SRC.ParseLine.AM dex bne .4 - bra .1 + bra .7 .6 jsr EXP.Eval bcs .99 @@ -352,13 +351,10 @@ SRC.ParseLine.AM beq .75 jsr SRC.AddToBuf -.75 ldx #2 - - lda SRC.ACC.F - bit #SYMG.F.FWREF - bne .72 FWREF ...assume 2 bytes... - - ldx SRC.ACC.SIZE +.75 ldx SRC.ACC.SIZE + bne .73 + + ldx #2 FWREF ...assume 2 bytes... .73 lda SRC.ACC-1,x bne .72 @@ -373,12 +369,19 @@ SRC.ParseLine.AM .71 jsr SRC.AddToBuf dex bne .71 + jsr SRC.GetChar + bcs .8 - bra .1 + cmp #C.SPACE + bne .1 + bra .8 .7 jsr SRC.GetNextChar - bcc .10 - + bcs .8 + + cmp #C.SPACE + bne .1 + .8 jsr SRC.ParseLine.AMCheck bcs .9 jsr SRC.ParseLine.AMCheck4OP diff --git a/BIN/ASM.S.SYM.txt b/BIN/ASM.S.SYM.txt index 337be91c..6ec9f750 100644 --- a/BIN/ASM.S.SYM.txt +++ b/BIN/ASM.S.SYM.txt @@ -177,10 +177,10 @@ SYM.NewGlobal jsr SYM.StoreGlobal lda #$ff >STA.G SYM.bInGlobal - >PUSHW.G SYM.GlobalID - >PUSHBI 2 - >LDYA L.MSG.WORD - >SYSCALL printf +* >PUSHW.G SYM.GlobalID +* >PUSHBI 2 +* >LDYA L.MSG.WORD +* >SYSCALL printf clc rts @@ -285,14 +285,14 @@ SYM.StoreGlobal >LDA.G ASM.PASS bne .1 inc - phy - pha - >PUSHYA - >PUSHBI 2 - >LDYA L.MSG.WORD - >SYSCALL printf - pla - ply +* phy +* pha +* >PUSHYA +* >PUSHBI 2 +* >LDYA L.MSG.WORD +* >SYSCALL printf +* pla +* ply .1 >PUSHYA diff --git a/BIN/ASM.S.txt b/BIN/ASM.S.txt index dbc08b90..952dfe02 100644 --- a/BIN/ASM.S.txt +++ b/BIN/ASM.S.txt @@ -319,7 +319,6 @@ CS.RUN ldy #S.PS.hStdIn >LDA.G SRC.COUNT end of root file ? bne .8 no continue back to previous file - >DEBUG jsr SYM.StoreGlobal Make sure last Global flushed >LDA.G ASM.PASS End of pass #2 ?? diff --git a/SYS/KERNEL.S.INIT.txt b/SYS/KERNEL.S.INIT.txt index 5029d657..b590757f 100644 --- a/SYS/KERNEL.S.INIT.txt +++ b/SYS/KERNEL.S.INIT.txt @@ -36,7 +36,7 @@ Kernel.Init2 sei >STYA A2L Src End Address (MAIN) >LDYAI X.GUIOSD >STYA A4L Dst Address (AUX) - sec Main To Aux + sec Main To Aux jsr AuxMove >LDYAI A2osX.GP diff --git a/SYS/KERNEL.S.SLIST.txt b/SYS/KERNEL.S.SLIST.txt index ee5b7f08..a920112c 100644 --- a/SYS/KERNEL.S.SLIST.txt +++ b/SYS/KERNEL.S.SLIST.txt @@ -302,20 +302,6 @@ SLIST.Free sta .8+1 jmp K.FreeMem *-------------------------------------- * PRIVATE -*-------------------------------------- -SLIST.Select jsr K.GetMemPtr - >STYA ZPSListIBlkPtr - -SLIST.Select.I ldy ZPSListKeyID+1 - sty SLIST.BlockPtr - - lda (ZPSListIBlkPtr),y - jsr K.GetMemPtr - >STYA ZPSListDBlkPtr - - lda ZPSListKeyID - sta SLIST.BytePtr - rts *-------------------------------------- SLIST.Search jsr K.GetMemPtr >STYA ZPSListIBlkPtr @@ -364,8 +350,7 @@ SLIST.Search jsr K.GetMemPtr clc rts -.5 >LDYA ZPSListKeyID - >STYA SLIST.KeyID +.5 jsr SLIST.Select.I move back to ZPSListKeyID jsr SLIST.Next bra .2 @@ -374,6 +359,20 @@ SLIST.Search jsr K.GetMemPtr sec rts *-------------------------------------- +SLIST.Select jsr K.GetMemPtr + >STYA ZPSListIBlkPtr + +SLIST.Select.I ldy ZPSListKeyID+1 + sty SLIST.BlockPtr + + lda (ZPSListIBlkPtr),y + jsr K.GetMemPtr + >STYA ZPSListDBlkPtr + + lda ZPSListKeyID + sta SLIST.BytePtr + rts +*-------------------------------------- SLIST.Next jsr SLIST.SkipKey SLIST.SkipData jsr SLIST.GetDataLen