BASIC:bugfix in Laoder

This commit is contained in:
burniouf 2022-04-03 23:25:00 +02:00
parent d573012ecb
commit 905ebf9a2b
7 changed files with 198 additions and 194 deletions

Binary file not shown.

View File

@ -3,14 +3,14 @@ NEW
*--------------------------------------
BS.ResetCSWKSW pha
phx
ldx #3
.1 lda GP.VECTOUT,x
sta ZP.CSW,x
dex
bpl .1
plx
pla
rts
@ -85,14 +85,14 @@ L9A8B lda #$8D
BS.SaveCSWKSW pha
phx
ldx #3
.1 lda ZP.CSW,x
sta GP.VECTOUT,x
dex
bpl .1
plx
pla
@ -101,12 +101,12 @@ BS.SetCSWKSW2VDOS
phx
ldx #3
.1 lda GP.VDOSO,x
sta ZP.CSW,x
dex
bpl .1
plx
pla
rts
@ -125,7 +125,7 @@ BS.IO.IN bit GP.EXECACTV
cmp #$88
beq .2
cmp #$FF
bne BS.SaveCSWKSW
@ -167,7 +167,7 @@ BS.ERROUT sta GP.ERRCODE
php
lda #$0F
sta MLI.LEVEL
stz GP.IFILACTV
stz GP.OFILACTV
stz GP.PFXACTV
@ -389,7 +389,7 @@ L9C6C jsr BS.MLIRead
bne L9C8E
lda GP.FoundBITS+1
and #$10
and #CMDBITS1.L
bne L9C8E
dex
@ -419,11 +419,11 @@ L9C95 cmp #$BE
bcs L9D1F
jsr BS.GetFTableIdx
lda XBC12
sta XBC5A,x
lda XBC13
sta XBC5B,x
lda BS.CAT.EL
sta BS.OpenFiles+1,x
lda BS.CAT.EPB
sta BS.OpenFiles+2,x
jsr BS.Filename2LineBuf
L9CD3 lda #$A2
@ -455,7 +455,7 @@ L9CF9 cmp #$FF
bne L9D1C
dec GP.CATFLAG
stz GP.MLIRW.COUNT
stz GP.MLIRW.COUNT+1
@ -475,22 +475,22 @@ L9D1C lda #$05
L9D1F jmp BS.ERROUT
L9D22 lda #$FF
sta XBC16
sta BS.CAR.EICB
jsr BS.GetFTableIdx
lda XBC5A,x
sta XBC12
lda XBC5B,x
sta XBC13
lda BS.OpenFiles+1,x
sta BS.CAT.EL
lda BS.OpenFiles+2,x
sta BS.CAT.EPB
lda GP.SBUFADR+1
and #$01
tax
lda GP.SBUFADR
sec
L9D45 inc XBC16
sbc XBC12
L9D45 inc BS.CAR.EICB
sbc BS.CAT.EL
bcs L9D45
dex
@ -521,7 +521,7 @@ BS.IO.IN.CAT cmp #$DD
L9D72 lda GP.PREGA
sta (ZP.BASL),y
stz GP.PFXACTV
ldx BS.CMDBUF.LEN
@ -535,13 +535,13 @@ L9D7F lda BS.CMDBUF.LEN,x
rts
*--------------------------------------
BS.Setup4readEFBytesAt200
lda XBBFE
lda BS.REFNUM
sta GP.MLIRW.REFNUM
lda #$02
sta GP.MLIRW.DATAPTR+1
lda #$EF
sta GP.MLIRW.COUNT
stz GP.MLIRW.COUNT+1
stz GP.MLIRW.DATAPTR
rts
@ -875,15 +875,15 @@ LA004 ldy #$00
BS.WriteTBUFAY sta GP.MLIRW.COUNT
sty GP.MLIRW.COUNT+1
jsr BS.MLIWrite
stz GP.TBUFPTR
LA020 rts
*--------------------------------------
LA021 jsr BS.KW.FRE
bcs LA047
bcs LA020
lda AS.PGRMSTART+1
sta BS.TXTTAB+1
@ -897,12 +897,10 @@ LA021 jsr BS.KW.FRE
lda AS.STRINGSTART+1
sta BS.MEMSIZE+1
lda #$00
sta BS.MEMSIZE
jsr LA089 Z
LA047 rts
jmp LA089 Z
*--------------------------------------
BS.KW.FRE stz BS.TXTTAB
@ -1217,13 +1215,13 @@ LA1FB sta XBBB5
sta AS.HIMEM+1
clc
adc #$04
sta XBBE3
sta BS.BUFPAGE
rts
LA24E sec
rts
XBBB5 .BS 1
XBBB5 .BS 1
*--------------------------------------
LA250 jsr BS.KW.FRE
bcs LA29D
@ -1252,7 +1250,7 @@ LA250 jsr BS.KW.FRE
sta AS.HIMEM+1
jsr LA3A3
lda XBBE3
lda BS.BUFPAGE
cmp AS.HIMEM+1
beq LA2B7
@ -1276,13 +1274,12 @@ LA29E pla
*--------------------------------------
BS.SetFileBuf sta GP.SBUFADR+1
sta BS.BUFPAGEs,x
stz GP.SBUFADR
lda BS.REFNUMs,x
sta GP.MLIMRKEOFBUF.REFNUM
lda #MLI.C.SETBUF
jsr GP.GOSYSTEM
bcs LA29D
jmp GP.GOSYSTEM
LA2B7 clc
rts

