BASIC:More code moved to AUXLC

This commit is contained in:
burniouf 2022-04-03 13:55:03 +02:00
parent b206dd8036
commit d573012ecb
7 changed files with 75 additions and 313 deletions

Binary file not shown.

View File

@ -870,7 +870,8 @@ BS.WriteTBUF jsr LA004
*--------------------------------------
LA004 ldy #$00
lda GP.TBUFPTR
beq LA01F
clc
beq LA020
BS.WriteTBUFAY sta GP.MLIRW.COUNT
sty GP.MLIRW.COUNT+1
@ -879,9 +880,6 @@ BS.WriteTBUFAY sta GP.MLIRW.COUNT
stz GP.TBUFPTR
bcs LA020
LA01F clc
LA020 rts
*--------------------------------------
LA021 jsr BS.KW.FRE
@ -922,9 +920,11 @@ BS.KW.FRE stz BS.TXTTAB
sbc #$03
sta XBBD9
lda AS.ARRAYEND+1
adc #$00
sta XBBD8
lda AS.HIMEM+1
sbc AS.STRINGSTART+1
adc #$01
@ -935,6 +935,7 @@ BS.KW.FRE stz BS.TXTTAB
LA07D lda AS.HIMEM+1
sta BS.MEMSIZE+1
lda AS.HIMEM
sta BS.MEMSIZE
sta AS.STRINGSTART
@ -1173,7 +1174,8 @@ LA1F2 clc
sbc AS.STRINGSTART+1
rts
*--------------------------------------
LA1F9 lda #$04
BS.GetSysBuf lda #$04
LA1FB sta XBBB5
jsr BS.KW.FRE
bcs LA24E
@ -1181,7 +1183,7 @@ LA1FB sta XBBB5
lda AS.STRINGSTART+1
sbc AS.ARRAYEND+1
cmp XBBB5
lda #$0C
lda #BS.E.NOBUFFER
bcc LA24E
lda AS.STRINGSTART+1
@ -1189,15 +1191,19 @@ LA1FB sta XBBB5
sbc XBBB5
sta ZP.A1H
sta AS.STRINGSTART+1
lda AS.STRINGSTART
sta ZP.PCL
sta ZP.A1L
lda AS.HIMEM
sbc ZP.PCL
sta XBBED
lda AS.HIMEM+1
sbc ZP.PCH
sta XBBEE
sta BS.BUFPAGEs
jsr BS.MoveMemUp
lda #$00
sec
@ -1216,6 +1222,8 @@ LA1FB sta XBBB5
LA24E sec
rts
XBBB5 .BS 1
*--------------------------------------
LA250 jsr BS.KW.FRE
bcs LA29D
@ -1234,7 +1242,7 @@ LA250 jsr BS.KW.FRE
sta XBBED
lda AS.HIMEM+1
sbc AS.STRINGSTART+1
sta XBBEE
sta BS.BUFPAGEs
jsr BS.MoveMemDown
lda #$04
@ -1254,7 +1262,7 @@ LA250 jsr BS.KW.FRE
lda AS.HIMEM+1
LA293 cmp XBBEE,x
LA293 cmp BS.BUFPAGEs,x
beq LA29E
dex
@ -1265,9 +1273,9 @@ LA29B pla
LA29D rts
LA29E pla
LA29F sta GP.SBUFADR+1
sta XBBEE,x
*--------------------------------------
BS.SetFileBuf sta GP.SBUFADR+1
sta BS.BUFPAGEs,x
stz GP.SBUFADR
lda BS.REFNUMs,x

View File

