mirror of
https://github.com/A2osX/A2osX.git
synced 2024-05-31 16:41:30 +00:00
BASIC.SYSTEM : Added EXTCMDs (wip)
This commit is contained in:
parent
4aedd7caee
commit
04e3901894
Binary file not shown.
|
@ -181,7 +181,7 @@ BS.ERROUT sta GP.ERRCODE
|
||||||
|
|
||||||
stz MLI.LEVEL
|
stz MLI.LEVEL
|
||||||
stz GP.MLICF.REFNUM
|
stz GP.MLICF.REFNUM
|
||||||
lda #MLI.C.FLUSH
|
lda #MLI.FLUSH
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
|
|
||||||
L9B27 plp
|
L9B27 plp
|
||||||
|
@ -276,7 +276,7 @@ BS.IO.IN.EXEC sta (ZP.BASL),y
|
||||||
lda GP.STATE
|
lda GP.STATE
|
||||||
bne L9C01
|
bne L9C01
|
||||||
|
|
||||||
sta IO.KSTROBE
|
sta IO.KBDSTROBE
|
||||||
beq L9C01
|
beq L9C01
|
||||||
|
|
||||||
L9BCD jsr BS.Setup4readEFBytesAt200
|
L9BCD jsr BS.Setup4readEFBytesAt200
|
||||||
|
@ -336,7 +336,7 @@ L9C1F lda GP.PREGA
|
||||||
cmp #$83
|
cmp #$83
|
||||||
bne L9C31
|
bne L9C31
|
||||||
|
|
||||||
bit IO.KSTROBE
|
bit IO.KBDSTROBE
|
||||||
rts
|
rts
|
||||||
|
|
||||||
L9C31 lda ZP.PROMPT
|
L9C31 lda ZP.PROMPT
|
||||||
|
|
|
@ -115,7 +115,7 @@ BS.SetFileBuf sta GP.SBUFADR+1
|
||||||
stz GP.SBUFADR
|
stz GP.SBUFADR
|
||||||
lda BS.REFNUMs,x
|
lda BS.REFNUMs,x
|
||||||
sta GP.MLIMRKEOFBUF.REFNUM
|
sta GP.MLIMRKEOFBUF.REFNUM
|
||||||
lda #MLI.C.SETBUF
|
lda #MLI.SETBUF
|
||||||
jmp GP.GOSYSTEM
|
jmp GP.GOSYSTEM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.GETBUFR jsr BS.GetSysBufA
|
BS.GETBUFR jsr BS.GetSysBufA
|
||||||
|
@ -461,7 +461,9 @@ BS.LINEBUFCLR80 lda #$A0
|
||||||
|
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.DOSCMD lda #$FF
|
BS.DOSCMD stz BS.bFreeBuf
|
||||||
|
|
||||||
|
lda #$FF
|
||||||
sta GP.XCNUM
|
sta GP.XCNUM
|
||||||
lda #$20
|
lda #$20
|
||||||
sta BS.GetCharSep
|
sta BS.GetCharSep
|
||||||
|
@ -481,9 +483,9 @@ LA6A5 jsr BS.IsIntCmd
|
||||||
bcc .1
|
bcc .1
|
||||||
|
|
||||||
jsr BS.IsExtCmd
|
jsr BS.IsExtCmd
|
||||||
bcs LA6A2
|
bcc .1
|
||||||
|
|
||||||
jmp BS.ExecCmd
|
rts
|
||||||
|
|
||||||
.1 lda GP.STATE
|
.1 lda GP.STATE
|
||||||
bne LA6BA
|
bne LA6BA
|
||||||
|
@ -524,7 +526,7 @@ LA6BA stz GP.FoundBITS
|
||||||
lda GP.AllowedBITS
|
lda GP.AllowedBITS
|
||||||
bpl LA6F8 CMDBITS0.PFIX
|
bpl LA6F8 CMDBITS0.PFIX
|
||||||
|
|
||||||
lda #MLI.C.GETPREFIX
|
lda #MLI.GETPREFIX
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
|
|
||||||
LA6F8 pla
|
LA6F8 pla
|
||||||
|
@ -738,11 +740,27 @@ LA80B lda GP.XCNUM
|
||||||
rts
|
rts
|
||||||
|
|
||||||
.8 clc
|
.8 clc
|
||||||
LA844 jmp (BS.KW.JMPADDR)
|
LA844 jsr .1
|
||||||
|
|
||||||
|
bit BS.bFreeBuf
|
||||||
|
bpl .8
|
||||||
|
|
||||||
|
php
|
||||||
|
pha
|
||||||
|
|
||||||
|
jsr GP.FREEBUFR
|
||||||
|
|
||||||
|
pla
|
||||||
|
plp
|
||||||
|
.8 rts
|
||||||
|
|
||||||
|
.1 jmp (BS.KW.JMPADDR)
|
||||||
|
|
||||||
BS.SYNERR lda #BS.E.SYNTAX
|
BS.SYNERR lda #BS.E.SYNTAX
|
||||||
LA849 sec
|
LA849 sec
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
BS.bFreeBuf .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.GetVolAtSxDy lda GP.ParamS
|
BS.GetVolAtSxDy lda GP.ParamS
|
||||||
asl
|
asl
|
||||||
|
@ -762,7 +780,7 @@ BS.GetVolAtSxDy lda GP.ParamS
|
||||||
ldy #$02
|
ldy #$02
|
||||||
jsr BS.SetSBUFADRXY
|
jsr BS.SetSBUFADRXY
|
||||||
|
|
||||||
lda #MLI.C.ONLINE
|
lda #MLI.ONLINE
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcs LA849
|
bcs LA849
|
||||||
|
|
||||||
|
@ -1229,7 +1247,7 @@ BS.CreateFileOrDir
|
||||||
|
|
||||||
LAD82 stx GP.CRACCESS
|
LAD82 stx GP.CRACCESS
|
||||||
sty GP.CRSTTYPE
|
sty GP.CRSTTYPE
|
||||||
lda #MLI.C.CREATE
|
lda #MLI.CREATE
|
||||||
jmp GP.GOSYSTEM
|
jmp GP.GOSYSTEM
|
||||||
|
|
||||||
LAD8D lda #BS.E.NOBUFFER
|
LAD8D lda #BS.E.NOBUFFER
|
||||||
|
@ -1238,14 +1256,14 @@ LAD8D lda #BS.E.NOBUFFER
|
||||||
BS.KW.RENAME lda GP.FoundBITS
|
BS.KW.RENAME lda GP.FoundBITS
|
||||||
lsr
|
lsr
|
||||||
lsr
|
lsr
|
||||||
lda #MLI.C.RENAME
|
lda #MLI.RENAME
|
||||||
bcs LAD9E
|
bcs LAD9E
|
||||||
|
|
||||||
jmp BS.SYNERR
|
jmp BS.SYNERR
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.KW.DELETE lda #MLI.C.DESTROY
|
BS.KW.DELETE lda #MLI.DESTROY
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
BS.SETPREFIX lda #MLI.C.SETPREFIX
|
BS.SETPREFIX lda #MLI.SETPREFIX
|
||||||
|
|
||||||
LAD9E jmp GP.GOSYSTEM
|
LAD9E jmp GP.GOSYSTEM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
@ -1297,7 +1315,6 @@ LADF0 sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.IsExtCmd ldx #BSX.GetPath.X
|
BS.IsExtCmd ldx #BSX.GetPath.X
|
||||||
|
|
||||||
jsr BS.ToAUX
|
jsr BS.ToAUX
|
||||||
|
|
||||||
ldx BS.CMDBUF.LEN
|
ldx BS.CMDBUF.LEN
|
||||||
|
@ -1317,40 +1334,89 @@ BS.IsExtCmd ldx #BSX.GetPath.X
|
||||||
bra .1
|
bra .1
|
||||||
|
|
||||||
.2 stx BS.CMDBUF.LEN
|
.2 stx BS.CMDBUF.LEN
|
||||||
|
dey
|
||||||
|
sty GP.XLEN
|
||||||
|
|
||||||
jsr BS.GetFileInfo
|
jsr BS.GetFileInfo
|
||||||
bcs .9
|
bcs .99
|
||||||
|
|
||||||
jsr MON.CROUT
|
|
||||||
|
|
||||||
lda GP.FIAUXTYPE+1
|
stz GP.XCNUM
|
||||||
ldx GP.FIAUXTYPE
|
|
||||||
jsr PRNTAX
|
lda AS.HIMEM+1
|
||||||
|
sta BS.BUFPAGE
|
||||||
|
|
||||||
jsr MON.CROUT
|
lda #$01 Read
|
||||||
|
ldx #$06 BIN
|
||||||
|
|
||||||
lda #$01
|
|
||||||
ldx #$04
|
|
||||||
jsr BS.OpenTypeXAccessA
|
jsr BS.OpenTypeXAccessA
|
||||||
>DEBUG
|
bcs .99
|
||||||
bcs .9
|
|
||||||
|
|
||||||
jsr BS.MLIGetEOF
|
jsr BS.MLIGetEOF
|
||||||
bcs .9
|
php
|
||||||
|
pha
|
||||||
|
jsr BS.MLIClose
|
||||||
|
pla
|
||||||
|
plp
|
||||||
|
bcs .99
|
||||||
|
|
||||||
lda GP.SBUFADR+1
|
lda GP.SBUFADR+2 File LEN in GP.SBUFADR
|
||||||
ldx GP.SBUFADR
|
beq .20
|
||||||
jsr PRNTAX
|
|
||||||
|
lda #BS.E.TOOLARGE
|
||||||
jsr MON.CROUT
|
sec
|
||||||
|
|
||||||
|
|
||||||
jmp BS.MLIClose
|
|
||||||
|
|
||||||
.9 rts
|
|
||||||
*--------------------------------------
|
|
||||||
BS.ExecCmd clc
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
.20 lda GP.SBUFADR+1
|
||||||
|
sta GP.MLIRW.COUNT+1
|
||||||
|
ldx GP.SBUFADR
|
||||||
|
stx GP.MLIRW.COUNT
|
||||||
|
beq .3
|
||||||
|
|
||||||
|
inc
|
||||||
|
|
||||||
|
.3 jsr GP.GETBUFR
|
||||||
|
bcs .99
|
||||||
|
|
||||||
|
dec BS.bFreeBuf
|
||||||
|
stz GP.MLIRW.DATAPTR
|
||||||
|
|
||||||
|
stz BS.KW.JMPADDR
|
||||||
|
|
||||||
|
lda GP.SBUFADR+1 Buffer Addr in GP.SBUFADR
|
||||||
|
sta GP.MLIRW.DATAPTR+1
|
||||||
|
|
||||||
|
sta BS.KW.JMPADDR+1
|
||||||
|
|
||||||
|
lda AS.HIMEM+1
|
||||||
|
sta BS.BUFPAGE
|
||||||
|
|
||||||
|
lda #$01 Read
|
||||||
|
ldx #$06 BIN
|
||||||
|
|
||||||
|
jsr BS.OpenTypeXAccessA
|
||||||
|
bcs .98
|
||||||
|
|
||||||
|
lda #MLI.READ
|
||||||
|
jsr GP.GOSYSTEM
|
||||||
|
bcs .98
|
||||||
|
|
||||||
|
jsr BS.MLIClose
|
||||||
|
bcs .98
|
||||||
|
|
||||||
|
ldx #BSX.Rel.X
|
||||||
|
|
||||||
|
jsr BS.ToAUX
|
||||||
|
bcc .99
|
||||||
|
|
||||||
|
.98 pha
|
||||||
|
|
||||||
|
jsr GP.FREEBUFR
|
||||||
|
|
||||||
|
pla
|
||||||
|
|
||||||
|
sec
|
||||||
|
|
||||||
|
.99 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
SAVE usr/src/basic.fx/basic.s.b
|
SAVE usr/src/basic.fx/basic.s.b
|
||||||
|
|
|
@ -153,7 +153,7 @@ LAEDD jsr BS.MLISetMark
|
||||||
rts
|
rts
|
||||||
|
|
||||||
LAEF7 ldx GP.XCNUM
|
LAEF7 ldx GP.XCNUM
|
||||||
lda #MLI.C.READ
|
lda #MLI.READ
|
||||||
cpx #$0F
|
cpx #$0F
|
||||||
bne LAF24
|
bne LAF24
|
||||||
|
|
||||||
|
@ -169,7 +169,7 @@ LAEF7 ldx GP.XCNUM
|
||||||
jsr BS.SetSBUFADRXY0
|
jsr BS.SetSBUFADRXY0
|
||||||
jsr BS.MLISetEOF
|
jsr BS.MLISetEOF
|
||||||
|
|
||||||
LAF22 lda #MLI.C.WRITE
|
LAF22 lda #MLI.WRITE
|
||||||
|
|
||||||
LAF24 jsr GP.GOSYSTEM
|
LAF24 jsr GP.GOSYSTEM
|
||||||
bcs LAF38
|
bcs LAF38
|
||||||
|
@ -291,19 +291,19 @@ BS.WriteXYBytes sec
|
||||||
stx GP.MLIRW.COUNT
|
stx GP.MLIRW.COUNT
|
||||||
bcc BS.MLIRead
|
bcc BS.MLIRead
|
||||||
|
|
||||||
BS.MLIWrite lda #MLI.C.WRITE
|
BS.MLIWrite lda #MLI.WRITE
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
BS.MLIRead lda #MLI.C.READ
|
BS.MLIRead lda #MLI.READ
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
BS.MLIClose lda #MLI.C.CLOSE
|
BS.MLIClose lda #MLI.CLOSE
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
BS.MLIGetEOF lda #MLI.C.GETEOF
|
BS.MLIGetEOF lda #MLI.GETEOF
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
BS.MLISetEOF lda #MLI.C.SETEOF
|
BS.MLISetEOF lda #MLI.SETEOF
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
BS.MLIGetMark lda #MLI.C.GETMARK
|
BS.MLIGetMark lda #MLI.GETMARK
|
||||||
.HS 2C BIT ABS
|
.HS 2C BIT ABS
|
||||||
BS.MLISetMark lda #MLI.C.SETMARK
|
BS.MLISetMark lda #MLI.SETMARK
|
||||||
jmp GP.GOSYSTEM
|
jmp GP.GOSYSTEM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.KW.PR lda #$00
|
BS.KW.PR lda #$00
|
||||||
|
@ -385,12 +385,12 @@ BS.KW.BYE jsr BS.CloseAll
|
||||||
jsr BS.RAMReset
|
jsr BS.RAMReset
|
||||||
* lda #$65
|
* lda #$65
|
||||||
jsr MLI
|
jsr MLI
|
||||||
.DA #MLI.C.QUIT
|
.DA #MLI.QUIT
|
||||||
.DA GP.MLIRW
|
.DA GP.MLIRW
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.QUIT.IIgs jsr BS.RAMReset
|
BS.QUIT.IIgs jsr BS.RAMReset
|
||||||
jsr MLI
|
jsr MLI
|
||||||
.DA #MLI.C.QUIT
|
.DA #MLI.QUIT
|
||||||
.DA .1
|
.DA .1
|
||||||
|
|
||||||
.1 .DA #4
|
.1 .DA #4
|
||||||
|
@ -478,7 +478,7 @@ LB0FD lda IO.KBD
|
||||||
lda GP.STATE
|
lda GP.STATE
|
||||||
bne LB113
|
bne LB113
|
||||||
|
|
||||||
bit IO.KSTROBE
|
bit IO.KBDSTROBE
|
||||||
bcs LB113
|
bcs LB113
|
||||||
|
|
||||||
LB10E lda #$FF
|
LB10E lda #$FF
|
||||||
|
@ -531,7 +531,7 @@ BS.MkCatLineF jsr BS.SetSBUFADRCMDBUF
|
||||||
|
|
||||||
lda MLI.DEVNUM
|
lda MLI.DEVNUM
|
||||||
sta GP.MLIMRKEOFBUF.REFNUM
|
sta GP.MLIMRKEOFBUF.REFNUM
|
||||||
lda #MLI.C.ONLINE
|
lda #MLI.ONLINE
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcs LB127
|
bcs LB127
|
||||||
|
|
||||||
|
@ -608,7 +608,7 @@ BS.OpenTypeXAccessA
|
||||||
sta GP.OSYSBUF+1
|
sta GP.OSYSBUF+1
|
||||||
lda #$0F
|
lda #$0F
|
||||||
sta MLI.LEVEL
|
sta MLI.LEVEL
|
||||||
lda #MLI.C.OPEN
|
lda #MLI.OPEN
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcs LB238
|
bcs LB238
|
||||||
|
|
||||||
|
@ -742,7 +742,7 @@ LB2FB tya
|
||||||
sta BS.BUFPAGEs-1,x
|
sta BS.BUFPAGEs-1,x
|
||||||
lda BS.REFNUMs,x
|
lda BS.REFNUMs,x
|
||||||
sta GP.MLIMRKEOFBUF.REFNUM
|
sta GP.MLIMRKEOFBUF.REFNUM
|
||||||
lda #MLI.C.SETBUF
|
lda #MLI.SETBUF
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcc LB30D
|
bcc LB30D
|
||||||
|
|
||||||
|
@ -755,7 +755,7 @@ LB30E sta BS.BUFPAGE
|
||||||
|
|
||||||
stz MLI.LEVEL
|
stz MLI.LEVEL
|
||||||
|
|
||||||
lda #MLI.C.OPEN
|
lda #MLI.OPEN
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcc LB327
|
bcc LB327
|
||||||
|
|
||||||
|
@ -782,7 +782,7 @@ LB333 sta GP.MLIRW.REFNUM
|
||||||
|
|
||||||
lda #$7F
|
lda #$7F
|
||||||
sta GP.NLINEMASK
|
sta GP.NLINEMASK
|
||||||
lda #MLI.C.NEWLINE
|
lda #MLI.NEWLINE
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
lda GP.FoundBITS+1
|
lda GP.FoundBITS+1
|
||||||
and #CMDBITS1.F+CMDBITS1.R
|
and #CMDBITS1.F+CMDBITS1.R
|
||||||
|
@ -833,7 +833,7 @@ BS.KW.FLUSH lda GP.FoundBITS
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
.1 sta GP.MLICF.REFNUM
|
.1 sta GP.MLICF.REFNUM
|
||||||
lda #MLI.C.FLUSH
|
lda #MLI.FLUSH
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
|
|
||||||
.9 rts
|
.9 rts
|
||||||
|
@ -911,7 +911,7 @@ LB41D jsr BS.GetSysBuf
|
||||||
lda #$07
|
lda #$07
|
||||||
sta MLI.LEVEL
|
sta MLI.LEVEL
|
||||||
|
|
||||||
lda #MLI.C.OPEN
|
lda #MLI.OPEN
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcc LB43B
|
bcc LB43B
|
||||||
|
|
||||||
|
@ -1143,7 +1143,7 @@ LB5AD lda #$EF
|
||||||
|
|
||||||
lda #$7F
|
lda #$7F
|
||||||
sta GP.NLINEMASK
|
sta GP.NLINEMASK
|
||||||
lda #MLI.C.NEWLINE
|
lda #MLI.NEWLINE
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcs LB5F0
|
bcs LB5F0
|
||||||
|
|
||||||
|
@ -1252,7 +1252,7 @@ LB67C sta GP.MLIRW.DATAPTR
|
||||||
|
|
||||||
stz GP.MLIRW.COUNT+1
|
stz GP.MLIRW.COUNT+1
|
||||||
|
|
||||||
lda #MLI.C.NEWLINE
|
lda #MLI.NEWLINE
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcs LB69B
|
bcs LB69B
|
||||||
|
|
||||||
|
@ -1485,7 +1485,7 @@ LB805 dey
|
||||||
LB839 rts
|
LB839 rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.GetFileInfo ldx #$0A
|
BS.GetFileInfo ldx #$0A
|
||||||
lda #MLI.C.GETFILEINFO
|
lda #MLI.GFINFO
|
||||||
bne LB858
|
bne LB858
|
||||||
|
|
||||||
BS.SetFileInfoNoDate
|
BS.SetFileInfoNoDate
|
||||||
|
@ -1496,7 +1496,7 @@ BS.SetFileInfoNoDate
|
||||||
bpl .1
|
bpl .1
|
||||||
|
|
||||||
BS.SetFileInfo ldx #$07
|
BS.SetFileInfo ldx #$07
|
||||||
lda #MLI.C.SETFILEINFO
|
lda #MLI.SFINFO
|
||||||
|
|
||||||
LB858 stx GP.SSGINFO
|
LB858 stx GP.SSGINFO
|
||||||
jmp GP.GOSYSTEM
|
jmp GP.GOSYSTEM
|
||||||
|
@ -1550,7 +1550,7 @@ BS.KW.ONLINE jsr MON.CROUT
|
||||||
|
|
||||||
.1 sta GP.MLIMRKEOFBUF.REFNUM
|
.1 sta GP.MLIMRKEOFBUF.REFNUM
|
||||||
|
|
||||||
lda #MLI.C.ONLINE
|
lda #MLI.ONLINE
|
||||||
jsr GP.GOSYSTEM
|
jsr GP.GOSYSTEM
|
||||||
bcc .2
|
bcc .2
|
||||||
|
|
||||||
|
@ -1765,10 +1765,10 @@ BS.KW.PATH lda GP.FoundBITS
|
||||||
jsr MON.CROUT
|
jsr MON.CROUT
|
||||||
ldx #$00
|
ldx #$00
|
||||||
|
|
||||||
.1 cpx MLI.PATHBUF
|
.1 cpx BS.CMDBUF.LEN
|
||||||
beq .2
|
beq .2
|
||||||
|
|
||||||
lda MLI.PATHBUF+1,x
|
lda BS.CMDBUF+1,x
|
||||||
ora #$80
|
ora #$80
|
||||||
jsr MON.COUT
|
jsr MON.COUT
|
||||||
inx
|
inx
|
||||||
|
@ -1784,7 +1784,7 @@ BS.SetPath clc
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.WBlock jsr MLI
|
BS.WBlock jsr MLI
|
||||||
.DA #MLI.C.WRITEBLOCK
|
.DA #MLI.WRITEBLOCK
|
||||||
.DA BS.WBlock.P
|
.DA BS.WBlock.P
|
||||||
bcs .9
|
bcs .9
|
||||||
|
|
||||||
|
@ -1811,7 +1811,7 @@ BS.Expand2PATHBUF
|
||||||
beq .1
|
beq .1
|
||||||
|
|
||||||
jsr MLI no, get current path as a base
|
jsr MLI no, get current path as a base
|
||||||
.DA #MLI.C.GETPREFIX
|
.DA #MLI.GETPREFIX
|
||||||
.DA BS.Expand2.P
|
.DA BS.Expand2.P
|
||||||
|
|
||||||
.1 ldx #BSX.Expand.X
|
.1 ldx #BSX.Expand.X
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
NEW
|
NEW
|
||||||
AUTO 3,1
|
AUTO 3,1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.ENTRY jmp BS.ENTRY
|
jmp BS.ENTRY GP.ENTRY
|
||||||
GP.DOSCMD jmp BS.DOSCMD
|
jmp BS.DOSCMD GP.DOSCMD
|
||||||
GP.EXTRNCMD jmp GP.RTS
|
jmp GP.RTS GP.EXTRNCMD
|
||||||
GP.ERROUT jmp BS.ERROUT
|
jmp BS.ERROUT GP.ERROUT
|
||||||
GP.PRINTERR jmp BS.PRINTERR
|
jmp BS.PRINTERR GP.PRINTERR
|
||||||
GP.ERRCODE .BS 1
|
.BS 1 GP.ERRCODE
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.OUTVECT0 .DA MON.COUT1
|
GP.OUTVECT0 .DA MON.COUT1
|
||||||
GP.OUTVECT1 .DA BS.NODEVERR
|
GP.OUTVECT1 .DA BS.NODEVERR
|
||||||
|
@ -85,15 +85,15 @@ GP.GOSYSTEM.P .DA GP.GOSYSTEM.P
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.BADCALL ldx #$12
|
GP.BADCALL ldx #$12
|
||||||
|
|
||||||
LBE8D cmp BS.MLIERTBL,x
|
.1 cmp BS.MLIERTBL,x
|
||||||
beq LBE97
|
beq .2
|
||||||
|
|
||||||
dex
|
dex
|
||||||
bpl LBE8D
|
bpl .1
|
||||||
|
|
||||||
ldx #$13
|
ldx #$13
|
||||||
|
|
||||||
LBE97 lda BS.BIERRTBL,x
|
.2 lda BS.BIERRTBL,x
|
||||||
ldx BS.CALLX
|
ldx BS.CALLX
|
||||||
sec
|
sec
|
||||||
|
|
||||||
|
@ -153,8 +153,8 @@ GP.MLICF.REFNUM .BS 1
|
||||||
GP.CCCSPARE .BS 1
|
GP.CCCSPARE .BS 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
GP.COPYRIGHT .AS -"COPYRIGHT APPLE, 1983"
|
GP.COPYRIGHT .AS -"COPYRIGHT APPLE, 1983"
|
||||||
GP.GETBUFR jmp BS.GETBUFR
|
jmp BS.GETBUFR GP.GETBUFR
|
||||||
GP.FREEBUFR jmp BS.FREEBUFR
|
jmp BS.FREEBUFR GP.FREEBUFR
|
||||||
GP.RSHIMEM .BS 5
|
GP.RSHIMEM .BS 5
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MAN
|
MAN
|
||||||
|
|
|
@ -157,7 +157,7 @@ L2115 iny
|
||||||
beq L214E
|
beq L214E
|
||||||
|
|
||||||
jsr MLI
|
jsr MLI
|
||||||
.DA #MLI.C.GETPREFIX
|
.DA #MLI.GETPREFIX
|
||||||
.DA LDR.GETSETPFX.P
|
.DA LDR.GETSETPFX.P
|
||||||
bne L218B
|
bne L218B
|
||||||
|
|
||||||
|
@ -177,11 +177,11 @@ L213E dex
|
||||||
bcs L216F
|
bcs L216F
|
||||||
|
|
||||||
jsr MLI
|
jsr MLI
|
||||||
.DA #MLI.C.SETPREFIX
|
.DA #MLI.SETPREFIX
|
||||||
.DA LDR.SETPFXSLASH.P
|
.DA LDR.SETPFXSLASH.P
|
||||||
|
|
||||||
L214E jsr MLI
|
L214E jsr MLI
|
||||||
.DA #MLI.C.ONLINE
|
.DA #MLI.ONLINE
|
||||||
.DA LDR.ONLINE.P
|
.DA LDR.ONLINE.P
|
||||||
bne L218B
|
bne L218B
|
||||||
|
|
||||||
|
@ -194,7 +194,7 @@ L214E jsr MLI
|
||||||
lda #'/'
|
lda #'/'
|
||||||
sta MLI.PATHBUF+1
|
sta MLI.PATHBUF+1
|
||||||
jsr MLI
|
jsr MLI
|
||||||
.DA #MLI.C.SETPREFIX
|
.DA #MLI.SETPREFIX
|
||||||
.DA LDR.GETSETPFX.P
|
.DA LDR.GETSETPFX.P
|
||||||
bne L218B
|
bne L218B
|
||||||
|
|
||||||
|
@ -222,7 +222,7 @@ L218B lda LDR.PFX.LEN
|
||||||
bcs L2198
|
bcs L2198
|
||||||
|
|
||||||
jsr MLI
|
jsr MLI
|
||||||
.DA #MLI.C.SETPREFIX
|
.DA #MLI.SETPREFIX
|
||||||
.DA LDR.SETPFXSLASH.P
|
.DA LDR.SETPFXSLASH.P
|
||||||
|
|
||||||
L2198 lda LDR.STARTUP.LEN
|
L2198 lda LDR.STARTUP.LEN
|
||||||
|
@ -367,7 +367,7 @@ LDR.GFInfoYA sty LDR.GFINFO.P+1
|
||||||
pha
|
pha
|
||||||
|
|
||||||
jsr MLI
|
jsr MLI
|
||||||
.DA #MLI.C.GETFILEINFO
|
.DA #MLI.GFINFO
|
||||||
.DA LDR.GFINFO.P
|
.DA LDR.GFINFO.P
|
||||||
|
|
||||||
plx
|
plx
|
||||||
|
|
|
@ -45,6 +45,9 @@ BSX.Fre0.X .EQ *-BSX.JMP
|
||||||
BSX.Fre1.X .EQ *-BSX.JMP
|
BSX.Fre1.X .EQ *-BSX.JMP
|
||||||
.DA BSX.Fre1
|
.DA BSX.Fre1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
BSX.Rel.X .EQ *-BSX.JMP
|
||||||
|
.DA BSX.Rel
|
||||||
|
*--------------------------------------
|
||||||
BSX.CheckOpt jsr BS.TMPBUF3Reset
|
BSX.CheckOpt jsr BS.TMPBUF3Reset
|
||||||
|
|
||||||
jsr BSX.ToUpper
|
jsr BSX.ToUpper
|
||||||
|
@ -486,9 +489,6 @@ BSX.IsIntCmd lda #BSX.IntCmds
|
||||||
.5 dec GP.XCNUM
|
.5 dec GP.XCNUM
|
||||||
bne .1
|
bne .1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sec
|
sec
|
||||||
rts
|
rts
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
|
|
191
BASIC.FX/BASIC.S.XR.txt
Normal file
191
BASIC.FX/BASIC.S.XR.txt
Normal file
|
@ -0,0 +1,191 @@
|
||||||
|
NEW
|
||||||
|
AUTO 3,1
|
||||||
|
*--------------------------------------
|
||||||
|
* GP.FIAUXTYPE = ORG
|
||||||
|
* GP.MLIRW.DATAPTR = new ORG
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.RelOfs .BS 2
|
||||||
|
BSX.RelStart .BS 2
|
||||||
|
BSX.RelEnd .BS 2
|
||||||
|
BSX.RelStop .BS 2
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.Rel lda GP.MLIRW.DATAPTR
|
||||||
|
sta ZP.A1L
|
||||||
|
sec
|
||||||
|
sbc GP.FIAUXTYPE
|
||||||
|
sta BSX.RelOfs
|
||||||
|
|
||||||
|
lda GP.MLIRW.DATAPTR+1
|
||||||
|
sta ZP.A1L+1
|
||||||
|
sbc GP.FIAUXTYPE+1
|
||||||
|
sta BSX.RelOfs+1
|
||||||
|
|
||||||
|
ldy #2
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
sta BSX.RelStart
|
||||||
|
iny
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
sta BSX.RelStart+1
|
||||||
|
|
||||||
|
ldy #10
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
sta BSX.RelEnd
|
||||||
|
iny
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
sta BSX.RelEnd+1
|
||||||
|
|
||||||
|
ldy #8
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
clc
|
||||||
|
adc BSX.RelOfs
|
||||||
|
sta BSX.RelStop
|
||||||
|
iny
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
adc BSX.RelOfs+1
|
||||||
|
sta BSX.RelStop+1
|
||||||
|
|
||||||
|
ldy #4
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
sta GP.AllowedBITS
|
||||||
|
iny
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
sta GP.AllowedBITS+1
|
||||||
|
|
||||||
|
ldy #2
|
||||||
|
jsr BSX.RelAtA1Y relocate CLD JMP CODE.START
|
||||||
|
|
||||||
|
lda #16 skip header
|
||||||
|
jsr BSX.RelSkipA
|
||||||
|
|
||||||
|
.1 ldy #1
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
ora (ZP.A1L)
|
||||||
|
beq .20
|
||||||
|
|
||||||
|
dey ldy #0
|
||||||
|
|
||||||
|
jsr BSX.RelAtA1Y
|
||||||
|
lda #2
|
||||||
|
jsr BSX.RelSkipA
|
||||||
|
bra .1
|
||||||
|
|
||||||
|
.20 lda #2
|
||||||
|
jsr BSX.RelSkipA
|
||||||
|
|
||||||
|
.2 lda (ZP.A1L)
|
||||||
|
lsr
|
||||||
|
tax
|
||||||
|
lda BSX.65R02,x
|
||||||
|
bcs .3
|
||||||
|
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
lsr
|
||||||
|
|
||||||
|
.3 and #$0f
|
||||||
|
bit #$08
|
||||||
|
beq .7
|
||||||
|
|
||||||
|
and #$07
|
||||||
|
pha
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
jsr BSX.RelAtA1Y
|
||||||
|
|
||||||
|
lda (ZP.A1L)
|
||||||
|
cmp #$20 JSR
|
||||||
|
bne .6
|
||||||
|
|
||||||
|
ldy #1
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
bne .6
|
||||||
|
|
||||||
|
iny
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
cmp #$BF jsr $BF00 ?
|
||||||
|
bne .6
|
||||||
|
|
||||||
|
pla
|
||||||
|
lda #6
|
||||||
|
pha
|
||||||
|
|
||||||
|
.6 pla
|
||||||
|
|
||||||
|
.7 clc
|
||||||
|
adc ZP.A1L
|
||||||
|
sta ZP.A1L
|
||||||
|
bcc .8
|
||||||
|
|
||||||
|
inc ZP.A1L+1
|
||||||
|
|
||||||
|
.8 cmp BSX.RelStop
|
||||||
|
lda ZP.A1L+1
|
||||||
|
sbc BSX.RelStop+1
|
||||||
|
bcc .2
|
||||||
|
|
||||||
|
clc
|
||||||
|
rts
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.RelAtA1Y lda (ZP.A1L),y
|
||||||
|
tax
|
||||||
|
iny
|
||||||
|
|
||||||
|
cpx BSX.RelStart
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
sbc BSX.RelStart+1
|
||||||
|
|
||||||
|
bcc .9
|
||||||
|
|
||||||
|
cpx BSX.RelEnd
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
sbc BSX.RelEnd+1
|
||||||
|
bcs .9
|
||||||
|
|
||||||
|
dey
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
clc
|
||||||
|
adc BSX.RelOfs
|
||||||
|
sta (ZP.A1L),y
|
||||||
|
iny
|
||||||
|
lda (ZP.A1L),y
|
||||||
|
adc BSX.RelOfs+1
|
||||||
|
sta (ZP.A1L),y
|
||||||
|
|
||||||
|
.9 rts
|
||||||
|
*--------------------------------------
|
||||||
|
BSX.RelSkipA clc
|
||||||
|
adc ZP.A1L
|
||||||
|
sta ZP.A1L
|
||||||
|
bcc .8
|
||||||
|
|
||||||
|
inc ZP.A1L+1
|
||||||
|
|
||||||
|
.8 rts
|
||||||
|
*--------------------------------------
|
||||||
|
* 65R02 OPCODES
|
||||||
|
*--------------------------------------
|
||||||
|
* 0.1.2.3.4.5.6.7.8.9.A.B.C.D.E.F
|
||||||
|
BSX.65R02 .HS 1.2.2.1.2.2.2.2.1.2.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.B.1.1.B.B.B.3
|
||||||
|
.HS B.2.2.1.2.2.2.2.1.2.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.B.1.1.B.B.B.3
|
||||||
|
.HS 1.2.2.1.2.2.2.2.1.2.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.B.1.1.1.B.B.3
|
||||||
|
.HS 1.2.2.1.2.2.2.2.1.2.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.B.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.2.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.B.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.2.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.B.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.2.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.B.1.1.1.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.2.1.1.B.B.B.3
|
||||||
|
.HS 2.2.2.1.2.2.2.2.1.B.1.1.1.B.B.3
|
||||||
|
*--------------------------------------
|
||||||
|
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE usr/src/basic.fx/basic.s.xr
|
||||||
|
LOAD usr/src/basic.fx/basic.s
|
||||||
|
ASM
|
|
@ -12,52 +12,14 @@ NEW
|
||||||
.EM
|
.EM
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
.INB inc/monitor.i
|
.INB inc/monitor.i
|
||||||
|
.INB inc/io.i
|
||||||
.INB inc/io.d2.i
|
.INB inc/io.d2.i
|
||||||
|
.INB inc/mli.i
|
||||||
|
.INB inc/bs.i
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
HIMEM .EQ $A000
|
HIMEM .EQ $A000
|
||||||
LOWERCASE .EQ 1
|
LOWERCASE .EQ 1
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
BS.E.RANGE .EQ $02
|
|
||||||
BS.E.NODEV .EQ $03
|
|
||||||
BS.E.WPROT .EQ $04
|
|
||||||
BS.E.ENDOFDATA .EQ $05
|
|
||||||
BS.E.PATHNFND6 .EQ $06
|
|
||||||
BS.E.PATHNFND7 .EQ $07
|
|
||||||
BS.E.IO .EQ $08
|
|
||||||
BS.E.DISKFULL .EQ $09
|
|
||||||
BS.E.LOCKED .EQ $0A
|
|
||||||
BS.E.INVOPT .EQ $0B
|
|
||||||
BS.E.NOBUFFER .EQ $0C
|
|
||||||
BS.E.MISMATCH .EQ $0D
|
|
||||||
BS.E.TOOLARGE .EQ $0E
|
|
||||||
BS.E.NODIRECT .EQ $0F
|
|
||||||
BS.E.SYNTAX .EQ $10
|
|
||||||
BS.E.DIRFULL .EQ $11
|
|
||||||
BS.E.FNOTOPEN .EQ $12
|
|
||||||
BS.E.DUPFILE .EQ $13
|
|
||||||
BS.E.FBUSTY .EQ $14
|
|
||||||
BS.E.FSTILLOPEN .EQ $15
|
|
||||||
*--------------------------------------
|
|
||||||
CMDBITS0.PFIX .EQ $80 Prefix needs fetching, pathname optional
|
|
||||||
CMDBITS0.SLOT .EQ $40 No parameters to be processed
|
|
||||||
CMDBITS0.RRUN .EQ $20 Command only valid during program
|
|
||||||
CMDBITS0.FNOPT .EQ $10 Filename is optional
|
|
||||||
CMDBITS0.CRFLG .EQ $08 CREATE allowed
|
|
||||||
CMDBITS0.T .EQ $04 File type
|
|
||||||
CMDBITS0.FN2 .EQ $02 Filename '2' for RENAME
|
|
||||||
CMDBITS0.FN1 .EQ $01 Filename expected
|
|
||||||
|
|
||||||
CMDBITS1.A .EQ $80 Address
|
|
||||||
CMDBITS1.B .EQ $40 Byte
|
|
||||||
CMDBITS1.E .EQ $20 End address
|
|
||||||
CMDBITS1.L .EQ $10 Length
|
|
||||||
CMDBITS1.LINE .EQ $08 '@' line number
|
|
||||||
CMDBITS1.SD .EQ $04 Slot and drive numbers
|
|
||||||
CMDBITS1.F .EQ $02 Field
|
|
||||||
CMDBITS1.R .EQ $01 Record
|
|
||||||
|
|
||||||
CMDBITS1.V .EQ $00 Volume number ignored
|
|
||||||
*--------------------------------------
|
|
||||||
ZPPtr1 .EQ 0
|
ZPPtr1 .EQ 0
|
||||||
ZPPtr2 .EQ 2
|
ZPPtr2 .EQ 2
|
||||||
ZPInBufPtr .EQ 4
|
ZPInBufPtr .EQ 4
|
||||||
|
@ -156,36 +118,6 @@ MON.BRKVECT .EQ $03F0
|
||||||
MON.POWERUP .EQ $03F2
|
MON.POWERUP .EQ $03F2
|
||||||
MON.POWERUPBYTE .EQ $03F4
|
MON.POWERUPBYTE .EQ $03F4
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
MLI.MAXPATH .EQ 64
|
|
||||||
MLI.C.ALLOCIRQ .EQ $40
|
|
||||||
MLI.C.DEALLOCIRQ .EQ $41
|
|
||||||
MLI.C.ATALK .EQ $42
|
|
||||||
MLI.C.QUIT .EQ $65
|
|
||||||
MLI.C.READBLOCK .EQ $80
|
|
||||||
MLI.C.WRITEBLOCK .EQ $81
|
|
||||||
MLI.C.GETTIME .EQ $82
|
|
||||||
MLI.C.CREATE .EQ $C0
|
|
||||||
MLI.C.DESTROY .EQ $C1
|
|
||||||
MLI.C.RENAME .EQ $C2
|
|
||||||
MLI.C.SETFILEINFO .EQ $C3
|
|
||||||
MLI.C.GETFILEINFO .EQ $C4
|
|
||||||
MLI.C.ONLINE .EQ $C5
|
|
||||||
MLI.C.SETPREFIX .EQ $C6
|
|
||||||
MLI.C.GETPREFIX .EQ $C7
|
|
||||||
MLI.C.OPEN .EQ $C8
|
|
||||||
MLI.C.NEWLINE .EQ $C9
|
|
||||||
MLI.C.READ .EQ $CA
|
|
||||||
MLI.C.WRITE .EQ $CB
|
|
||||||
MLI.C.CLOSE .EQ $CC
|
|
||||||
MLI.C.FLUSH .EQ $CD
|
|
||||||
MLI.C.SETMARK .EQ $CE
|
|
||||||
MLI.C.GETMARK .EQ $CF
|
|
||||||
MLI.C.SETEOF .EQ $D0
|
|
||||||
MLI.C.GETEOF .EQ $D1
|
|
||||||
MLI.C.SETBUF .EQ $D2
|
|
||||||
MLI.C.GETBUF .EQ $D3
|
|
||||||
*--------------------------------------
|
|
||||||
MLI .EQ $BF00
|
|
||||||
MLI.DEVPTRS .EQ $BF10
|
MLI.DEVPTRS .EQ $BF10
|
||||||
MLI.DEVPTRS3D2 .EQ $BF26
|
MLI.DEVPTRS3D2 .EQ $BF26
|
||||||
MLI.DEVNUM .EQ $BF30
|
MLI.DEVNUM .EQ $BF30
|
||||||
|
@ -200,23 +132,6 @@ MLI.PFIXPTR .EQ $BF9A
|
||||||
MLI.MLIACTV .EQ $BF9B
|
MLI.MLIACTV .EQ $BF9B
|
||||||
MLI.IVERSION .EQ $BFFD
|
MLI.IVERSION .EQ $BFFD
|
||||||
*--------------------------------------
|
*--------------------------------------
|
||||||
IO.KBD .EQ $C000 R
|
|
||||||
IO.CLR80STORE .EQ $C000 W
|
|
||||||
IO.SET80STORE .EQ $C001 W
|
|
||||||
IO.CLRREADAUX .EQ $C002 W
|
|
||||||
IO.SETREADAUX .EQ $C003 W
|
|
||||||
IO.CLRWRITEAUX .EQ $C004 W
|
|
||||||
IO.SETWRITEAUX .EQ $C005 W
|
|
||||||
IO.CLRALTZP .EQ $C008 W
|
|
||||||
IO.SETALTZP .EQ $C009 W
|
|
||||||
IO.CLR80DISP .EQ $C00C W
|
|
||||||
IO.SET80DISP .EQ $C00D W
|
|
||||||
IO.KSTROBE .EQ $C010 W
|
|
||||||
IO.RROMBNK2 .EQ $C082 R
|
|
||||||
IO.RRAMWRAMBNK2 .EQ $C083 RR
|
|
||||||
IO.RROMBNK1 .EQ $C08A R
|
|
||||||
IO.RRAMWRAMBNK1 .EQ $C08B RR
|
|
||||||
*--------------------------------------
|
|
||||||
AS.RESTART .EQ $D43C
|
AS.RESTART .EQ $D43C
|
||||||
AS.RESTART1 .EQ $D43F
|
AS.RESTART1 .EQ $D43F
|
||||||
AS.FINDLINE .EQ $D61A
|
AS.FINDLINE .EQ $D61A
|
||||||
|
@ -300,6 +215,7 @@ X.TRkFMT.Z .EQ $10
|
||||||
.LIST OFF
|
.LIST OFF
|
||||||
.INB usr/src/basic.fx/basic.s.xf
|
.INB usr/src/basic.fx/basic.s.xf
|
||||||
.INB usr/src/basic.fx/basic.s.xm
|
.INB usr/src/basic.fx/basic.s.xm
|
||||||
|
.INB usr/src/basic.fx/basic.s.xr
|
||||||
.INB usr/src/basic.fx/basic.s.x
|
.INB usr/src/basic.fx/basic.s.x
|
||||||
.EP
|
.EP
|
||||||
AUX.LEN .EQ *-LDR.AUX.SRC
|
AUX.LEN .EQ *-LDR.AUX.SRC
|
||||||
|
|
45
BASIC.FX/TEST.S.txt
Normal file
45
BASIC.FX/TEST.S.txt
Normal file
|
@ -0,0 +1,45 @@
|
||||||
|
NEW
|
||||||
|
AUTO 3,1
|
||||||
|
.LIST OFF
|
||||||
|
.OP 65c02
|
||||||
|
.OR $2000
|
||||||
|
.TF BIN/test
|
||||||
|
*--------------------------------------
|
||||||
|
.INB inc/monitor.i
|
||||||
|
.INB inc/bs.i
|
||||||
|
*--------------------------------------
|
||||||
|
HEADER cld Allows BRUN at ORG=$2000
|
||||||
|
jmp CODE.START for debugging without relocation
|
||||||
|
.DA #0 CMDBITS0
|
||||||
|
.DA #0 CMDBITS1
|
||||||
|
.DA 0 spare
|
||||||
|
.DA CODE.END
|
||||||
|
.DA DATA.END
|
||||||
|
.DA 0
|
||||||
|
.DA 0 spare....16 bytes header
|
||||||
|
*--------------------------------------
|
||||||
|
R.MSG .DA MSG
|
||||||
|
.DA 0
|
||||||
|
*--------------------------------------
|
||||||
|
CODE.START ldx #0
|
||||||
|
|
||||||
|
.1 lda MSG,x ABS relocation required
|
||||||
|
beq .8
|
||||||
|
|
||||||
|
jsr COUT
|
||||||
|
inx
|
||||||
|
jmp .1 ABS relocation required
|
||||||
|
|
||||||
|
|
||||||
|
.8 clc
|
||||||
|
rts
|
||||||
|
|
||||||
|
CODE.END .EQ *
|
||||||
|
*--------------------------------------
|
||||||
|
MSG .CZ -"\r\rHello from test EXT command.\r\r"
|
||||||
|
|
||||||
|
DATA.END .EQ *
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE usr/src/basic.fx/test.s
|
||||||
|
ASM
|
62
INC/BS.I.txt
Normal file
62
INC/BS.I.txt
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
NEW
|
||||||
|
AUTO 3,1
|
||||||
|
.LIST OFF
|
||||||
|
*--------------------------------------
|
||||||
|
* BASIC.SYSTEM Defines
|
||||||
|
*--------------------------------------
|
||||||
|
BS.E.RANGE .EQ $02
|
||||||
|
BS.E.NODEV .EQ $03
|
||||||
|
BS.E.WPROT .EQ $04
|
||||||
|
BS.E.ENDOFDATA .EQ $05
|
||||||
|
BS.E.PATHNFND6 .EQ $06
|
||||||
|
BS.E.PATHNFND7 .EQ $07
|
||||||
|
BS.E.IO .EQ $08
|
||||||
|
BS.E.DISKFULL .EQ $09
|
||||||
|
BS.E.LOCKED .EQ $0A
|
||||||
|
BS.E.INVOPT .EQ $0B
|
||||||
|
BS.E.NOBUFFER .EQ $0C
|
||||||
|
BS.E.MISMATCH .EQ $0D
|
||||||
|
BS.E.TOOLARGE .EQ $0E
|
||||||
|
BS.E.NODIRECT .EQ $0F
|
||||||
|
BS.E.SYNTAX .EQ $10
|
||||||
|
BS.E.DIRFULL .EQ $11
|
||||||
|
BS.E.FNOTOPEN .EQ $12
|
||||||
|
BS.E.DUPFILE .EQ $13
|
||||||
|
BS.E.FBUSTY .EQ $14
|
||||||
|
BS.E.FSTILLOPEN .EQ $15
|
||||||
|
*--------------------------------------
|
||||||
|
CMDBITS0.PFIX .EQ $80 Prefix needs fetching, pathname optional
|
||||||
|
CMDBITS0.SLOT .EQ $40 No parameters to be processed
|
||||||
|
CMDBITS0.RRUN .EQ $20 Command only valid during program
|
||||||
|
CMDBITS0.FNOPT .EQ $10 Filename is optional
|
||||||
|
CMDBITS0.CRFLG .EQ $08 CREATE allowed
|
||||||
|
CMDBITS0.T .EQ $04 File type
|
||||||
|
CMDBITS0.FN2 .EQ $02 Filename '2' for RENAME
|
||||||
|
CMDBITS0.FN1 .EQ $01 Filename expected
|
||||||
|
|
||||||
|
CMDBITS1.A .EQ $80 Address
|
||||||
|
CMDBITS1.B .EQ $40 Byte
|
||||||
|
CMDBITS1.E .EQ $20 End address
|
||||||
|
CMDBITS1.L .EQ $10 Length
|
||||||
|
CMDBITS1.LINE .EQ $08 '@' line number
|
||||||
|
CMDBITS1.SD .EQ $04 Slot and drive numbers
|
||||||
|
CMDBITS1.F .EQ $02 Field
|
||||||
|
CMDBITS1.R .EQ $01 Record
|
||||||
|
|
||||||
|
CMDBITS1.V .EQ $00 Volume number ignored
|
||||||
|
*--------------------------------------
|
||||||
|
* BASIC.SYSTEM Global page
|
||||||
|
*--------------------------------------
|
||||||
|
GP.ENTRY .EQ $BE00
|
||||||
|
GP.DOSCMD .EQ $BE03
|
||||||
|
GP.EXTRNCMD .EQ $BE06
|
||||||
|
GP.ERROUT .EQ $BE09
|
||||||
|
GP.PRINTERR .EQ $BE0C
|
||||||
|
GP.ERRCODE .EQ $BE0F
|
||||||
|
|
||||||
|
|
||||||
|
GP.GETBUFR .EQ $BEF5
|
||||||
|
GP.FREEBUFR .EQ $BEF8
|
||||||
|
*--------------------------------------
|
||||||
|
MAN
|
||||||
|
SAVE inc/bs.i
|
Loading…
Reference in New Issue
Block a user