View File

@ -376,7 +376,7 @@ LA6BA stz GP.FoundBITS
lda GP.VDEFDRV
sta GP.ParamD
lda AS.HIMEM+1
sta XBBE3
sta BS.BUFPAGE
ldx GP.XLEN
inx
@ -464,7 +464,8 @@ LA747 jsr BS.GetKWInCmdBuf
ldy #$13
sty XBC09
ldy #$40
ldy #CMDBITS0.SLOT
sty GP.FoundBITS
stx BS.ToAUXSaveX
@ -494,7 +495,7 @@ LA770 lsr
dey
dey
sty MLI.PATHBUF
lda #$03
lda #CMDBITS0.FN1+CMDBITS0.FN2
sta GP.FoundBITS
dex
jsr BS.GetCharSpaceSep
@ -528,7 +529,7 @@ LA7A6 lda GP.ParamS
bcs LA76C
lda GP.AllowedBITS
and #$21
and #CMDBITS0.RRUN+CMDBITS0.FN1
lsr
beq LA7C9
@ -542,7 +543,7 @@ LA7A6 lda GP.ParamS
LA7C9 bcc LA80B
lda GP.AllowedBITS+1
and #$04
and #CMDBITS1.SD
beq LA80B
lda GP.FoundBITS
@ -550,7 +551,7 @@ LA7C9 bcc LA80B
bcs LA7E1
lda GP.AllowedBITS
and #$90
and #CMDBITS0.PFIX+CMDBITS0.FNOPT
beq BS.SYNERR
bpl LA80B
@ -563,7 +564,7 @@ LA7E1 lda BS.CMDBUF
beq LA806
LA7ED lda GP.FoundBITS+1
and #$04
and #CMDBITS1.SD
beq LA80B
bcs LA806
@ -571,7 +572,7 @@ LA7ED lda GP.FoundBITS+1
stz BS.CMDBUF.LEN
stz BS.CMDBUF
lda #$01
lda #CMDBITS0.FN1
tsb GP.FoundBITS
LA806 jsr BS.GetVolAtSxDy
@ -587,7 +588,7 @@ LA80B lda GP.XCNUM
beq .8
lda GP.AllowedBITS+1
and #$04
and #CMDBITS1.SD
beq .8
lda GP.FoundBITS
@ -651,7 +652,7 @@ BS.GetVolAtSxDy lda GP.ParamS
adc BS.CMDBUF.LEN
cmp #$40
tax
lda #$10
lda #BS.E.SYNTAX
bcs LA8F5
ldy BS.CMDBUF.LEN
@ -674,13 +675,13 @@ LA8AF sta BS.CMDBUF,x
bne LA8AF
lda GP.XCNUM
cmp #$0B
cmp #$0B OPEN
beq LA8F4
cmp #$16
cmp #$16 DELETE
beq LA8F4
cmp #$08
cmp #$08 EXEC
beq LA8F4
lda MLI.PATHBUF
@ -689,7 +690,7 @@ LA8AF sta BS.CMDBUF,x
adc IO.LINEBUF+1
cmp #$40
tax
lda #$10
lda #BS.E.SYNTAX
bcs LA8F5
stx MLI.PATHBUF
@ -781,18 +782,17 @@ BS.GetChar lda IO.LINEBUF,x
BS.TMPBUF3x2 asl BS.TMPBUF4
rol BS.TMPBUF4+1
rol BS.TMPBUF4+2
BS.TMPBUF3x2.RTS
rts
*--------------------------------------
BS.IsIntCmd ldx #BSX.IsIntCmd.X
jsr BS.ToAUX
bcc .8
bcc BS.TMPBUF3x2.RTS
dec GP.XCNUM $ff
sec
jmp GP.EXTRNCMD
.8 rts
*--------------------------------------
BS.TMPBUF3Reset stz BS.TMPBUF4
stz BS.TMPBUF4+1
@ -826,7 +826,7 @@ LAB6F pha
jsr LB36B
stz GP.ParamA
stz MLI.MEMTABL+19
stz MLI.MEMTABL+20
stz MLI.MEMTABL+21
stz MLI.MEMTABL+22
@ -840,10 +840,11 @@ LAB6F pha
bne LABA6
sta GP.ParamT
lda #$80
lda #CMDBITS1.A
sta GP.FoundBITS+1
lda #$05
lda #CMDBITS0.T+CMDBITS0.FN1
sta GP.FoundBITS
LABA3 jmp BS.KW.BRUN
LABA6 sec
@ -992,7 +993,7 @@ LAC98 stx ZP.PCL
bcc LAC98
LACB6 lda GP.FoundBITS+1
and #$08
and #CMDBITS1.LINE
clc
beq LACD9
@ -1036,13 +1037,10 @@ 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

