mirror of https://github.com/A2osX/A2osX.git
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
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*--------------------------------------
|
||||
BS.LINEBUFCLR80 lda #$A0
|
||||
ldx #$4F
|
||||
|
@ -484,9 +478,14 @@ BS.DOSCMD lda #$FF
|
|||
LA6A2 jmp BS.SYNERR
|
||||
|
||||
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
|
||||
|
||||
lda GP.EXECACTV
|
||||
|
@ -657,7 +656,7 @@ LA7A6 lda GP.ParamS
|
|||
|
||||
cmp #$03
|
||||
bcs LA76C
|
||||
* >DEBUG
|
||||
|
||||
lda GP.AllowedBITS
|
||||
and #CMDBITS0.RRUN+CMDBITS0.FN1
|
||||
lsr
|
||||
|
@ -745,6 +744,48 @@ BS.SYNERR lda #BS.E.SYNTAX
|
|||
LA849 sec
|
||||
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
|
||||
asl
|
||||
asl
|
||||
|
|
|
@ -1552,9 +1552,15 @@ BS.KW.ONLINE jsr MON.CROUT
|
|||
|
||||
lda #MLI.C.ONLINE
|
||||
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
|
||||
inc
|
||||
sta BS.CMDBUF.LEN
|
||||
|
@ -1565,7 +1571,7 @@ BS.KW.ONLINE jsr MON.CROUT
|
|||
bcs .7
|
||||
|
||||
ldx #BSX.Online.X
|
||||
jsr BS.ToAUX
|
||||
.6 jsr BS.ToAUX
|
||||
|
||||
jsr BS.LINEBUFOUT
|
||||
|
||||
|
@ -1749,6 +1755,34 @@ BS.KW.FORMAT.CAT
|
|||
plp
|
||||
.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
|
||||
.DA #MLI.C.WRITEBLOCK
|
||||
.DA BS.WBlock.P
|
||||
|
|
|
@ -189,9 +189,8 @@ L214E jsr MLI
|
|||
and #$0F
|
||||
beq L218B
|
||||
|
||||
tax
|
||||
inx
|
||||
stx MLI.PATHBUF
|
||||
inc
|
||||
sta MLI.PATHBUF
|
||||
lda #'/'
|
||||
sta MLI.PATHBUF+1
|
||||
jsr MLI
|
||||
|
@ -199,7 +198,10 @@ L214E jsr MLI
|
|||
.DA LDR.GETSETPFX.P
|
||||
bne L218B
|
||||
|
||||
L216F ldy #LDR.STARTUP
|
||||
L216F ldx #BSX.InitPath.X
|
||||
jsr BS.ToAUX
|
||||
|
||||
ldy #LDR.STARTUP
|
||||
lda /LDR.STARTUP
|
||||
jsr LDR.GFInfoYA
|
||||
bcs L218B
|
||||
|
|
|
@ -22,6 +22,14 @@ BSX.MkCatLineF.X .EQ *-BSX.JMP
|
|||
.DA BSX.MkCatLineF
|
||||
BSX.Online.X .EQ *-BSX.JMP
|
||||
.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
|
||||
.DA BSX.FMT.CheckP
|
||||
|
@ -427,7 +435,7 @@ BSX.IsIntCmd lda #BSX.IntCmds
|
|||
lda /BSX.IntCmds
|
||||
sta ZPXPtr1+1
|
||||
|
||||
ldx #37
|
||||
ldx #38
|
||||
stx GP.XCNUM
|
||||
|
||||
.1 ldy #$ff
|
||||
|
@ -478,10 +486,14 @@ BSX.IsIntCmd lda #BSX.IntCmds
|
|||
.5 dec GP.XCNUM
|
||||
bne .1
|
||||
|
||||
|
||||
|
||||
|
||||
sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
BSX.IntCmds .AT "FORMAT"
|
||||
BSX.IntCmds .AT "PATH"
|
||||
.AT "FORMAT"
|
||||
.AT "CD"
|
||||
.AT "ONLINE"
|
||||
.AT "MEM"
|
||||
|
@ -558,6 +570,8 @@ BSX.KW.PBITS .DA $8040 IN
|
|||
|
||||
.DA #$18 FORMAT
|
||||
.DA #$F6
|
||||
|
||||
.DA $0091 PATH
|
||||
*--------------------------------------
|
||||
BSX.KW.JMP .DA BS.KW.EXTERNAL 0
|
||||
.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.PREFIX 36 (CD)
|
||||
.DA BS.KW.FORMAT 37
|
||||
.DA BS.KW.PATH 38
|
||||
*--------------------------------------
|
||||
BSX.GetErrA tax
|
||||
ldy BSX.MSG.IDX-2,x
|
||||
|
@ -932,32 +947,9 @@ BSX.MSG .DA #$2A
|
|||
.DA #$54
|
||||
.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
|
||||
|
||||
.2 lda BS.CMDBUF.LEN,x
|
||||
|
@ -982,6 +974,129 @@ BSX.Online jsr BS.LINEBUFCLR80
|
|||
clc
|
||||
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
|
||||
stx BS.CATWIDTH
|
||||
|
||||
|
@ -1376,6 +1491,13 @@ BSX.ToUpper cmp #'a'
|
|||
|
||||
.9 rts
|
||||
*--------------------------------------
|
||||
BSX.BIN .AZ "/BIN/"
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
BSX.PATH.LEN .BS 1
|
||||
BSX.PATH .BS 64
|
||||
.ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE usr/src/basic.fx/basic.s.x
|
||||
LOAD usr/src/basic.fx/basic.s
|
||||
|
|
|
@ -1302,7 +1302,7 @@ CMD.IF jsr STK.GetCtx
|
|||
ora CORE.IntCmd
|
||||
jmp STK.Push
|
||||
*--------------------------------------
|
||||
CMD.LOOP jsr STK.Pull
|
||||
CMD.LOOP jsr STK.Get
|
||||
bcs .9
|
||||
|
||||
tax
|
||||
|
@ -1313,9 +1313,10 @@ CMD.LOOP jsr STK.Pull
|
|||
txa
|
||||
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
|
||||
sec
|
||||
|
|
Loading…
Reference in New Issue