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
|