@ -4,8 +4,8 @@ NEW
BS.KW.BSAVE bcc LAE2D
lda GP.FoundBITS+1
and #$B0
cmp #$90
and #CMDBITS1.A+CMDBITS1.E+CMDBITS1.L
cmp #CMDBITS1.A+CMDBITS1.L
XAE00 bcc LAE31
@ -22,7 +22,7 @@ XAE00 bcc LAE31
sta GP.FITYPE
lda GP.FoundBITS
and #$04
and #CMDBITS0.T
bne LAE31
jsr BS.CreateFileOrDir
@ -61,7 +61,7 @@ LAE44 ldx #$06
ldx GP.FIAUXTYPE
ldy GP.FIAUXTYPE+1
lda GP.FoundBITS
and #$04
and #CMDBITS0.T
bne LAEAB
lda GP.FoundBITS+1
@ -126,8 +126,9 @@ LAEC3 sec
LAEC5 stx GP.MLIRW.COUNT
sty GP.MLIRW.COUNT+1
lda GP.FoundBITS+1
and #$40
and #CMDBITS1.B
beq LAEF7
ldx #$02
@ -160,7 +161,7 @@ LAEF7 ldx GP.XCNUM
bvs LAF22
lda GP.FoundBITS+1
and #$30
and #CMDBITS1.E+CMDBITS1.L
beq LAF22
ldx GP.MLIRW.COUNT
@ -318,7 +319,7 @@ LB018 stx BS.GetCharSep
asl
tax
lda GP.FoundBITS
and #$40
and #CMDBITS0.SLOT
beq LB035
lda GP.FoundBITS+1
@ -403,27 +404,28 @@ BS.RAMReset bit GP.CISPARE1
php
sei
sta IO.SETWRITEAUX
lda #$FF
sta AUX.RAMSIG
dec
sta AUX.RAMSIG+1 Set $E000-$FEFF as BLOCK FREE
sta IO.CLRWRITEAUX
plp
.8 rts
*--------------------------------------
*--------------------------------------
BS.KW.CAT lda #$27
.HS 2C BIT ABS
BS.KW.CATALOG lda #$4F
sta BS.CATWIDTH
lda GP.FoundBITS
and #$05
and #CMDBITS0.T+CMDBITS0.FN1
lsr
bne LB0BA
@ -452,8 +454,8 @@ LB0C1 jsr BS.OpenDir
jsr BS.LINEBUFOUT
jsr MON.CROUT
lda XBC14
ora XBC15
* lda BS.CAT.FileCnt
* ora BS.CAT.FileCnt+1
LB0E8 jsr LB241
bcs LB113
@ -466,7 +468,7 @@ LB0E8 jsr LB241
LB0F7 ldx #BSX.MkCatLine.X
jsr BS.ToAUX
jsr BS.LINEBUFOUT
LB0FD lda IO.KBD
@ -525,9 +527,7 @@ LB142 lda DIRENTBUF,y
sta IO.LINEBUF
rts
*--------------------------------------
BS.MkCatLineF ldx #BS.CMDBUF
ldy /BS.CMDBUF
jsr BS.SetSBUFADRXY
BS.MkCatLineF jsr BS.SetSBUFADRCMDBUF
lda MLI.DEVNUM
sta GP.MLIMRKEOFBUF.REFNUM
@ -576,13 +576,13 @@ BS.ReadDirEnt lda #$59
ldx #$03
LB1EA lda $27C,x
sta XBC12,x
sta BS.CAT.EL,x
dex
bpl LB1EA
sta GP.MLIRW.COUNT
lda #$01
sta XBC16
sta BS.CAR.EICB
stz GP.SBUFADR+1
stz GP.SBUFADR+2
@ -591,7 +591,7 @@ LB203 rts
BS.CheckFTypeXAccessA
pha
lda GP.FoundBITS
and #$04
and #CMDBITS0.T
beq LB20F
ldx GP.ParamT
@ -605,7 +605,7 @@ BS.OpenTypeXAccessA
and GP.FIACCESS
beq LB23D
lda XBBE3
lda BS.BUFPAGE
sta GP.OSYSBUF+1
lda #$0F
sta MLI.LEVEL
@ -630,13 +630,13 @@ LB23D lda #BS.E.LOCKED
LB241 lda GP.SBUFADR+1
and #$FE
sta GP.SBUFADR+1
ldy XBC16
ldy BS.CAR.EICB
lda #$00
cpy XBC13
cpy BS.CAT.EPB
bcc LB25D
tay
sty XBC16
sty BS.CAR.EICB
inc GP.SBUFADR+1
LB25A inc GP.SBUFADR+1
@ -645,7 +645,7 @@ LB25D dey
clc
bmi LB268
adc XBC12
adc BS.CAT.EL
bcc LB25D
bcs LB25A
@ -658,17 +658,17 @@ LB268 adc #$04
jsr BS.MLIRead
bcs LB28D
inc XBC16
inc BS.CAR.EICB
lda DIRENTBUF
and #$F0
beq LB241
lda XBC14
lda BS.CAT.FileCnt
bne .1
dec XBC15
dec BS.CAT.FileCnt+1
.1 dec XBC14
.1 dec BS.CAT.FileCnt
LB28D rts
*--------------------------------------
@ -719,7 +719,7 @@ LB2D5 jsr BS.GetSysBuf
stz GP.SBUFADR
lda XBBE3
lda BS.BUFPAGE
sta GP.SBUFADR+1
ldx GP.OPENCNT
beq LB30E
@ -728,7 +728,7 @@ LB2D5 jsr BS.GetSysBuf
txa
asl
asl
adc XBBE3
adc BS.BUFPAGE
pha
LB2F2 cmp BS.BUFPAGEs,x
@ -750,7 +750,7 @@ LB2FB tya
brk
LB30D pla
LB30E sta XBBE3
LB30E sta BS.BUFPAGE
sta GP.OSYSBUF+1
stz MLI.LEVEL
@ -768,7 +768,7 @@ LB30E sta XBBE3
LB327 ldx GP.OSYSBUF+1
stx BS.REFNUMs
lda GP.OREFNUM
sta XBBFE
sta BS.REFNUM
LB333 sta GP.MLIRW.REFNUM
sta GP.MLIMRKEOFBUF.REFNUM
@ -785,7 +785,7 @@ LB333 sta GP.MLIRW.REFNUM
lda #MLI.C.NEWLINE
jsr GP.GOSYSTEM
lda GP.FoundBITS+1
and #$03
and #CMDBITS1.F+CMDBITS1.R
beq LB364
jsr LB592
@ -811,7 +811,7 @@ LB37B rts
BS.KW.VERIFY bcs LB3B7
lda GP.FoundBITS
and #$01
and #CMDBITS1.R
bne LB38D
ldy #0
@ -825,7 +825,7 @@ LB38D clc
* beq LB39F
BS.KW.FLUSH lda GP.FoundBITS
and #$01
and #CMDBITS1.R
beq LB39F
jsr BS.CheckFilename
@ -904,7 +904,7 @@ LB3FE lda GP.FITYPE
LB41D jsr BS.GetSysBuf
bcs LB3B9
lda XBBE3
lda BS.BUFPAGE
sta GP.OSYSBUF+1
lda #$07
sta MLI.LEVEL
@ -928,7 +928,7 @@ LB443 lda #$00
ror
sta GP.DIRFLG
ldx GP.OPENCNT
lda XBBE3
lda BS.BUFPAGE
sta BS.BUFPAGEs+1,x
lda GP.OREFNUM
sta BS.REFNUMs+1,x
@ -942,7 +942,7 @@ BS.AddOpenFile asl
tax
lda MLI.PATHBUF
ora GP.DIRFLG
sta XBC59,x
sta BS.OpenFiles,x
and #$7F
tay
cmp #$1E
@ -953,13 +953,13 @@ BS.AddOpenFile asl
LB473 sta ZP.PCL
lda GP.ParamL
sta XBC5A,x
sta BS.OpenFiles+1,x
lda GP.ParamL+1
sta XBC5B,x
sta BS.OpenFiles+2,x
LB481 inx
lda MLI.PATHBUF,y
sta XBC5B,x
sta BS.OpenFiles+2,x
dey
dec ZP.PCL
bne LB481
@ -999,7 +999,7 @@ LB4B3 ldx ZP.PCH
LB4B8 lda GP.EXECACTV
bpl LB4CE
lda XBBFE
lda BS.REFNUM
jsr BS.FindOpenFile
bne LB4CE
@ -1018,7 +1018,7 @@ BS.FindOpenFile asl
asl
asl
tax
lda XBC59,x
lda BS.OpenFiles,x
sta GP.DIRFLG
and #$7F
cmp MLI.PATHBUF
@ -1032,14 +1032,14 @@ BS.FindOpenFile asl
LB4EC sta ZP.PCL
lda XBC5A,x
sta XBBFF
lda XBC5B,x
sta XBC00
lda BS.OpenFiles+1,x
sta BS.RecordSize
lda BS.OpenFiles+2,x
sta BS.RecordSize+1
LB4FA inx
lda MLI.PATHBUF,y
cmp XBC5B,x
cmp BS.OpenFiles+2,x
bne LB508
dey
@ -1049,7 +1049,7 @@ LB4FA inx
LB508 rts
*--------------------------------------
BS.KW.CLOSE lda GP.FoundBITS
and #$01
and #CMDBITS0.FN1
beq LB562
jsr BS.CheckFilename
@ -1057,7 +1057,7 @@ BS.KW.CLOSE lda GP.FoundBITS
LB515 sta GP.MLICF.REFNUM
lda BS.BUFPAGEs,x
sta XBBE3
sta BS.BUFPAGE
bit GP.EXECFILE
bmi LB53F
@ -1116,7 +1116,7 @@ BS.KW.POSITION jsr BS.CheckFilename
bmi LB5F0
*--------------------------------------
LB592 lda GP.FoundBITS+1
and #$03
and #CMDBITS1.F+CMDBITS1.R
beq LB5ED
cmp #$03
@ -1164,9 +1164,9 @@ LB5ED lda #BS.E.INVOPT
LB5EF sec
LB5F0 rts
*--------------------------------------
LB5F1 lda XBBFF
LB5F1 lda BS.RecordSize
sta BS.TMPBUF4
lda XBC00
lda BS.RecordSize+1
sta BS.TMPBUF4+1
stz BS.TMPBUF4+2
@ -1220,13 +1220,13 @@ BS.KW.READ jsr BS.CheckFilename
bit GP.DIRFLG
bmi LB69C
jsr LB6D0
jsr BS.CheckBFR
bcs LB69B
ldx #$7F
ldy #$EF
lda GP.FoundBITS+1
and #$10
and #CMDBITS1.L
beq LB67C
ldy GP.ParamL
@ -1264,7 +1264,7 @@ LB69C lda #$59
lda #$01
sta GP.CATFLAG
lda GP.FoundBITS+1
and #$01
and #CMDBITS1.R
clc
beq LB696
@ -1280,11 +1280,11 @@ LB6CB lda #BS.E.RANGE
sec
rts
*--------------------------------------
LB6D0 lda GP.FoundBITS+1
and #$43
BS.CheckBFR lda GP.FoundBITS+1
and #CMDBITS1.B+CMDBITS1.F+CMDBITS1.R
beq LB719
and #$01
and #CMDBITS1.R
beq LB6E5
jsr LB5F1
@ -1292,16 +1292,16 @@ LB6D0 lda GP.FoundBITS+1
LB6E0 jsr LB712
bcs LB71A
LB6E5
lda GP.FoundBITS+1
and #$02
LB6E5 lda GP.FoundBITS+1
and #CMDBITS1.F
beq LB6F1
jsr LB5AD
bcs LB71A
LB6F1 lda GP.FoundBITS+1
and #$40
and #CMDBITS1.B
beq LB719
jsr BS.MLIGetMark
@ -1343,7 +1343,7 @@ LB732 sec
LB734 stz GP.MLIRW.DATAPTR
lda #$02
sta GP.MLIRW.DATAPTR+1
jsr LB6D0
jsr BS.CheckBFR
bcc LB757
cmp #$02
@ -1388,64 +1388,63 @@ LB77B sta GP.MLIRW.REFNUM
bpl LB78A
lda #BS.E.LOCKED
sec
LB788 sec
rts
LB788 rts
LB78A ldx GP.ParamL
ldy GP.ParamL+1
lda GP.FoundBITS+1
and #$10
and #CMDBITS1.L
bne LB79D
ldx GP.FIAUXTYPE
ldy GP.FIAUXTYPE+1
LB79D txa
pha
LB79D phx
jsr BS.GetFTableIdx
pla
sta XBC5A,x
sta XBBFF
sta BS.OpenFiles+1,x
sta BS.RecordSize
tya
sta XBC5B,x
sta XBC00
sta BS.OpenFiles+2,x
sta BS.RecordSize+1
jsr BS.MLIGetEOF
bcs LB788
lda XBC00
lda BS.RecordSize+1
bne LB7C8
lda XBBFF
lda BS.RecordSize
cmp #$02
bcc LB7CD
LB7C8 jsr LB7D0
LB7C8 jsr BS.FileLenDivRS
bcs LB788
LB7CD jmp LB74B
*--------------------------------------
LB7D0 ldx #$03
BS.FileLenDivRS ldx #$03
LB7D2 lda GP.MLIMRKEOFBUF.REFNUM,x
sta XBC09,x
LB7D2 lda GP.SBUFADR-1,x
sta BS.TMPBUF4-1,x
dex
bne LB7D2
stz BS.TMPBUF4+3
stz XBC0E
ldy #$18
ldy #24
LB7E3 jsr BS.TMPBUF3x2
rol BS.TMPBUF4+3
rol XBC0E
sec
lda BS.TMPBUF4+3
sbc XBBFF
sbc BS.RecordSize
tax
lda XBC0E
sbc XBC00
sbc BS.RecordSize+1
bcc LB805
stx BS.TMPBUF4+3
@ -1460,11 +1459,11 @@ LB805 dey
clc
beq LB839
lda XBBFF
lda BS.RecordSize
sec
sbc BS.TMPBUF4+3
tax
lda XBC00
lda BS.RecordSize+1
sbc XBC0E
tay
txa
@ -1475,10 +1474,10 @@ LB805 dey
adc GP.SBUFADR+1
sta GP.SBUFADR+1
bcc .1
inc GP.SBUFADR+2
.1 lda #$02
.1 lda #BS.E.RANGE
LB839 rts
*--------------------------------------
@ -1514,7 +1513,7 @@ BS.KW.MEM jsr MON.CROUT
sta $260,x
dex
bpl .1
lda AS.HIMEM
sta $260+10
lda AS.HIMEM+1
@ -1531,18 +1530,19 @@ BS.KW.MEM jsr MON.CROUT
lda XBC10
cmp #6
bne .2
jsr MON.CROUT
clc
rts
*--------------------------------------
BS.KW.ONLINE jsr MON.CROUT
ldx #BS.CMDBUF
ldy /BS.CMDBUF
jsr BS.SetSBUFADRXY
jsr BS.SetSBUFADRCMDBUF
lda MLI.DEVNUM
pha
lda #$10
.1 sta GP.MLIMRKEOFBUF.REFNUM
@ -1550,32 +1550,35 @@ BS.KW.ONLINE jsr MON.CROUT
lda #MLI.C.ONLINE
jsr GP.GOSYSTEM
bcs .7
lda BS.CMDBUF
and #$0F
inc
sta BS.CMDBUF.LEN
lda #'/'
sta BS.CMDBUF
jsr BS.GetFileInfo
bcs .7
ldx #BSX.Online.X
jsr BS.ToAUX
jsr BS.LINEBUFOUT
.7 lda GP.MLIMRKEOFBUF.REFNUM
eor #$80
bmi .1
clc
adc #$10
bpl .1
jsr MON.CROUT
pla
sta MLI.DEVNUM
clc
rts
*--------------------------------------
@ -1598,7 +1601,7 @@ BS.Expand2PATHBUF
BS.ToAUX stx .1+1
sei
tsx
sta IO.SETALTZP
stx $100
@ -1612,24 +1615,24 @@ BS.ToAUX stx .1+1
.1 ldx #$FF SELF MODIFIED
jsr BSX.JMPX
stx .3+1
php
plx
stx .2+1
sei
tsx
stx $101
ldx $100
txs
sta IO.CLRALTZP
bit IO.RROMBNK1
cli
.2 ldx #$FF SELF MODIFIED
phx
.3 ldx #$FF SELF MODIFIED
@ -1646,6 +1649,9 @@ BS.GetFTableIdx lda GP.MLIRW.REFNUM
tax
rts
*--------------------------------------
BS.SetSBUFADRCMDBUF
ldx #BS.CMDBUF
ldy /BS.CMDBUF
BS.SetSBUFADRXY0
stz GP.SBUFADR+2