@ -18,12 +18,12 @@ LA2C5 sta GP.SBUFADR+1
adc #$04
sta XBBB7
LA2D6 cmp XBBEE,x
LA2D6 cmp BS.BUFPAGEs,x
bne LA2EB
lda GP.SBUFADR+1
jsr LA356
jsr LA29F
jsr BS.SetFileBuf
lda GP.SBUFADR+1
adc #$04
bcc LA2C5
@ -37,7 +37,7 @@ LA2EE lda GP.SBUFADR+1
LA2F6 ldx #$08
jsr LA356
jsr LA29F
jsr BS.SetFileBuf
lda GP.SBUFADR+1
adc #$04
@ -49,6 +49,7 @@ BS.FREEBUFR lda GP.OPENCNT
asl
adc AS.HIMEM+1
sta XBBB7
lda AS.HIMEM+1
sta XBBB8
lda GP.RSHIMEM
@ -66,12 +67,12 @@ LA327 lda XBBB7
ldx GP.OPENCNT
beq LA351
LA32F cmp XBBEE,x
LA32F cmp BS.BUFPAGEs,x
bne LA34E
lda AS.HIMEM+1
jsr LA356
jsr LA29F
jsr BS.SetFileBuf
sec
lda XBBB7
sbc #$04
@ -92,12 +93,12 @@ LA354 clc
LA356 pha
lda XBBB8
jsr LA29F
jsr BS.SetFileBuf
pla
rts
*--------------------------------------
BS.MoveMemUp ldy #$00
cpy XBBEE
cpy BS.BUFPAGEs
beq .2
.1 lda (ZP.PCL),y
@ -107,7 +108,7 @@ BS.MoveMemUp ldy #$00
inc ZP.PCH
inc ZP.A1H
dec XBBEE
dec BS.BUFPAGEs
bne .1
.2 cpy XBBED
@ -127,10 +128,10 @@ LA388 jsr LA39A
dec ZP.A1H
dec ZP.PCH
LA38F cpy XBBEE
LA38F cpy BS.BUFPAGEs
beq LA3A2
dec XBBEE
dec BS.BUFPAGEs
bra LA388
*--------------------------------------
LA39A dey
@ -231,7 +232,7 @@ LA411 jsr LA021
lda AS.ARRAYEND+1
sbc AS.VARSTART+1
sta BS.BAS.HDR+1
sta XBBEE
sta BS.BUFPAGEs
lda AS.ARRAYSTART
sbc AS.VARSTART
@ -289,7 +290,7 @@ LA480 lda BS.BAS.HDR
sta AS.ARRAYEND
lda BS.BAS.HDR+1
sta XBBEE
sta BS.BUFPAGEs
adc AS.VARSTART+1
sta AS.ARRAYEND+1
@ -317,7 +318,6 @@ LA480 lda BS.BAS.HDR
lda ZP.PCH
adc #$00
sta AS.STRINGSTART+1
sec
lda AS.HIMEM+1
sbc BS.BAS.HDR+4
@ -435,7 +435,7 @@ LA70B dex
bcs LA73A
dex
* >DEBUG
jsr BS.GetCharSpaceSep
bne LA73A
@ -467,7 +467,9 @@ LA747 jsr BS.GetKWInCmdBuf
ldy #$40
sty GP.FoundBITS
jsr LA96E
stx BS.ToAUXSaveX
ldx #BSX.GetDecNum.X
jsr BS.ToAUX
bcs LA76F
lda GP.ParamINPR
@ -503,7 +505,9 @@ LA770 lsr
LA795 jsr BS.GetCharSpaceSep
beq LA73A
LA79A jsr BS.CheckCmdOpt
LA79A stx BS.ToAUXSaveX
ldx #BSX.CheckOpt.X
jsr BS.ToAUX
bcs LA76F
LA79F jsr BS.GetCharSpaceSep
@ -710,134 +714,6 @@ LA8F4 clc
LA8F5 rts
*--------------------------------------
BS.CheckCmdOpt jsr BS.TMPBUF3Reset
ldy #$09
jsr BS.ToUpper
LA8FB cmp BS.KW.OPT,y
beq LA935
dey
bpl LA8FB
cmp #'T'
beq LA90A
LA907 jmp BS.SYNERR
LA90A lda #$04
and GP.AllowedBITS
beq LA931
tsb GP.FoundBITS
stz XBC08
lda #$12
sta XBC09
jsr BS.GetCharSpaceSep
beq LA907
cmp #'$'
beq LA984
cmp #'A'
bcc LA96E
ldx #BSX.GetFTypeASC.X
jmp BS.ToAUX
LA931 sec
lda #BS.E.INVOPT
rts
LA935 lda BS.KW.OPT.PBITSLO,y
beq LA955
and GP.AllowedBITS+1
beq LA931
cmp #$04
bne LA94F
and GP.FoundBITS+1
bne LA955
lda #$01
sta GP.ParamD
lda #$04
LA94F tsb GP.FoundBITS+1
LA955 lda BS.KW.OPT.PBITSHI,y
and #$03
sta XBC08
lda BS.KW.OPT.PBITSHI,y
lsr
lsr
sta XBC09
jsr BS.GetCharSpaceSep
beq LA9BE
cmp #'$'
beq LA984
LA96E stx GP.INPTR
jsr BS.GetDecDigit
bcc LA97A
bmi LA9C1
bcs LA9BE
LA97A ldx GP.INPTR
jsr BS.GetCharSpaceSep
bne LA96E
beq LA99D
LA984 jsr BS.GetCharSpaceSep
beq LA9BE
LA989 stx GP.INPTR
jsr BS.GetHexDigit
bcc LA995
bmi LA9C1
bcs LA9BE
LA995 ldx GP.INPTR
jsr BS.GetCharSpaceSep
bne LA989
LA99D ldx #$02
LA99F cpx XBC08
beq LA9AC
lda BS.TMPBUF4,x
bne LA9C1
dex
bne LA99F
LA9AC ldy XBC09
LA9AF lda BS.TMPBUF4,x
sta GP.ParamA,y
dey
dex
bpl LA9AF
ldx GP.INPTR
clc
rts
LA9C1 jmp LA76C
LA9BE jmp BS.SYNERR
*--------------------------------------
BS.GetPathInPathBuf
jsr BS.GetChar UC
sta MLI.PATHBUF,y
@ -902,93 +778,6 @@ BS.GetChar lda IO.LINEBUF,x
rts
*--------------------------------------
BS.GetDecDigit cmp #'0'
bcc LAA72
cmp #'9'+1
bcc LAA76
LAA72 sec
ora #$00
rts
LAA76 and #$0F
pha
lda BS.TMPBUF4+2
cmp #$1A
bcs LAAA2
ldx #$02
LAA82 lda BS.TMPBUF4,x
pha
dex
bpl LAA82
jsr BS.TMPBUF3x2
jsr BS.TMPBUF3x2
ldx #$00
clc
LAA92 pla
adc BS.TMPBUF4,x
sta BS.TMPBUF4,x
inx
txa
eor #$03
bne LAA92
jsr BS.TMPBUF3x2
LAAA2 pla
bcs LAAB8
adc BS.TMPBUF4
sta BS.TMPBUF4
bcc LAABB
clc
inc BS.TMPBUF4+1
bne LAABB
inc BS.TMPBUF4+2
bne LAABB
LAAB8 lda #$FF
sec
LAABB rts
*--------------------------------------
BS.GetHexDigit cmp #'0'
bcc LAACC
cmp #'9'+1
bcc LAAD2
cmp #'A'
bcc LAACC
cmp #'F'+1
bcc LAAD0
LAACC sec
ora #$00
rts
LAAD0 sbc #$06
LAAD2 and #$0F
ldx #$03
LAAD6 jsr BS.TMPBUF3x2
bcs LAAB8
dex
bpl LAAD6
ora BS.TMPBUF4
sta BS.TMPBUF4
rts
*--------------------------------------
BS.TMPBUF3x2 asl BS.TMPBUF4
rol BS.TMPBUF4+1
rol BS.TMPBUF4+2
@ -1130,7 +919,7 @@ LAC22 jsr LAC34
stx AS.ARRAYEND+1
LAC33 rts
*--------------------------------------
LAC34 lda #$01
ldx #$FC
jsr BS.CheckFTypeXAccessA
@ -1229,15 +1018,12 @@ BS.KW.SAVE bcc LACFE
sta GP.FITYPE
lda #$C3
sta GP.FIACCESS
lda AS.PGRMSTART
sta GP.CRAUXTYPE
sta GP.FIAUXTYPE
lda AS.PGRMSTART+1
sta GP.CRAUXTYPE+1
sta GP.FIAUXTYPE+1
jsr BS.CreateFileOrDir
bcs LAD47
@ -1250,10 +1036,13 @@ LACFE lda #$02
sec
sbc AS.PGRMSTART
tax
* sta GP.SBUFADR
lda AS.PGRMEND+1
sbc AS.PGRMSTART+1
tay
* sta GP.SBUFADR+1
* lda #$00
* sta GP.SBUFADR+2
jsr BS.SetSBUFADRXY0

