mirror of
https://github.com/A2osX/A2osX.git
synced 2024-06-12 20:29:41 +00:00
SH: Bugfix for Syntax Errors in loops
This commit is contained in:
parent
fee113dff1
commit
6e9c339c64
Binary file not shown.
|
@ -451,12 +451,6 @@ LA480 lda BS.BAS.HDR
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.LINEBUFCLR80 lda #$A0
|
BS.LINEBUFCLR80 lda #$A0
|
||||||
ldx #$4F
|
ldx #$4F
|
||||||
|
@ -484,9 +478,14 @@ BS.DOSCMD lda #$FF
|
||||||
LA6A2 jmp BS.SYNERR
|
LA6A2 jmp BS.SYNERR
|
||||||
|
|
||||||
LA6A5 jsr BS.IsIntCmd
|
LA6A5 jsr BS.IsIntCmd
|
||||||
bcs LA6A2
|
bcc .1
|
||||||
|
|
||||||
lda GP.STATE
|
jsr BS.IsExtCmd
|
||||||
|
bcs LA6A2
|
||||||
|
|
||||||
|
jmp BS.ExecCmd
|
||||||
|
|
||||||
|
.1 lda GP.STATE
|
||||||
bne LA6BA
|
bne LA6BA
|
||||||
|
|
||||||
lda GP.EXECACTV
|
lda GP.EXECACTV
|
||||||
|
@ -657,7 +656,7 @@ LA7A6 lda GP.ParamS
|
||||||
|
|
||||||
cmp #$03
|
cmp #$03
|
||||||
bcs LA76C
|
bcs LA76C
|
||||||
* >DEBUG
|
|
||||||
lda GP.AllowedBITS
|
lda GP.AllowedBITS
|
||||||
and #CMDBITS0.RRUN+CMDBITS0.FN1
|
and #CMDBITS0.RRUN+CMDBITS0.FN1
|
||||||
lsr
|
lsr
|
||||||
|
@ -745,6 +744,48 @@ BS.SYNERR lda #BS.E.SYNTAX
|
||||||
LA849 sec
|
LA849 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
BS.IsExtCmd ldx #BSX.GetPath.X
|
||||||
|
|
||||||
|
jsr BS.ToAUX
|
||||||
|
|
||||||
|
ldx MLI.PATHBUF
|
||||||
|
ldy #$ff
|
||||||
|
|
||||||
|
.1 iny
|
||||||
|
lda IO.LINEBUF,y
|
||||||
|
and #$7F
|
||||||
|
cmp #$0D
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
cmp #$20
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
sta MLI.PATHBUF,x
|
||||||
|
inx
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.2 stx MLI.PATHBUF
|
||||||
|
|
||||||
|
ldx #0
|
||||||
|
|
||||||
|
.3 inx
|
||||||
|
lda MLI.PATHBUF,x
|
||||||
|
ora #$80
|
||||||
|
jsr MON.COUT
|
||||||
|
cpx MLI.PATHBUF
|
||||||
|
bne .3
|
||||||
|
|
||||||
|
jsr BS.GetFileInfo
|
||||||
|
|
||||||
|
>DEBUG
|
||||||
|
|
||||||
|
|
||||||
|
sec
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
BS.ExecCmd clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
BS.GetVolAtSxDy lda GP.ParamS
|
BS.GetVolAtSxDy lda GP.ParamS
|
||||||
asl
|
asl
|
||||||
asl
|
asl
|
||||||
|
|
|
@ -1552,9 +1552,15 @@ BS.KW.ONLINE jsr MON.CROUT
|
||||||
|
|
||||||
lda #MLI.C.ONLINE
|
lda #MLI.C.ONLINE
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcs .7
|
bcc .2
|
||||||
|
|
||||||
|
cmp #3 MLI.E.NODEV
|
||||||
|
beq .7
|
||||||
|
|
||||||
|
ldx #BSX.OnlineErr.X
|
||||||
|
bcs .6
|
||||||
|
|
||||||
lda BS.CMDBUF
|
.2 lda BS.CMDBUF
|
||||||
and #$0F
|
and #$0F
|
||||||
inc
|
inc
|
||||||
sta BS.CMDBUF.LEN
|
sta BS.CMDBUF.LEN
|
||||||
|
@ -1565,7 +1571,7 @@ BS.KW.ONLINE jsr MON.CROUT
|
||||||
bcs .7
|
bcs .7
|
||||||
|
|
||||||
ldx #BSX.Online.X
|
ldx #BSX.Online.X
|
||||||
jsr BS.ToAUX
|
.6 jsr BS.ToAUX
|
||||||
|
|
||||||
jsr BS.LINEBUFOUT
|
jsr BS.LINEBUFOUT
|
||||||
|
|
||||||
|
@ -1749,6 +1755,34 @@ BS.KW.FORMAT.CAT
|
||||||
plp
|
plp
|
||||||
.99 rts
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
BS.KW.PATH lda GP.FoundBITS
|
||||||
|
lsr
|
||||||
|
bcs BS.SetPath
|
||||||
|
|
||||||
|
ldx #BSX.GetPath.X
|
||||||
|
jsr BS.ToAUX
|
||||||
|
|
||||||
|
jsr MON.CROUT
|
||||||
|
ldx #$00
|
||||||
|
|
||||||
|
.1 cpx MLI.PATHBUF
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
lda MLI.PATHBUF+1,x
|
||||||
|
ora #$80
|
||||||
|
jsr MON.COUT
|
||||||
|
inx
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
.2 jsr MON.CROUT
|
||||||
|
jsr MON.CROUT
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
BS.SetPath clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
BS.WBlock jsr MLI
|
BS.WBlock jsr MLI
|
||||||
.DA #MLI.C.WRITEBLOCK
|
.DA #MLI.C.WRITEBLOCK
|
||||||
.DA BS.WBlock.P
|
.DA BS.WBlock.P
|
||||||
|
|
|
@ -189,9 +189,8 @@ L214E jsr MLI
|
||||||
and #$0F
|
and #$0F
|
||||||
beq L218B
|
beq L218B
|
||||||
|
|
||||||
tax
|
inc
|
||||||
inx
|
sta MLI.PATHBUF
|
||||||
stx MLI.PATHBUF
|
|
||||||
lda #'/'
|
lda #'/'
|
||||||
sta MLI.PATHBUF+1
|
sta MLI.PATHBUF+1
|
||||||
jsr MLI
|
jsr MLI
|
||||||
|
@ -199,7 +198,10 @@ L214E jsr MLI
|
||||||
.DA LDR.GETSETPFX.P
|
.DA LDR.GETSETPFX.P
|
||||||
bne L218B
|
bne L218B
|
||||||
|
|
||||||
L216F ldy #LDR.STARTUP
|
L216F ldx #BSX.InitPath.X
|
||||||
|
jsr BS.ToAUX
|
||||||
|
|
||||||
|
ldy #LDR.STARTUP
|
||||||
lda /LDR.STARTUP
|
lda /LDR.STARTUP
|
||||||
jsr LDR.GFInfoYA
|
jsr LDR.GFInfoYA
|
||||||
bcs L218B
|
bcs L218B
|
||||||
|
|
|
@ -22,6 +22,14 @@ BSX.MkCatLineF.X .EQ *-BSX.JMP
|
||||||
.DA BSX.MkCatLineF
|
.DA BSX.MkCatLineF
|
||||||
BSX.Online.X .EQ *-BSX.JMP
|
BSX.Online.X .EQ *-BSX.JMP
|
||||||
.DA BSX.Online
|
.DA BSX.Online
|
||||||
|
BSX.OnlineErr.X .EQ *-BSX.JMP
|
||||||
|
.DA BSX.OnlineErr
|
||||||
|
BSX.InitPath.X .EQ *-BSX.JMP
|
||||||
|
.DA BSX.InitPath
|
||||||
|
BSX.SetPath.X .EQ *-BSX.JMP
|
||||||
|
.DA BSX.SetPath
|
||||||
|
BSX.GetPath.X .EQ *-BSX.JMP
|
||||||
|
.DA BSX.GetPath
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BSX.FMT.CheckP.X .EQ *-BSX.JMP
|
BSX.FMT.CheckP.X .EQ *-BSX.JMP
|
||||||
.DA BSX.FMT.CheckP
|
.DA BSX.FMT.CheckP
|
||||||
|
@ -427,7 +435,7 @@ BSX.IsIntCmd lda #BSX.IntCmds
|
||||||
lda /BSX.IntCmds
|
lda /BSX.IntCmds
|
||||||
sta ZPXPtr1+1
|
sta ZPXPtr1+1
|
||||||
|
|
||||||
ldx #37
|
ldx #38
|
||||||
stx GP.XCNUM
|
stx GP.XCNUM
|
||||||
|
|
||||||
.1 ldy #$ff
|
.1 ldy #$ff
|
||||||
|
@ -478,10 +486,14 @@ BSX.IsIntCmd lda #BSX.IntCmds
|
||||||
.5 dec GP.XCNUM
|
.5 dec GP.XCNUM
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BSX.IntCmds .AT "FORMAT"
|
BSX.IntCmds .AT "PATH"
|
||||||
|
.AT "FORMAT"
|
||||||
.AT "CD"
|
.AT "CD"
|
||||||
.AT "ONLINE"
|
.AT "ONLINE"
|
||||||
.AT "MEM"
|
.AT "MEM"
|
||||||
|
@ -558,6 +570,8 @@ BSX.KW.PBITS .DA $8040 IN
|
||||||
|
|
||||||
.DA #$18 FORMAT
|
.DA #$18 FORMAT
|
||||||
.DA #$F6
|
.DA #$F6
|
||||||
|
|
||||||
|
.DA $0091 PATH
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BSX.KW.JMP .DA BS.KW.EXTERNAL 0
|
BSX.KW.JMP .DA BS.KW.EXTERNAL 0
|
||||||
.DA BS.KW.IN 1
|
.DA BS.KW.IN 1
|
||||||
|
@ -597,6 +611,7 @@ BSX.KW.JMP .DA BS.KW.EXTERNAL 0
|
||||||
.DA BS.KW.ONLINE 35
|
.DA BS.KW.ONLINE 35
|
||||||
.DA BS.KW.PREFIX 36 (CD)
|
.DA BS.KW.PREFIX 36 (CD)
|
||||||
.DA BS.KW.FORMAT 37
|
.DA BS.KW.FORMAT 37
|
||||||
|
.DA BS.KW.PATH 38
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BSX.GetErrA tax
|
BSX.GetErrA tax
|
||||||
ldy BSX.MSG.IDX-2,x
|
ldy BSX.MSG.IDX-2,x
|
||||||
|
@ -932,32 +947,9 @@ BSX.MSG .DA #$2A
|
||||||
.DA #$54
|
.DA #$54
|
||||||
.DA #$9F
|
.DA #$9F
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BSX.Online jsr BS.LINEBUFCLR80
|
BSX.Online jsr BSX.OnlineInit
|
||||||
|
jsr BSX.OnlineSxDy
|
||||||
|
|
||||||
lda #39
|
|
||||||
sta BS.CATWIDTH
|
|
||||||
|
|
||||||
lda #"S"
|
|
||||||
sta IO.LINEBUF+1
|
|
||||||
lda #"D"
|
|
||||||
sta IO.LINEBUF+3
|
|
||||||
|
|
||||||
lda GP.MLIMRKEOFBUF.REFNUM
|
|
||||||
asl
|
|
||||||
php
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
lsr
|
|
||||||
ora #$B0
|
|
||||||
sta IO.LINEBUF+2
|
|
||||||
|
|
||||||
lda #$B0
|
|
||||||
plp
|
|
||||||
adc #1
|
|
||||||
sta IO.LINEBUF+4
|
|
||||||
|
|
||||||
ldx BS.CMDBUF.LEN
|
ldx BS.CMDBUF.LEN
|
||||||
|
|
||||||
.2 lda BS.CMDBUF.LEN,x
|
.2 lda BS.CMDBUF.LEN,x
|
||||||
|
@ -982,6 +974,129 @@ BSX.Online jsr BS.LINEBUFCLR80
|
||||||
clc
|
clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
BSX.OnlineErr pha
|
||||||
|
|
||||||
|
jsr BSX.OnlineInit
|
||||||
|
|
||||||
|
pla
|
||||||
|
pha
|
||||||
|
jsr BSX.GetErrA
|
||||||
|
|
||||||
|
ldx GP.INPTR
|
||||||
|
|
||||||
|
.10 lda IO.LINEBUF+1,x
|
||||||
|
sta IO.LINEBUF+11,x
|
||||||
|
dex
|
||||||
|
bpl .10
|
||||||
|
|
||||||
|
pla
|
||||||
|
|
||||||
|
ldx #12
|
||||||
|
|
||||||
|
.1 cmp BS.BIERRTBL,x
|
||||||
|
beq .2
|
||||||
|
|
||||||
|
dex
|
||||||
|
bpl .1
|
||||||
|
|
||||||
|
lda #$27
|
||||||
|
bra .3
|
||||||
|
|
||||||
|
.2 lda BS.MLIERTBL,x
|
||||||
|
|
||||||
|
.3 pha
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
ora #$B0
|
||||||
|
sta IO.LINEBUF+7
|
||||||
|
|
||||||
|
pla
|
||||||
|
|
||||||
|
and #$0F
|
||||||
|
ora #$B0
|
||||||
|
sta IO.LINEBUF+8
|
||||||
|
|
||||||
|
lda #"("
|
||||||
|
sta IO.LINEBUF+6
|
||||||
|
lda #")"
|
||||||
|
sta IO.LINEBUF+9
|
||||||
|
|
||||||
|
lda #" "
|
||||||
|
sta IO.LINEBUF+5
|
||||||
|
|
||||||
|
jsr BSX.OnlineSxDy
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.OnlineInit jsr BS.LINEBUFCLR80
|
||||||
|
|
||||||
|
lda #39
|
||||||
|
sta BS.CATWIDTH
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.OnlineSxDy lda #"S"
|
||||||
|
sta IO.LINEBUF+1
|
||||||
|
lda #"D"
|
||||||
|
sta IO.LINEBUF+3
|
||||||
|
|
||||||
|
lda GP.MLIMRKEOFBUF.REFNUM
|
||||||
|
asl
|
||||||
|
php
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
ora #$B0
|
||||||
|
sta IO.LINEBUF+2
|
||||||
|
|
||||||
|
lda #$B0
|
||||||
|
plp
|
||||||
|
adc #1
|
||||||
|
sta IO.LINEBUF+4
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.InitPath ldx #0
|
||||||
|
|
||||||
|
.1 inx
|
||||||
|
lda MLI.PATHBUF,x
|
||||||
|
sta BSX.PATH-1,x
|
||||||
|
cpx MLI.PATHBUF
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
ldy #0
|
||||||
|
|
||||||
|
.2 lda BSX.BIN,y
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
iny
|
||||||
|
|
||||||
|
inx
|
||||||
|
sta BSX.PATH-1,x
|
||||||
|
bra .2
|
||||||
|
|
||||||
|
.8 stx BSX.PATH.LEN
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.SetPath clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.GetPath ldx BSX.PATH.LEN
|
||||||
|
stx MLI.PATHBUF
|
||||||
|
|
||||||
|
.1 lda BSX.PATH,x
|
||||||
|
sta MLI.PATHBUF+1,x
|
||||||
|
dex
|
||||||
|
bne .1
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
BSX.Mem ldx #16+14
|
BSX.Mem ldx #16+14
|
||||||
stx BS.CATWIDTH
|
stx BS.CATWIDTH
|
||||||
|
|
||||||
|
@ -1376,6 +1491,13 @@ BSX.ToUpper cmp #'a'
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
BSX.BIN .AZ "/BIN/"
|
||||||
|
*--------------------------------------
|
||||||
|
.DUMMY
|
||||||
|
BSX.PATH.LEN .BS 1
|
||||||
|
BSX.PATH .BS 64
|
||||||
|
.ED
|
||||||
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/basic.fx/basic.s.x
|
SAVE usr/src/basic.fx/basic.s.x
|
||||||
LOAD usr/src/basic.fx/basic.s
|
LOAD usr/src/basic.fx/basic.s
|
||||||
|
|
|
@ -1302,7 +1302,7 @@ CMD.IF jsr STK.GetCtx
|
||||||
ora CORE.IntCmd
|
ora CORE.IntCmd
|
||||||
jmp STK.Push
|
jmp STK.Push
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
CMD.LOOP jsr STK.Pull
|
CMD.LOOP jsr STK.Get
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
tax
|
tax
|
||||||
|
@ -1313,9 +1313,10 @@ CMD.LOOP jsr STK.Pull
|
||||||
txa
|
txa
|
||||||
bmi .8 true, loop
|
bmi .8 true, loop
|
||||||
|
|
||||||
jmp STK.PopCtxA false, Discard loop Ptr
|
jmp STK.PopCtx false, Discard loop Ptr
|
||||||
|
|
||||||
.8 jmp STK.PullInputBufPtr
|
.8 jsr STK.Pull
|
||||||
|
jmp STK.PullInputBufPtr
|
||||||
|
|
||||||
.9 lda #E.NOWHILE
|
.9 lda #E.NOWHILE
|
||||||
sec
|
sec
|
||||||
|
|
Loading…
Reference in New Issue
Block a user