View File

@ -155,7 +155,7 @@ BS.TXTTAB .DA $0800
BS.MEMSIZE .DA HIMEM-$400
XBBE2 .BS 1
XBBE3 .BS 1
BS.BUFPAGE .BS 1
BS.BAS.HDR .BS 5
XBBE9 .BS 1
@ -165,9 +165,9 @@ XBBEC .BS 1
XBBED .BS 1
BS.BUFPAGEs .BS 8
BS.REFNUMs .BS 8
XBBFE .BS 1
XBBFF .BS 1
XBC00 .BS 3
BS.REFNUM .BS 1
BS.RecordSize .BS 2
.BS 2
BS.CALLX .BS 1
BS.GetCharSep .BS 1
BS.GetCharMax .BS 1
@ -183,11 +183,10 @@ XBC10 .BS 1
BS.CATWIDTH .BS 1
XBC12 .BS 1
XBC13 .BS 1
XBC14 .BS 1
XBC15 .BS 1
XBC16 .BS 1
BS.CAT.EL .BS 1
BS.CAT.EPB .BS 1
BS.CAT.FileCnt .BS 2
BS.CAR.EICB .BS 1
*--------------------------------------
.LIST ON
BS.FREESPACE .EQ $BC17-*
@ -197,10 +196,7 @@ BS.FREESPACE .EQ $BC17-*
BS.CMDBUF.LEN .BS 1 keep this in $BC page, flagged in MLI.MEMTABL
BS.CMDBUF .BS 65
*--------------------------------------
XBC59 .BS 1
XBC5A .BS 1
XBC5B .BS 165
BS.OpenFiles .BS 167
*--------------------------------------
MAN
SAVE usr/src/basic.fx/basic.s.d

