mirror of
https://github.com/A2osX/A2osX.git
synced 2024-11-24 14:31:05 +00:00
314 lines
4.4 KiB
Plaintext
314 lines
4.4 KiB
Plaintext
|
NEW
|
|||
|
AUTO 3,1
|
|||
|
*--------------------------------------
|
|||
|
XBBD7 .BS 1
|
|||
|
XBBD8 .BS 1
|
|||
|
|
|||
|
XBBD9 .BS 1 .DA #4 ????
|
|||
|
XBBDA .BS 1
|
|||
|
XBBDB .BS 1
|
|||
|
XBBDD .BS 1
|
|||
|
*--------------------------------------
|
|||
|
BSX.FRE0 jsr BSX.FRE1
|
|||
|
bcs .9
|
|||
|
|
|||
|
lda ASX.PGRMSTART+1
|
|||
|
sta BS.TXTTAB+1
|
|||
|
lda ASX.PGRMSTART
|
|||
|
sta BS.TXTTAB
|
|||
|
|
|||
|
lda ASX.HIMEM+1
|
|||
|
sta XBBD8
|
|||
|
lda #$03
|
|||
|
sta XBBD9
|
|||
|
|
|||
|
lda ASX.STRINGSTART+1
|
|||
|
sta BS.MEMSIZE+1
|
|||
|
|
|||
|
lda #$00
|
|||
|
sta BS.MEMSIZE
|
|||
|
bra BSX.FRE2 Z
|
|||
|
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
BSX.FRE1 stz BS.TXTTAB
|
|||
|
|
|||
|
lda ASX.HIMEM+1
|
|||
|
sta XBBD8
|
|||
|
lda #$03
|
|||
|
sta XBBD9
|
|||
|
|
|||
|
lda ASX.STRINGSTART+1
|
|||
|
sta BS.TXTTAB+1
|
|||
|
sec
|
|||
|
sbc ASX.ARRAYEND+1
|
|||
|
cmp #$07
|
|||
|
bcc .1
|
|||
|
|
|||
|
sbc #$03
|
|||
|
sta XBBD9
|
|||
|
|
|||
|
lda ASX.ARRAYEND+1
|
|||
|
adc #$00
|
|||
|
sta XBBD8
|
|||
|
|
|||
|
lda ASX.HIMEM+1
|
|||
|
sbc ASX.STRINGSTART+1
|
|||
|
adc #$01
|
|||
|
cmp XBBD9
|
|||
|
bcs .1
|
|||
|
|
|||
|
sta XBBD9
|
|||
|
|
|||
|
.1 lda ASX.HIMEM+1
|
|||
|
sta BS.MEMSIZE+1
|
|||
|
|
|||
|
lda ASX.HIMEM
|
|||
|
sta BS.MEMSIZE
|
|||
|
sta ASX.STRINGSTART
|
|||
|
*--------------------------------------
|
|||
|
BSX.FRE2 clc
|
|||
|
beq .1
|
|||
|
|
|||
|
sec
|
|||
|
|
|||
|
.1 lda BS.MEMSIZE+1
|
|||
|
sta ASX.STRINGSTART+1
|
|||
|
sbc #$00
|
|||
|
sta XBBDA
|
|||
|
adc #$00
|
|||
|
sta XBBDB
|
|||
|
lda ASX.ARRAYEND+1
|
|||
|
adc #$01
|
|||
|
sta XBBDD
|
|||
|
|
|||
|
.2 lda ASX.VARSTART
|
|||
|
sbc #$06
|
|||
|
sta ZP.A2L
|
|||
|
|
|||
|
lda ASX.VARSTART+1
|
|||
|
sbc #$00
|
|||
|
sta ZP.A2H
|
|||
|
|
|||
|
lda ASX.ARRAYSTART
|
|||
|
sta XBBDC
|
|||
|
lda XBBDA
|
|||
|
cmp BS.TXTTAB+1
|
|||
|
bcc .9
|
|||
|
|
|||
|
sbc XBBD9
|
|||
|
sta XBBD7
|
|||
|
|
|||
|
lda ASX.STRINGSTART+1
|
|||
|
sbc XBBDA
|
|||
|
sbc XBBD7
|
|||
|
eor #$FF
|
|||
|
adc #$02
|
|||
|
cmp XBBD7
|
|||
|
bcc .3
|
|||
|
|
|||
|
lda XBBD7
|
|||
|
|
|||
|
.3 cmp BS.TXTTAB+1
|
|||
|
bcs .4
|
|||
|
|
|||
|
lda BS.TXTTAB+1
|
|||
|
sbc #$00
|
|||
|
|
|||
|
.4 sta XBBDA
|
|||
|
jsr BSX.LA199
|
|||
|
ldx ASX.ARRAYSTART+1
|
|||
|
jsr BSX.LA0FB
|
|||
|
bcs .5
|
|||
|
|
|||
|
jsr BSX.LA131
|
|||
|
lda XBBDA
|
|||
|
sta XBBDB
|
|||
|
bcc .2
|
|||
|
|
|||
|
.5 lda #BS.E.NOBUFFER
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
BSX.LA0FB clc
|
|||
|
|
|||
|
.1 lda ZP.A2L
|
|||
|
adc #$07
|
|||
|
sta ZP.A2L
|
|||
|
bcc .2
|
|||
|
|
|||
|
inc ZP.A2H
|
|||
|
|
|||
|
.2 eor ASX.ARRAYSTART
|
|||
|
bne .3
|
|||
|
|
|||
|
cpx ZP.A2H
|
|||
|
beq BSX.LA12F
|
|||
|
|
|||
|
.3 ldy #$00
|
|||
|
lda (ZP.A2L),y
|
|||
|
iny
|
|||
|
eor (ZP.A2L),y
|
|||
|
bpl BSX.LA0FB
|
|||
|
|
|||
|
lda (ZP.A2L),y
|
|||
|
bpl BSX.LA0FB
|
|||
|
|
|||
|
ldy #$04
|
|||
|
lda (ZP.A2L),y
|
|||
|
cmp XBBDA
|
|||
|
bcc .1
|
|||
|
|
|||
|
cmp XBBDB
|
|||
|
bcs BSX.LA0FB
|
|||
|
|
|||
|
jsr BSX.LA1BC
|
|||
|
bcc .1
|
|||
|
|
|||
|
rts
|
|||
|
|
|||
|
BSX.LA12F clc
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
BSX.LA131 jsr BSX.LA160
|
|||
|
bcs BSX.LA12F
|
|||
|
|
|||
|
.1 ldy #$02
|
|||
|
lda (ZP.A2L),y
|
|||
|
cmp XBBDA
|
|||
|
bcc .2
|
|||
|
|
|||
|
cmp XBBDB
|
|||
|
bcs .2
|
|||
|
|
|||
|
jsr BSX.LA1BC
|
|||
|
bcc .3
|
|||
|
|
|||
|
rts
|
|||
|
|
|||
|
.2 clc
|
|||
|
|
|||
|
.3 lda #$03
|
|||
|
adc ZP.A2L
|
|||
|
sta ZP.A2L
|
|||
|
bcc .4
|
|||
|
|
|||
|
inc ZP.A2H
|
|||
|
|
|||
|
.4 cmp XBBDC
|
|||
|
bne .1
|
|||
|
|
|||
|
cpx ZP.A2H
|
|||
|
bne .1
|
|||
|
|
|||
|
beq BSX.LA131
|
|||
|
*--------------------------------------
|
|||
|
BSX.LA160 clc
|
|||
|
lda XBBDC
|
|||
|
sta ZP.A2L
|
|||
|
stx ZP.A2H
|
|||
|
eor ASX.ARRAYEND
|
|||
|
bne .1
|
|||
|
|
|||
|
cpx ASX.ARRAYEND+1
|
|||
|
beq .9
|
|||
|
|
|||
|
.1 ldy #$02
|
|||
|
lda (ZP.A2L),y
|
|||
|
adc ZP.A2L
|
|||
|
sta XBBDC
|
|||
|
iny
|
|||
|
lda (ZP.A2L),y
|
|||
|
adc ZP.A2H
|
|||
|
tax
|
|||
|
ldy #$00
|
|||
|
lda (ZP.A2L),y
|
|||
|
iny
|
|||
|
eor (ZP.A2L),y
|
|||
|
bpl BSX.LA160
|
|||
|
|
|||
|
ldy #$04
|
|||
|
lda (ZP.A2L),y
|
|||
|
asl
|
|||
|
adc #$05
|
|||
|
adc ZP.A2L
|
|||
|
sta ZP.A2L
|
|||
|
bcc .9
|
|||
|
|
|||
|
inc ZP.A2H
|
|||
|
|
|||
|
clc
|
|||
|
.9 rts
|
|||
|
*--------------------------------------
|
|||
|
BSX.LA199 lda XBBD7
|
|||
|
sta ZP.PCH
|
|||
|
lda XBBD8
|
|||
|
sta ZP.A1H
|
|||
|
ldy #$00
|
|||
|
sty ZP.PCL
|
|||
|
sty ZP.A1L
|
|||
|
ldx XBBD9
|
|||
|
inx
|
|||
|
|
|||
|
.1 lda (ZP.PCL),y
|
|||
|
sta (ZP.A1L),y
|
|||
|
iny
|
|||
|
bne .1
|
|||
|
|
|||
|
inc ZP.A1H
|
|||
|
inc ZP.PCH
|
|||
|
dex
|
|||
|
bne .1
|
|||
|
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
BSX.LA1BC cmp XBBD7
|
|||
|
bcc .1
|
|||
|
|
|||
|
sbc XBBD7
|
|||
|
clc
|
|||
|
adc XBBD8
|
|||
|
|
|||
|
.1 sta ZP.PCH
|
|||
|
dey
|
|||
|
lda (ZP.A2L),y
|
|||
|
sta ZP.PCL
|
|||
|
dey
|
|||
|
|
|||
|
sec
|
|||
|
lda ASX.STRINGSTART
|
|||
|
sbc (ZP.A2L),y
|
|||
|
sta ASX.STRINGSTART
|
|||
|
sta .3+1
|
|||
|
iny
|
|||
|
sta (ZP.A2L),y
|
|||
|
|
|||
|
lda ASX.STRINGSTART+1
|
|||
|
sbc #$00
|
|||
|
sta ASX.STRINGSTART+1
|
|||
|
sta .3+2
|
|||
|
iny
|
|||
|
sta (ZP.A2L),y
|
|||
|
dey
|
|||
|
dey
|
|||
|
lda (ZP.A2L),y
|
|||
|
beq .8
|
|||
|
|
|||
|
tay
|
|||
|
|
|||
|
.2 dey
|
|||
|
lda (ZP.PCL),y
|
|||
|
.3 sta $FFFF,y SELF MODIFIED
|
|||
|
tya
|
|||
|
bne .2
|
|||
|
|
|||
|
.8 clc
|
|||
|
lda XBBDD
|
|||
|
sbc ASX.STRINGSTART+1
|
|||
|
rts
|
|||
|
*--------------------------------------
|
|||
|
*--------------------------------------
|
|||
|
MAN
|
|||
|
SAVE usr/src/basic.fx/basic.s.xm
|
|||
|
LOAD usr/src/basic.fx/basic.s
|
|||
|
ASM
|