View File

@ -714,7 +714,7 @@ LB2CA lda GP.FITYPE
LB2D3 sec
rts
LB2D5 jsr LA1F9
LB2D5 jsr BS.GetSysBuf
bcs LB2D3
stz GP.SBUFADR
@ -731,7 +731,7 @@ LB2D5 jsr LA1F9
adc XBBE3
pha
LB2F2 cmp XBBEE,x
LB2F2 cmp BS.BUFPAGEs,x
beq LB2FB
dex
@ -740,7 +740,7 @@ LB2F2 cmp XBBEE,x
brk
LB2FB tya
sta XBBEE,x
sta BS.BUFPAGEs,x
lda BS.REFNUMs,x
sta GP.MLIMRKEOFBUF.REFNUM
lda #MLI.C.SETBUF
@ -773,11 +773,12 @@ LB327 ldx GP.OSYSBUF+1
LB333 sta GP.MLIRW.REFNUM
sta GP.MLIMRKEOFBUF.REFNUM
sta GP.NEWLREF
ldx GP.FIAUXTYPE
stx GP.ParamL
ldx GP.FIAUXTYPE+1
stx GP.ParamL+1
jsr LB45B
jsr BS.AddOpenFile
lda #$7F
sta GP.NLINEMASK
@ -853,15 +854,15 @@ LB3BB plp
ldx #$00
ldy #$00
lda GP.FoundBITS+1
and #$10
and #CMDBITS1.L
bne LB3CD
stx GP.ParamL+1
sty GP.ParamL
LB3CD lda GP.FoundBITS
and #$04
eor #$04
and #CMDBITS0.T
eor #CMDBITS0.T
beq LB3DB
lda #$04
@ -894,13 +895,13 @@ LB3FE lda GP.FITYPE
ldx GP.FIAUXTYPE+1
ldy GP.FIAUXTYPE
lda GP.FoundBITS+1
and #$10
and #CMDBITS1.L
bne LB41D
stx GP.ParamL+1
sty GP.ParamL
LB41D jsr LA1F9
LB41D jsr BS.GetSysBuf
bcs LB3B9
lda XBBE3
@ -928,12 +929,12 @@ LB443 lda #$00
sta GP.DIRFLG
ldx GP.OPENCNT
lda XBBE3
sta XBBEF,x
sta BS.BUFPAGEs+1,x
lda GP.OREFNUM
sta BS.REFNUMs+1,x
inc GP.OPENCNT
*--------------------------------------
LB45B asl
BS.AddOpenFile asl
asl
asl
asl
@ -950,6 +951,7 @@ LB45B asl
lda #$1D
LB473 sta ZP.PCL
lda GP.ParamL
sta XBC5A,x
lda GP.ParamL+1
@ -967,7 +969,7 @@ BS.KW.NOMON clc
*--------------------------------------
BS.CheckFilename
lda GP.FoundBITS
and #$01
and #CMDBITS0.FN1
bne LB49A
lda #BS.E.SYNTAX
@ -981,7 +983,7 @@ LB49A ldx GP.OPENCNT
LB4A2 stx ZP.PCH
lda BS.REFNUMs,x
jsr LB4D2
jsr BS.FindOpenFile
bne LB4B3
ldx ZP.PCH
@ -998,7 +1000,7 @@ LB4B8 lda GP.EXECACTV
bpl LB4CE
lda XBBFE
jsr LB4D2
jsr BS.FindOpenFile
bne LB4CE
lda #$FF
@ -1010,7 +1012,7 @@ LB4CE lda #BS.E.FNOTOPEN
sec
rts
*--------------------------------------
LB4D2 asl
BS.FindOpenFile asl
asl
asl
asl
@ -1029,6 +1031,7 @@ LB4D2 asl
lda #$1D
LB4EC sta ZP.PCL
lda XBC5A,x
sta XBBFF
lda XBC5B,x
@ -1053,17 +1056,17 @@ BS.KW.CLOSE lda GP.FoundBITS
bcs LB4B1
LB515 sta GP.MLICF.REFNUM
lda XBBEE,x
lda BS.BUFPAGEs,x
sta XBBE3
bit GP.EXECFILE
bmi LB53F
ldy GP.OPENCNT
pha
lda XBBEE,y
sta XBBEE,x
lda BS.BUFPAGEs,y
sta BS.BUFPAGEs,x
pla
sta XBBEE,y
sta BS.BUFPAGEs,y
lda BS.REFNUMs,x
pha
lda BS.REFNUMs,y
@ -1633,15 +1636,7 @@ BS.ToAUX stx .1+1
plp
rts
*--------------------------------------
BS.ToUpper cmp #'a'
bcc .9
cmp #'z'+1
bcs .9
eor #$20
.9 rts
BS.ToAUXSaveX .BS 1
*--------------------------------------
BS.GetFTableIdx lda GP.MLIRW.REFNUM
lsr