View File

@ -56,21 +56,25 @@ LDR.START1 ldx #$FF
ldx #$01
jsr LDR.MoveXpages
lda bRAMFlag
sta GP.CISPARE1
lda #$CF page 0,1,4,5,6,7
lda #%11001111 pages 0,1,...,4,5,6,7 protected
sta MLI.MEMTABL
ldx #19 HIMEM=$A000
ldx #19
.1 stz MLI.MEMTABL,x
dex
bne .1
lda #$FF
sta MLI.MEMTABL+20
sta MLI.MEMTABL+20 HIMEM=$A000
sta MLI.MEMTABL+21
sta MLI.MEMTABL+22
lda #$C3
lda #%11000011 pages $B8,$B9,...,$BE,$BF protected
sta MLI.MEMTABL+23
bit IO.RRAMWRAMBNK2
@ -313,7 +317,9 @@ LDR.KSW lda GP.INVECT0
lda #$8D
rts
*--------------------------------------
LDR.ShrinkRAM lda MLI.DEVPTRS3D2
LDR.ShrinkRAM stz bRAMFlag
lda MLI.DEVPTRS3D2
ldx MLI.DEVPTRS3D2+1
cmp MLI.DEVPTRS S0D1=NOVEV
@ -362,7 +368,7 @@ LDR.ShrinkRAM lda MLI.DEVPTRS3D2
dex
bpl .7
dec GP.CISPARE1 Tell BYE to reset that...
dec bRAMFlag Tell BYE to reset that...
php
sei

View File

@ -57,6 +57,7 @@ CMDBITS1.V .EQ $00 ;Volume number ignored
Ptr1 .EQ 0
Ptr2 .EQ 2
ZPCode .EQ 4
bRAMFlag .EQ 6
ZP.WNDLFT .EQ $20
ZP.WNDWDT .EQ $21