NEW AUTO 3,1 *-------------------------------------- MEM.GetKeyCharY sta CLRREADAUX lda (ZPSListDataPtr),y sta SETREADAUX beq MEM.IsDigit.9 MEM.IsIDValid cmp #'.' beq MEM.IsDigit.8 cmp #'_' beq MEM.IsDigit.8 MEM.IsDigitOrL cmp #'z'+1 bcs MEM.IsDigit.RTS cmp #'a' bcs MEM.IsDigit.8 MEM.IsDigitOrUC cmp #'Z'+1 bcs MEM.IsDigit.RTS cmp #'A' bcs MEM.IsDigit.8 jmp IsDigit MEM.IsDigit.9 sec rts MEM.IsDigit.8 clc MEM.IsDigit.RTS rts *-------------------------------------- MEM.IsHexDigit jsr IsDigit bcc .8 cmp #'A' bcc MEM.IsDigit.9 cmp #'F'+1 bcc .1 cmp #'a' bcc MEM.IsDigit.9 cmp #'f'+1 bcs MEM.IsDigit.RTS eor #$20 .1 * clc sbc #'A'-11 cc so A->10 (11-CC) clc .8 and #$0F rts *-------------------------------------- MEM.SetKeyCharY sta CLRWRITEAUX sta (ZPSListDataPtr),y sta SETWRITEAUX rts *-------------------------------------- MEM.GetDataByte sta CLRREADAUX lda (ZPSListDataPtr) sta SETREADAUX bra MEM.SetDataByte.1 *-------------------------------------- MEM.SetDataByte sta CLRWRITEAUX sta (ZPSListDataPtr) sta SETWRITEAUX MEM.SetDataByte.1 inc ZPSListDataPtr bne .8 inc ZPSListDataPtr+1 .8 rts *-------------------------------------- MEM.TXTPTR.GetY sta CLRREADAUX lda (TXTPTR),y sta SETREADAUX rts *-------------------------------------- MEM.TXTPTR.GetNext sta CLRREADAUX lda (TXTPTR) sta SETREADAUX beq .9 inc TXTPTR bne .9 inc TXTPTR+1 .9 rts *-------------------------------------- MEM.SPtr1PPtr2 >STYA ZPPtr1 >PULLW ZPPtr2 rts *-------------------------------------- MEM.SPtr2PPtr1 >STYA ZPPtr2 >PULLW ZPPtr1 rts *-------------------------------------- MEM.GetCharPtr1 lda (ZPPtr1) bne MEM.NextCharPtr1 rts MEM.PutCharPtr1 sta (ZPPtr1) MEM.NextCharPtr1 inc ZPPtr1 bne .8 inc ZPPtr1+1 never Z .8 rts *-------------------------------------- MEM.AddYp1ToPtr1 sec .HS 90 BCC MEM.AddYToPtr1 clc tya adc ZPPtr1 sta ZPPtr1 bcc .8 inc ZPPtr1+1 .8 rts *-------------------------------------- MEM.AddYp1ToPtr2 sec .HS 90 BCC MEM.AddYToPtr2 clc tya adc ZPPtr2 sta ZPPtr2 bcc .8 clc keep CC as some JMP exit here inc ZPPtr2+1 .8 rts *-------------------------------------- MEM.GetCharPtr2 lda (ZPPtr2) bne MEM.NextCharPtr2 rts MEM.PutCharPtr2 sta (ZPPtr2) MEM.NextCharPtr2 inc ZPPtr2 bne .8 inc ZPPtr2+1 .8 rts *-------------------------------------- MAN SAVE USR/SRC/SYS/KERNEL.S.SHARED LOAD USR/SRC/SYS/KERNEL.S ASM