View File

@ -95,33 +95,6 @@ BS.AS.KW .DA #$80
.DA #$BE
.DA #$BF
*--------------------------------------
BS.KW.OPT .AS "ABELS@FRVD"
*--------------------------------------
BS.WHICHBITS
* .HS 8040201008040201
BS.KW.OPT.PBITSLO
.DA #$80
.DA #$40
.DA #$20
.DA #$10
.DA #$08
.DA #$04
.DA #$02
.DA #$01
.DA #$00
.DA #$04
BS.KW.OPT.PBITSHI
.DA #$05
.DA #$12
.DA #$19
.DA #$21
.DA #$24
.DA #$28
.DA #$31
.DA #$39
.DA #$40
.DA #$45
*--------------------------------------
BS.MLIERTBL .DA #$28
.DA #$2B
.DA #$40
@ -163,7 +136,6 @@ BS.BIERRTBL .DA #$03
.DA #$0C
.DA #$08
*--------------------------------------
XBBB5 .BS 2
XBBB7 .BS 1
XBBB8 .BS 1
*--------------------------------------
@ -191,8 +163,7 @@ XBBEA .BS 1
XBBEB .BS 1
XBBEC .BS 1
XBBED .BS 1
XBBEE .BS 1
XBBEF .BS 7
BS.BUFPAGEs .BS 8
BS.REFNUMs .BS 8
XBBFE .BS 1
XBBFF .BS 1

