mirror of
https://github.com/A2osX/A2osX.git
synced 2024-10-21 05:24:15 +00:00
146 lines
2.8 KiB
Plaintext
146 lines
2.8 KiB
Plaintext
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
|