View File

@ -57,16 +57,15 @@ LDR.START1 ldx #$FF
ldx #$01
jsr LDR.MoveXpages
ldx #$17
lda #$CF page 0,1,4,5,6,7
sta MLI.MEMTABL
ldx #19 HIMEM=$A000
.1 stz MLI.MEMTABL,x
dex
bne .1
lda #$CF
sta MLI.MEMTABL
lda #$03 HIMEM=$9E00
sta MLI.MEMTABL+19
lda #$FF
sta MLI.MEMTABL+20
sta MLI.MEMTABL+21

View File

@ -11,7 +11,7 @@ NEW
sta $C010
.EM
*--------------------------------------
HIMEM .EQ $9E00
HIMEM .EQ $A000
LOWERCASE .EQ 1
*--------------------------------------
BS.E.RANGE .EQ $02
@ -44,7 +44,7 @@ CMDBITS0.T .EQ $04 ;File type
CMDBITS0.FN2 .EQ $02 ;Filename '2' for RENAME
CMDBITS0.FN1 .EQ $01 ;Filename expected
CMDBITS1.AD .EQ $80 ;Address
CMDBITS1.A .EQ $80 ;Address
CMDBITS1.B .EQ $40 ;Byte
CMDBITS1.E .EQ $20 ;End address
CMDBITS1.L .EQ $10 ;Length