BASICFX: .. implementation, EDIT bug fixes

This commit is contained in:
burniouf 2022-03-24 21:24:26 +01:00
parent 447ce4b142
commit 340ce51779
16 changed files with 498 additions and 367 deletions

Binary file not shown.

Binary file not shown.

View File

@ -122,21 +122,23 @@ BS.IO.IN bit GP.EXECACTV
jsr MON.KEYIN0
cmp #$8D
beq .5
cmp #$88
beq .2
cmp #$FF
bne BS.SaveCSWKSW
* lda ZP.PROMPT
* >DEBUG
txa
.2 txa
beq BS.IO.IN.BS
lda #$88
.3 lda #$88
jsr MON.COUT
lda #$A0
jsr MON.COUT
bra BS.IO.IN.BS
bra BS.IO.IN.BS
.5 jsr BS.SaveAXY
sta IO.LINEBUF,x
@ -154,7 +156,7 @@ BS.IO.IN.BS lda #$88
bra BS.SaveCSWKSW
L9AE8 jsr BS.RestoreAXY
bra BS.SaveCSWKSW
jmp BS.SaveCSWKSW
*--------------------------------------
BS.NODEVERR lda #$03
@ -169,7 +171,7 @@ BS.ERROUT sta GP.ERRCODE
stz GP.IFILACTV
stz GP.OFILACTV
stz GP.PFXACTV
stz GP.MLICF.REFNUM
stz GP.MLICF.REFNUM Close All
jsr BS.MLIClose
bcs L9B27
@ -202,7 +204,7 @@ L9B30 php
plp
bcs L9B53
jsr BS.CROUT
jsr MON.CROUT
jmp AS.RESTART1
L9B4D ldx AS.REMSTK
@ -358,8 +360,8 @@ BS.ReadOneByte lda GP.MLIRW.COUNT
sta GP.ParamL
lda #$01
sta GP.MLIRW.COUNT
lda #MLI.C.READ
jsr GP.GOSYSTEM
jsr BS.MLIRead
bcs L9C66
lda GP.ParamL
@ -372,8 +374,7 @@ L9C66 rts
L9C67 lda GP.PREGA
sta (ZP.BASL),y
L9C6C lda #MLI.C.READ
jsr GP.GOSYSTEM
L9C6C jsr BS.MLIRead
bcs L9C66
lda GP.MLIRW.TRANS
@ -405,8 +406,7 @@ L9C95 cmp #$BE
sta (ZP.BASL),y
lda #$4F
sta BS.CATWIDTH
lda #MLI.C.GETMARK
jsr GP.GOSYSTEM
jsr BS.MLIGetMark
bcs L9D1F
lda GP.SBUFADR
@ -457,8 +457,7 @@ L9CF9 cmp #$FF
stz GP.MLIRW.COUNT
stz GP.MLIRW.COUNT+1
lda #MLI.C.READ
jsr GP.GOSYSTEM
jsr BS.MLIRead
jsr LB157
pha
lda GP.MLIRW.REFNUM
@ -545,20 +544,17 @@ BS.Setup4readEFBytesAt200
*--------------------------------------
BS.VSYSO jsr BS.SaveAXY
cmp #$84
bne L9DC5
bne .1
jsr BS.WriteTBUF
stz GP.INPTR
stz GP.IFILACTV
stz GP.OFILACTV
stz GP.PFXACTV
ldx #$08
jsr BS.SetState
jmp BS.RestoreAXY
jmp BS.SetState8RestAXY
.1 jsr BS.SetState4RestAXY
L9DC5 ldx #$04
jsr BS.SetState
jsr BS.RestoreAXY
jmp BS.JMP.GP.VSYSO
*--------------------------------------
BS.IO.OUT.CAT jsr BS.SaveAXY
@ -579,7 +575,7 @@ L9DE7 ldx GP.PREGX
L9DEB inx
dex
beq L9DFA
beq BS.SetState4RestAXY
jsr BS.ResetCSWKSW
jsr BS.DOSCMD
@ -587,8 +583,12 @@ L9DEB inx
jsr BS.SaveCSWKSW
L9DFA ldx #$04
jsr BS.SetState
BS.SetState4RestAXY
ldx #$04
.HS 2C BIT ABS
BS.SetState8RestAXY
ldx #$08
jsr BS.SetState
jmp BS.RestoreAXY
L9E02 sty GP.PREGY
@ -681,7 +681,7 @@ L9E8A jsr BS.SaveAXY
jsr BS.WriteTBUF
sta GP.OFILACTV
jsr BS.ResetCSWKSW
lda #$15
lda #BS.E.FSTILLOPEN
jsr GP.PRINTERR
L9EA0 jsr BS.RestoreAXY
@ -728,7 +728,7 @@ L9ED2 dec GP.STRINGS
bcs L9EE9
jsr BS.WriteTBUF
jsr BS.KW.01
jsr BS.KW.FRE
lda AS.STRINGSTART+1
sbc AS.ARRAYEND+1
@ -765,7 +765,7 @@ BS.AS.KW.CALL lda #$02
bne L9F32
BS.AS.KW.LET tya
jmp L9ED2
bra L9ED2
BS.AS.KW.TRACE sty GP.DTRACE
bne L9F2E
@ -779,7 +779,7 @@ L9F2E lda #$4A
L9F32 tya
jmp AS.EXECSTMT
*--------------------------------------
BS.AS.KW.RESUME stz AS.ERRNUM
tya
bne L9EF0
@ -797,7 +797,7 @@ L9F3D jsr BS.ResetCSWKSW
jmp L9ECA
BS.AS.KW.FLASH
lda #$E3
bne L9F5E
.HS 2C BIT ABS
BS.AS.KW.NORMAL
BS.AS.KW.INVERSE
lda #$A3
@ -831,25 +831,24 @@ BS.SetState stx GP.STATE
rts
*--------------------------------------
BS.PRINTERR tay
ldx BS.ERRCODES-1,y
ldx BS.ERRCODES-2,y
BS.PRINTERRX jsr BS.PRINTERRMSGX
ldx GP.INPTR
stx BS.CATWIDTH
jsr BS.CROUT
jsr MON.CROUT
lda #$87
jsr BS.COUT
jsr MON.COUT
BS.LINEBUFOUT ldx #$00
.1 lda IO.LINEBUF+1,x
jsr BS.COUT
jsr MON.COUT
inx
cpx BS.CATWIDTH
bcc .1
BS.CROUT lda #$8D
BS.COUT jmp MON.COUT
jmp MON.CROUT
*--------------------------------------
BS.PRINTERRMSGX ldy #$00
clc
@ -862,7 +861,7 @@ L9FBA jsr L9FD6
ora #$10
L9FC4 tay
lda BS.TBL6,y
lda BS.TBL6-1,y
beq L9FD5
ldy GP.INPTR
@ -914,8 +913,8 @@ LA004 ldy #$00
BS.WriteTBUFAY sta GP.MLIRW.COUNT
sty GP.MLIRW.COUNT+1
lda #MLI.C.WRITE
jsr GP.GOSYSTEM
jsr BS.MLIWrite
stz GP.TBUFPTR
@ -924,7 +923,7 @@ BS.WriteTBUFAY sta GP.MLIRW.COUNT
LA01F clc
LA020 rts
*--------------------------------------
LA021 jsr BS.KW.01
LA021 jsr BS.KW.FRE
bcs LA047
lda AS.PGRMSTART+1
@ -943,12 +942,14 @@ LA021 jsr BS.KW.01
jsr LA089 Z
LA047 rts
*--------------------------------------
BS.KW.FRE stz BS.TXTTAB
BS.KW.01 stz BS.TXTTAB
lda #$03
sta XBBD9
lda AS.HIMEM+1
sta XBBD8
lda AS.STRINGSTART+1
sta BS.TXTTAB+1
sec
@ -993,9 +994,11 @@ LA08D lda BS.MEMSIZE+1
LA0A3 lda AS.VARSTART
sbc #$06
sta ZP.A2L
lda AS.VARSTART+1
sbc #$00
sta ZP.A2H
lda AS.ARRAYSTART
sta XBBDC
lda XBBDA
@ -1031,7 +1034,7 @@ LA0E0 sta XBBDA
sta XBBDB
bcc LA0A3
LA0F8 lda #$0C
LA0F8 lda #BS.E.NOBUFFER
LA0FA rts
LA0FB clc
@ -1142,7 +1145,7 @@ LA170 ldy #$02
clc
LA198 rts
*--------------------------------------
LA199 lda XBBD7
sta ZP.PCH
lda XBBD8
@ -1164,7 +1167,7 @@ LA1AD lda (ZP.PCL),y
bne LA1AD
rts
*--------------------------------------
LA1BC cmp XBBD7
bcc LA1C8
@ -1205,10 +1208,10 @@ LA1F2 clc
lda XBBDD
sbc AS.STRINGSTART+1
rts
*--------------------------------------
LA1F9 lda #$04
LA1FB sta XBBB5
jsr BS.KW.01
jsr BS.KW.FRE
bcs LA24E
lda AS.STRINGSTART+1
@ -1231,7 +1234,7 @@ LA1FB sta XBBB5
lda AS.HIMEM+1
sbc ZP.PCH
sta XBBEE
jsr LA35F
jsr BS.MoveMemUp
lda #$00
sec
sbc XBBB5
@ -1250,7 +1253,7 @@ LA1FB sta XBBB5
LA24E sec
rts
LA250 jsr BS.KW.01
LA250 jsr BS.KW.FRE
bcs LA29D
lda AS.HIMEM+1
@ -1268,13 +1271,15 @@ LA250 jsr BS.KW.01
lda AS.HIMEM+1
sbc AS.STRINGSTART+1
sta XBBEE
jsr LA383
jsr BS.MoveMemDown
lda #$04
sta XBBE2
clc
adc AS.HIMEM+1
sta AS.HIMEM+1
jsr LA3A3
lda XBBE3
cmp AS.HIMEM+1
beq LA2B7

View File

@ -1,8 +1,6 @@
NEW
AUTO 3,1
*--------------------------------------
BS.WHICHBITS .HS 8040201008040201
BS.GETBUFR jsr LA1FB
bcs LA304
@ -45,7 +43,7 @@ LA2F6 ldx #$08
LA303 clc
LA304 rts
*--------------------------------------
BS.FREEBUFR lda GP.OPENCNT
asl
asl
@ -88,7 +86,7 @@ LA345 lda AS.HIMEM+1
LA34E dex
bne LA32F
LA351 jsr BS.KW.01
LA351 jsr BS.KW.FRE
LA354 clc
rts
@ -97,32 +95,32 @@ LA356 pha
jsr LA29F
pla
rts
LA35F ldy #$00
*--------------------------------------
BS.MoveMemUp ldy #$00
cpy XBBEE
beq LA376
beq .2
LA366 lda (ZP.PCL),y
.1 lda (ZP.PCL),y
sta (ZP.A1L),y
iny
bne LA366
bne .1
inc ZP.PCH
inc ZP.A1H
dec XBBEE
bne LA366
bne .1
LA376 cpy XBBED
beq LA382
.2 cpy XBBED
beq .8
lda (ZP.PCL),y
sta (ZP.A1L),y
iny
bne LA376
bne .2
LA382 rts
.8 rts
*--------------------------------------
LA383 ldy XBBED
BS.MoveMemDown ldy XBBED
XA386 beq LA38F SELF MODIFIED
LA388 jsr LA39A
@ -133,7 +131,7 @@ LA38F cpy XBBEE
beq LA3A2
dec XBBEE
jmp LA388
bra LA388
*--------------------------------------
LA39A dey
lda (ZP.PCL),y
@ -178,7 +176,7 @@ LA3BF clc
iny
jsr LA3FD
jmp LA3AE
bra LA3AE
LA3D6 lda ZP.A2L
sta XBBDC
@ -253,7 +251,8 @@ LA411 jsr LA021
sta ZP.PCH
lda #$03
sta XA386+1
jsr LA383
jsr BS.MoveMemDown
lda #$07
sta XA386+1
lda ZP.A1L
@ -293,7 +292,8 @@ LA480 lda BS.BAS.HDR
sta ZP.PCL
lda XBBEA
sta ZP.PCH
jsr LA35F
jsr BS.MoveMemUp
lda XBBED
clc
adc ZP.PCL
@ -398,7 +398,7 @@ LA508 lda BS.PRODOSTYPES.ASC,y
lda DIRENTBUF.AUXT
ldx DIRENTBUF.AUXT+1
jsr BS.AXDEC2LINEBUFY
jmp LA544
bra LA544
LA533 lda #$C1
sta $249
@ -616,7 +616,7 @@ BS.DOSCMD lda #$FF
eor #'-'
beq LA6A5
LA6A2 jmp BS.ERR10
LA6A2 jmp BS.SYNERR
LA6A5 jsr BS.IsIntCmdMTR
bcs LA6A2
@ -628,7 +628,7 @@ LA6A5 jsr BS.IsIntCmdMTR
bne LA6BA
jsr MON.CLREOL
jsr BS.CROUT
jsr MON.CROUT
LA6BA stz GP.FoundBITS
stz GP.FoundBITS+1
@ -670,7 +670,10 @@ LA6F8 pla
LA703 cmp #'/'
beq LA70B
cmp #'.' .. or ../
beq LA70B
cmp #'A'
bcc LA73D
@ -679,17 +682,19 @@ LA70B dex
sta BS.GetCharSep
lsr
sta BS.GetCharMax
ldy #$00
jsr LAA2D
* ldy #$00
jsr BS.GetKWInCmdBufAtX
dey
sty BS.CMDBUF.LEN
lda #CMDBITS0.FN1
sta GP.FoundBITS
LA723 lda BS.CMDBUF.LEN,y
sta MLI.PATHBUF,y
dey
bpl LA723
phx
jsr BS.Expand2PATHBUF
plx
bcs LA73A
dex
jsr BS.GetCharSpaceSep
@ -701,13 +706,13 @@ LA723 lda BS.CMDBUF.LEN,y
lsr
bcs LA770
LA73A jmp BS.ERR10
LA73A jmp BS.SYNERR
LA73D lda GP.XCNUM
cmp #$06
cmp #$06 RUN ????
bne LA73A
LA744 jmp LA7A6
LA744 bra LA7A6
LA747 jsr BS.GetKWInCmdBuf
beq LA73A
@ -730,7 +735,7 @@ LA747 jsr BS.GetKWInCmdBuf
cmp #$08
bcc LA79F
LA76C lda #$02
LA76C lda #BS.E.RANGE
sec
LA76F rts
@ -755,7 +760,7 @@ LA770 lsr
bne LA73A
bcc LA7A6
*--------------------------------------
LA795 jsr BS.GetCharSpaceSep
beq LA73A
@ -787,7 +792,7 @@ LA7A6 lda GP.ParamS
lda GP.STATE
bne LA7C9
lda #$0F
lda #BS.E.NODIRECT
sec
rts
@ -803,12 +808,12 @@ LA7C9 bcc LA80B
lda GP.AllowedBITS
and #$90
beq BS.ERR10
beq BS.SYNERR
bpl LA80B
LA7E1 lda BS.CMDBUF
eor #$2F
eor #'/'
beq LA7ED
lda MLI.PFIXPTR
@ -837,7 +842,6 @@ LA80B lda GP.XCNUM
sta BS.KW.JMPADDR
lda BS.KW.JMP+1,x
sta BS.KW.JMPADDR+1
* >DEBUG
clc
txa
@ -864,12 +868,12 @@ LA80B lda GP.XCNUM
and #$08
bne LA844
lda #$06
lda #BS.E.PATHNFND6
rts
LA844 jmp (BS.KW.JMPADDR)
BS.ERR10 lda #$10
BS.SYNERR lda #BS.E.SYNTAX
LA849 sec
rts
*--------------------------------------
@ -900,7 +904,7 @@ BS.GetVolAtSxDy lda GP.ParamS
lda GP.ParamS
sta GP.VDEFSLT
lda BS.CMDBUF
eor #$2F
eor #'/'
beq LA8F4
lda IO.LINEBUF+1
@ -922,9 +926,9 @@ LA89D dex
lda BS.CMDBUF,y
sta BS.CMDBUF,x
jmp LA89D
bra LA89D
LA8AA lda #$2F
LA8AA lda #'/'
sta BS.CMDBUF
LA8AF sta BS.CMDBUF,x
@ -959,9 +963,9 @@ LA8D9 dex
lda MLI.PATHBUF+1,y
sta MLI.PATHBUF+1,x
jmp LA8D9
bra LA8D9
LA8E6 lda #$2F
LA8E6 lda #'/'
sta MLI.PATHBUF+1
LA8EB sta MLI.PATHBUF+1,x
@ -987,7 +991,7 @@ LA8FB cmp BS.KW.OPT,y
cmp #'T'
beq LA90A
LA907 jmp BS.ERR10
LA907 jmp BS.SYNERR
LA90A lda #$04
and GP.AllowedBITS
@ -1011,7 +1015,7 @@ LA90A lda #$04
jmp BS.GetFTypeASC
LA931 sec
lda #$0B
lda #BS.E.INVOPT
rts
LA935 lda BS.KW.OPT.PBITSLO,y
@ -1095,7 +1099,6 @@ LA9AF lda BS.TMPBUF4,x
clc
rts
LA9BE jmp BS.ERR10
LA9C1 jmp LA76C
BS.GetFTypeASC ldy #$00
@ -1108,7 +1111,7 @@ LA9C6 sta BS.TMPBUF4,y
jsr BS.GetCharSpaceSep
bne LA9C6
beq LA9BE
LA9BE jmp BS.SYNERR
LA9D5 stx GP.INPTR
LA9D8 ldx #$00
@ -1149,7 +1152,7 @@ BS.GetPathInPathBuf
jsr BS.GetChar UC
sta MLI.PATHBUF,y
iny
cmp #$2C
cmp #','
beq LAA45
cmp #$20
@ -1166,6 +1169,8 @@ BS.GetPathInPathBuf
*--------------------------------------
BS.GetKWInCmdBuf
ldx #$00
BS.GetKWInCmdBufAtX
ldy #$00
LAA2D jsr BS.GetChar UC
@ -1198,18 +1203,18 @@ BS.GetCharSpaceSep
LAA56 clc
LAA57 rts
*--------------------------------------
BS.GetCharUC lda IO.LINEBUF,x
and #$7F
cmp #$61
bcc .1
*BS.GetCharUC lda IO.LINEBUF,x
* and #$7F
* cmp #$61
* bcc .1
and #$5F
* and #$5F
.1 inx
cmp BS.GetCharSep
beq BS.GetCharUC
*.1 inx
* cmp BS.GetCharSep
* beq BS.GetCharUC
rts
* rts
*--------------------------------------
BS.GetChar lda IO.LINEBUF,x
and #$7F
@ -1220,10 +1225,10 @@ BS.GetChar lda IO.LINEBUF,x
rts
*--------------------------------------
BS.GetDecDigit cmp #$30
BS.GetDecDigit cmp #'0'
bcc LAA72
cmp #$3A
cmp #'9'+1
bcc LAA76
LAA72 sec
@ -1276,16 +1281,16 @@ LAAB8 lda #$FF
sec
LAABB rts
*--------------------------------------
BS.GetHexDigit cmp #$30
BS.GetHexDigit cmp #'0'
bcc LAACC
cmp #$3A
cmp #'9'+1
bcc LAAD2
cmp #$41
cmp #'A'
bcc LAACC
cmp #$47
cmp #'F'+1
bcc LAAD0
LAACC sec
@ -1346,6 +1351,7 @@ LAB14 lda BS.CMDBUF,y
LAB20 lda GP.XCNUM
asl
tax
lda BS.KW.PBITS-1,x
sta GP.AllowedBITS+1
lda BS.KW.PBITS-2,x
@ -1367,7 +1373,7 @@ BS.TMPBUF3Reset stz BS.TMPBUF4
stz BS.TMPBUF4+2
rts
*--------------------------------------
BS.KW.APPEND lda GP.FITYPE
BS.KW.DASH lda GP.FITYPE
cmp #$FC
beq BS.KW.RUN
@ -1385,7 +1391,7 @@ LAB63 cmp #$FF
cmp #$B3
beq LAB6F
lda #$0D
lda #BS.E.MISMATCH
sec
rts
@ -1419,8 +1425,8 @@ LABA6 sec
bcs LABA3
jmp BS.QUIT.IIgs
BS.KW.X05 jsr LA411
*--------------------------------------
BS.KW.CHAIN jsr LA411
lda AS.HIMEM+1
sta BS.AS.HIMEMSave
ldx XBBEA
@ -1435,7 +1441,7 @@ BS.KW.X05 jsr LA411
jsr LA480
lda #$00
beq LABE6
*--------------------------------------
BS.KW.RUN stz GP.IFILACTV
stz AS.ERRNUM
@ -1462,15 +1468,15 @@ LABF4 jsr AS.NORMAL
sta ZP.PROMPT
ldx #$04
jsr BS.SetState
jmp BS.ERR10
BS.KW.RESTORE jsr LAC1D
jmp BS.SYNERR
*--------------------------------------
BS.KW.LOAD jsr LAC1D
bcs LAC33
BS.ENTRY jsr AS.CLEAR1
jsr BS.SetState0
lda #$00
sta ZP.CH
stz ZP.CH
jmp AS.RESTART1
LAC1D jsr LB562
@ -1493,8 +1499,7 @@ LAC34 lda #$01
jsr BS.CheckFTypeXAccessA
bcs LAC33
lda #MLI.C.GETEOF
jsr GP.GOSYSTEM
jsr BS.MLIGetEOF
bcs LAC33
lda AS.PGRMSTART
@ -1509,7 +1514,7 @@ LAC34 lda #$01
cmp AS.HIMEM+1
LAC5E lda #$0E
LAC5E lda #BS.E.TOOLARGE
bcs LAC33
ldx GP.SBUFADR
@ -1580,7 +1585,7 @@ LACB6 lda GP.FoundBITS+1
clc
LACD9 rts
*--------------------------------------
BS.KW.STORE bcc LACFE
BS.KW.SAVE bcc LACFE
lda #$FC
sta GP.ParamT
@ -1622,8 +1627,7 @@ LACFE lda #$02
jsr BS.WriteXYBytes
bcs LAD47
lda #MLI.C.SETEOF
jsr GP.GOSYSTEM
jsr BS.MLISetEOF
bcs LAD47
jsr BS.MLIClose
@ -1675,7 +1679,7 @@ LAD82 stx GP.CRACCESS
lda #MLI.C.CREATE
jmp GP.GOSYSTEM
LAD8D lda #$0C
LAD8D lda #BS.E.NOBUFFER
rts
*--------------------------------------
BS.KW.RENAME lda GP.FoundBITS
@ -1684,10 +1688,12 @@ BS.KW.RENAME lda GP.FoundBITS
lda #MLI.C.RENAME
bcs LAD9E
jmp BS.ERR10
jmp BS.SYNERR
*--------------------------------------
BS.KW.DELETE lda #MLI.C.DESTROY
.HS 2C BIT ABS
BS.SETPREFIX lda #MLI.C.SETPREFIX
LAD9E jmp GP.GOSYSTEM
*--------------------------------------
BS.KW.LOCK jsr BS.GetFileInfo
@ -1704,20 +1710,18 @@ BS.KW.UNLOCK1 sta GP.FIACCESS
jmp BS.SetFileInfo
*--------------------------------------
BS.KW.PREFIX lda GP.FoundBITS+1
and #$04
sec
bne LADCB
and #CMDBITS1.SD
bne BS.SETPREFIX
lda GP.FoundBITS
lsr
bcs BS.SETPREFIX
LADCB lda #MLI.C.SETPREFIX
bcs LAD9E
lda ZP.PROMPT
BS.GETPREFIX lda ZP.PROMPT
beq LADF0
jsr BS.CROUT
jsr MON.CROUT
ldx #$00
LADD8 cpx BS.CMDBUF.LEN
@ -1725,12 +1729,12 @@ LADD8 cpx BS.CMDBUF.LEN
lda BS.CMDBUF,x
ora #$80
jsr BS.COUT
jsr MON.COUT
inx
bne LADD8
LADE8 jsr BS.CROUT
jsr BS.CROUT
LADE8 jsr MON.CROUT
jsr MON.CROUT
clc
rts

View File

@ -102,16 +102,14 @@ LAE80 ldx GP.ParamL
LAEA5 bcs LAEC5
lda #$02
lda #BS.E.RANGE
.HS 2C BIT ABS
LAEAB lda #BS.E.INVOPT
sec
rts
LAEAB lda #$0B
sec
rts
LAEAF lda #MLI.C.GETEOF
jsr GP.GOSYSTEM
LAEAF jsr BS.MLIGetEOF
bcs LAEC3
ldx GP.SBUFADR
@ -119,7 +117,7 @@ LAEAF lda #MLI.C.GETEOF
lda GP.SBUFADR+2
beq LAEC5
lda #$0E
lda #BS.E.TOOLARGE
LAEC3 sec
rts
@ -135,8 +133,7 @@ LAED4 lda GP.ParamB,x
dex
bpl LAED4
LAEDD lda #MLI.C.SETMARK
jsr GP.GOSYSTEM
LAEDD jsr BS.MLISetMark
ldx GP.XCNUM
bcc LAEF7
@ -146,8 +143,7 @@ LAEDD lda #MLI.C.SETMARK
cpx #$0F
bne LAEC3
lda #MLI.C.SETEOF
jsr GP.GOSYSTEM
jsr BS.MLISetEOF
bcc LAEDD
rts
@ -166,8 +162,7 @@ LAEF7 ldx GP.XCNUM
ldx GP.MLIRW.COUNT
ldy GP.MLIRW.COUNT+1
jsr BS.SetSBUFADRXY0
lda #MLI.C.SETEOF
jsr GP.GOSYSTEM
jsr BS.MLISetEOF
LAF22 lda #MLI.C.WRITE
@ -184,10 +179,9 @@ LAF24 jsr GP.GOSYSTEM
LAF35 jmp BS.MLIClose
LAF38 sec
rts
LAF38 rts
*--------------------------------------
BS.KW.SAVE bcc LAF4E
BS.KW.STORE bcc LAF4E
lda #$FD
sta GP.ParamT
@ -205,7 +199,7 @@ LAF4E jsr LA411
jsr BS.CheckFTypeXAccessA
bcs LAF95
jsr BS.SetupRW5AtBBE4
jsr BS.SetupRWBASHDR
jsr BS.WriteXYBytes
bcs LAF95
@ -220,17 +214,15 @@ LAF4E jsr LA411
jsr BS.WriteXYBytes
bcs LAF95
lda #MLI.C.GETMARK
jsr GP.GOSYSTEM
jsr BS.MLIGetMark
lda #MLI.C.SETEOF
jsr GP.GOSYSTEM
jsr BS.MLISetEOF
bcs LAF95
jsr BS.SetFileInfoNoDate
bcs LAF95
jsr BS.MLIClose
LAF92 jsr BS.MLIClose
LAF95 php
pha
@ -239,21 +231,21 @@ LAF95 php
plp
LAF9C rts
*--------------------------------------
BS.SetupRW5AtBBE4
lda #$E4
BS.SetupRWBASHDR
lda #BS.BAS.HDR
sta GP.MLIRW.DATAPTR
lda #$BB
lda /BS.BAS.HDR
sta GP.MLIRW.DATAPTR+1
ldy #$00
ldx #$05
rts
*--------------------------------------
BS.KW.LOAD ldx #$FD
BS.KW.RESTORE ldx #$FD
lda #$01
jsr BS.CheckFTypeXAccessA
bcs LAF9C
jsr BS.SetupRW5AtBBE4
jsr BS.SetupRWBASHDR
jsr BS.ReadXYBytes
bcs LAF9C
@ -281,33 +273,44 @@ BS.KW.LOAD ldx #$FD
jsr BS.ReadXYBytes
bcs LAF9C
jsr BS.MLIClose
jmp LAF95
bra LAF92
LAFF3 lda #$0E
LAFF3 lda #BS.E.TOOLARGE
sec
rts
*--------------------------------------
BS.ReadXYBytes lda #MLI.C.READ
.HS 2C BIT ABS
BS.WriteXYBytes lda #MLI.C.WRITE
BS.ReadXYBytes clc
.HS B0 BCS
BS.WriteXYBytes sec
sty GP.MLIRW.COUNT+1
stx GP.MLIRW.COUNT
bcc BS.MLIRead
BS.MLIWrite lda #MLI.C.WRITE
.HS 2C BIT ABS
BS.MLIRead lda #MLI.C.READ
.HS 2C BIT ABS
BS.MLIClose lda #MLI.C.CLOSE
.HS 2C BIT ABS
BS.MLIGetEOF lda #MLI.C.GETEOF
.HS 2C BIT ABS
BS.MLISetEOF lda #MLI.C.SETEOF
.HS 2C BIT ABS
BS.MLIGetMark lda #MLI.C.GETMARK
.HS 2C BIT ABS
BS.MLISetMark lda #MLI.C.SETMARK
jmp GP.GOSYSTEM
*--------------------------------------
BS.KW.IN lda #$00
sta BS.GetCharSep
BS.KW.PR lda #$00
tax
beq LB018
*--------------------------------------
BS.KW.PR lda #$02
sta BS.GetCharSep
BS.KW.IN ldx #$02
lda #$08
LB018 ora GP.ParamINPR
LB018 stx BS.GetCharSep
ora GP.ParamINPR
asl
tax
lda GP.FoundBITS
@ -368,13 +371,13 @@ LB081 lda (ZP.PCL),y
cmp #$D8
beq LB07F
LB087 lda #$03
LB087 lda #BS.E.NODEV
sec
rts
*--------------------------------------
BS.KW.BYE jsr LB562
jsr LB36B
lda #$65
* lda #$65
jsr MLI
.DA #MLI.C.QUIT
.DA GP.MLIRW
@ -409,15 +412,15 @@ LB0BA bcs LB0C1
LB0C1 jsr LB1BA
bcs LB127
jsr BS.CROUT
jsr MON.CROUT
jsr LB128
jsr BS.LINEBUFOUT
jsr BS.CROUT
jsr MON.CROUT
jsr BS.LINEBUFCLR80
ldx #$10
jsr BS.PRINTERRMSGX
jsr BS.LINEBUFOUT
jsr BS.CROUT
jsr MON.CROUT
lda XBC14
ora XBC15
@ -449,12 +452,12 @@ LB10E lda #$FF
LB113 jsr BS.MLIClose
bcs LB127
jsr BS.CROUT
jsr MON.CROUT
jsr LB157
bcs LB127
jsr BS.LINEBUFOUT
jsr BS.CROUT
jsr MON.CROUT
clc
LB127 rts
@ -462,7 +465,7 @@ LB127 rts
LB128 jsr BS.LINEBUFCLR80
ldx #$01
ldy DIRENTBUF.STNL
lda #$AF
lda #"/"
cpy #$F0
bcc LB13A
@ -501,7 +504,7 @@ LB157 ldx #BS.CMDBUF
tax
inx
stx BS.CMDBUF.LEN
lda #$AF
lda #"/"
sta BS.CMDBUF
jsr BS.GetFileInfo
bcs LB127
@ -550,8 +553,7 @@ BS.ReadDirEnt lda #$59
sta GP.MLIRW.COUNT
stz GP.MLIRW.COUNT+1
lda #MLI.C.READ
jsr GP.GOSYSTEM
jsr BS.MLIRead
bcs LB203
ldx #$03
@ -600,11 +602,10 @@ LB210 cpx GP.FITYPE
LB238 rts
LB239 lda #$0D
sec
rts
LB239 lda #BS.E.MISMATCH
.HS 2C BIT ABS
LB23D lda #$0A
LB23D lda #BS.E.LOCKED
sec
rts
*--------------------------------------
@ -633,12 +634,10 @@ LB25D dey
LB268 adc #$04
sta GP.SBUFADR
lda #MLI.C.SETMARK
jsr GP.GOSYSTEM
jsr BS.MLISetMark
bcs LB28D
lda #MLI.C.READ
jsr GP.GOSYSTEM
jsr BS.MLIRead
bcs LB28D
inc XBC16
@ -667,8 +666,7 @@ BS.KW.EXEC jsr BS.CheckFilename
jsr BS.ZeroSBUFADR
lda #MLI.C.SETMARK
jsr GP.GOSYSTEM
jsr BS.MLISetMark
bcs LB2B5
lda GP.MLIMRKEOFBUF.REFNUM
@ -680,7 +678,7 @@ LB2B5 pha
sec
rts
LB2BC lda #$14
LB2BC lda #BS.E.FBUSTY
sec
rts
@ -694,7 +692,7 @@ LB2CA lda GP.FITYPE
cmp #$04
beq LB2D5
lda #$0D
lda #BS.E.MISMATCH
LB2D3 sec
rts
@ -789,8 +787,8 @@ LB36B lda GP.EXECACTV
jsr LB515
LB37B rts
BS.KW.X10 bcs LB3B7
*--------------------------------------
BS.KW.VERIFY bcs LB3B7
lda GP.FoundBITS
and #$01
@ -798,7 +796,7 @@ BS.KW.X10 bcs LB3B7
ldx #$00
jsr BS.PRINTERRX
jsr BS.CROUT
jsr MON.CROUT
LB38D clc
rts
@ -818,21 +816,17 @@ LB39F sta GP.MLICF.REFNUM
jsr GP.GOSYSTEM
LB3A7 rts
BS.KW.03 php
*--------------------------------------
BS.KW.OPEN php
jsr BS.CheckFilename
bcs LB3BB
plp
lda #$14
sec
rts
LB3B3 lda #$0D
sec
rts
LB3B7 lda #$06
lda #BS.E.FBUSTY
.HS 2C BIT ABS
LB3B3 lda #BS.E.MISMATCH
.HS 2C BIT ABS
LB3B7 lda #BS.E.PATHNFND6
LB3B9 sec
rts
@ -948,7 +942,7 @@ LB481 inx
dec ZP.PCL
bne LB481
BS.KW.X07 clc
BS.KW.NOMON clc
rts
BS.CheckFilename
@ -956,7 +950,7 @@ BS.CheckFilename
and #$01
bne LB49A
lda #$10
lda #BS.E.SYNTAX
sec
rts
@ -992,7 +986,7 @@ LB4B8 lda GP.EXECACTV
ldx #$08
bne LB4AE
LB4CE lda #$12
LB4CE lda #BS.E.FNOTOPEN
sec
rts
@ -1030,8 +1024,8 @@ LB4FA inx
bne LB4FA
LB508 rts
BS.KW.X06 lda GP.FoundBITS
*--------------------------------------
BS.KW.CLOSE lda GP.FoundBITS
and #$01
beq LB562
@ -1090,7 +1084,7 @@ LB573 stz GP.MLICF.REFNUM
sta MLI.LEVEL
jmp BS.MLIClose
*--------------------------------------
BS.KW.CLOSE jsr BS.CheckFilename
BS.KW.POSITION jsr BS.CheckFilename
bcs LB5EF
sta GP.MLIRW.REFNUM
@ -1132,8 +1126,7 @@ LB5CB lda GP.ParamF
clc
beq LB5F0
lda #MLI.C.READ
jsr GP.GOSYSTEM
jsr BS.MLIRead
bcs LB5EF
lda GP.ParamF
@ -1144,7 +1137,7 @@ LB5CB lda GP.ParamF
sta GP.ParamF+1
bcs LB5CB
LB5ED lda #$0B
LB5ED lda #BS.E.INVOPT
LB5EF sec
LB5F0 rts
*--------------------------------------
@ -1191,11 +1184,11 @@ LB62F rol BS.TMPBUF4,x
clc
rts
LB642 lda #$02
LB642 lda #BS.E.RANGE
sec
rts
*--------------------------------------
BS.KW.X04 jsr BS.CheckFilename
BS.KW.READ jsr BS.CheckFilename
bcs LB69B
sta GP.MLIRW.REFNUM
@ -1254,16 +1247,12 @@ LB69C lda #$59
jsr BS.ZeroSBUFADR
lda #MLI.C.SETMARK
jsr GP.GOSYSTEM
bcs LB6CA
lda #$FF
sta GP.IFILACTV
jsr BS.MLISetMark
bcc LB696
LB6CA rts
LB6CB lda #$02
LB6CB lda #BS.E.RANGE
tax
sec
rts
@ -1292,8 +1281,7 @@ LB6F1 lda GP.FoundBITS+1
and #$40
beq LB719
lda #MLI.C.GETMARK
jsr GP.GOSYSTEM
jsr BS.MLIGetMark
bcs LB71A
ldx #$00
@ -1308,15 +1296,14 @@ LB703 lda GP.ParamB,x
bcs LB6CB
LB712 lda #MLI.C.SETMARK
jsr GP.GOSYSTEM
LB712 jsr BS.MLISetMark
bcs LB71A
LB719 clc
LB71A ldx #$00
rts
*--------------------------------------
BS.KW.X08 jsr BS.CheckFilename
BS.KW.WRITE jsr BS.CheckFilename
bcs LB732
sta GP.MLIRW.REFNUM
@ -1325,7 +1312,7 @@ BS.KW.X08 jsr BS.CheckFilename
bit GP.DIRFLG
bpl LB734
lda #$0A
lda #BS.E.LOCKED
LB732 sec
rts
@ -1342,8 +1329,7 @@ LB734 stz GP.MLIRW.DATAPTR
cpx #$02
beq LB732
LB74B lda #MLI.C.SETEOF
jsr GP.GOSYSTEM
LB74B jsr BS.MLISetEOF
bcs LB732
jsr LB6E0
@ -1358,12 +1344,12 @@ LB757 lda AS.HIMEM
clc
rts
*--------------------------------------
BS.KW.X09 php
BS.KW.APPEND php
jsr BS.CheckFilename
bcc LB77A
plp
jsr BS.KW.03
jsr BS.KW.OPEN
bcs LB788
lda GP.OREFNUM
@ -1378,7 +1364,7 @@ LB77B sta GP.MLIRW.REFNUM
bit GP.DIRFLG
bpl LB78A
lda #$0A
lda #BS.E.LOCKED
LB788 sec
rts
@ -1401,8 +1387,7 @@ LB79D txa
tya
sta XBC5B,x
sta XBC00
lda #MLI.C.GETEOF
jsr GP.GOSYSTEM
jsr BS.MLIGetEOF
bcs LB788
lda XBC00
@ -1418,13 +1403,15 @@ LB7C8 jsr LB7D0
LB7CD jmp LB74B
*--------------------------------------
LB7D0 ldx #$03
LB7D2 lda GP.MLIMRKEOFBUF.REFNUM,x
sta XBC09,x
dex
bne LB7D2
stx BS.TMPBUF4+3
stx XBC0E
stz BS.TMPBUF4+3
stz XBC0E
ldy #$18
LB7E3 jsr BS.TMPBUF3x2
@ -1464,33 +1451,130 @@ LB805 dey
tya
adc GP.SBUFADR+1
sta GP.SBUFADR+1
lda GP.SBUFADR+2
adc #$00
sta GP.SBUFADR+2
lda #$02
bcc .1
inc GP.SBUFADR+2
.1 lda #$02
LB839 rts
*--------------------------------------
BS.GetFileInfo lda #$0A
sta GP.SSGINFO
BS.GetFileInfo ldx #$0A
lda #MLI.C.GETFILEINFO
bne LB858
BS.SetFileInfoNoDate
stz GP.FIMDATE
stz GP.FIMDATE+1
stz GP.FICDATE
stz GP.FICDATE+1
ldx #7
BS.SetFileInfo lda #$07
sta GP.SSGINFO
.1 stz GP.FIMDATE,x
dex
bpl .1
BS.SetFileInfo ldx #$07
lda #MLI.C.SETFILEINFO
LB858 jmp GP.GOSYSTEM
LB858 stx GP.SSGINFO
jmp GP.GOSYSTEM
BS.JMP.GP.VSYSO jmp (GP.VSYSO)
BS.JMP.GP.VSYSI jmp (GP.VSYSI)
*--------------------------------------
BS.Expand2PATHBUF
lda #1
sta MLI.PATHBUF
lda #'/' set target path = 1/
sta MLI.PATHBUF+1
* >DEBUG
cmp BS.CMDBUF new path is absolute ?
beq .1
jsr MLI no, get current path as a base
.DA #MLI.C.GETPREFIX
.DA BS.Expand2.P
.1 stz BS.Expand.Ptr
.2 jsr BS.Expand.GetN
beq .8
cmp #'.'
bne .6
jsr BS.Expand.GetN
beq .9
cmp #'/' /./ ???? discard
beq .2
cmp #'.' /.DIR....
bne .5
jsr BS.Expand.GetN
beq .3 /..
cmp #'/'
bne .9
ldy MLI.PATHBUF remove /DIR/..
cpy #1
beq .9 only /
.3 dey
lda MLI.PATHBUF,y
cmp #'/'
bne .3
sty MLI.PATHBUF
bra .2
.5 pha
lda #'.'
jsr BS.Expand.PutN
pla
.6 jsr BS.Expand.PutN
.7 jsr BS.Expand.GetN
beq .8
jsr BS.Expand.PutN
cmp #'/'
bne .7
bra .2
.8 ldy MLI.PATHBUF
.80 lda MLI.PATHBUF,y
sta BS.CMDBUF.LEN,y
dey
bpl .80
clc
rts
.9 sec
rts
BS.Expand.GetN ldx BS.Expand.Ptr
cpx BS.CMDBUF.LEN
beq .8
inc BS.Expand.Ptr
lda BS.CMDBUF,x NZ
.8 rts
BS.Expand.PutN inc MLI.PATHBUF
ldy MLI.PATHBUF
sta MLI.PATHBUF,y
rts
BS.Expand.Ptr .BS 1
BS.Expand2.P .DA #1
.DA MLI.PATHBUF
*--------------------------------------
BS.ToUpper cmp #'a'
bcc .9

View File

@ -135,83 +135,86 @@ BS.KW.LEN .DA #$47
BS.KW.TABLE .AS "BSAVERIFYBLOADELETEBYECATALOGOPENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#FLUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND"
*--------------------------------------
BS.KW.JMP .DA BS.JMP.XTRNADDR $00
.DA BS.KW.PR
.DA BS.KW.IN
.DA BS.KW.PR
.DA BS.KW.CAT
.DA BS.KW.01
.DA BS.KW.FRE
.DA BS.KW.BYE
.DA BS.KW.RUN
.DA BS.KW.BRUN
.DA BS.KW.EXEC $10
.DA BS.KW.RESTORE
.DA BS.KW.LOAD
.DA BS.KW.LOCK
.DA BS.KW.03
.DA BS.KW.X04
.DA BS.KW.STORE
.DA BS.KW.OPEN
.DA BS.KW.READ
.DA BS.KW.SAVE
.DA BS.KW.BLOAD
.DA BS.KW.BSAVE
.DA BS.KW.X05 $20
.DA BS.KW.X06
.DA BS.KW.CHAIN $20
.DA BS.KW.CLOSE
.DA BS.KW.FLUSH
.DA BS.KW.X07
.DA BS.KW.SAVE
.DA BS.KW.X08
.DA BS.KW.X09
.DA BS.KW.NOMON
.DA BS.KW.STORE
.DA BS.KW.WRITE
.DA BS.KW.APPEND
.DA BS.KW.CREATE
.DA BS.KW.DELETE $30
.DA BS.KW.PREFIX
.DA BS.KW.RENAME
.DA BS.KW.UNLOCK
.DA BS.KW.X10
.DA BS.KW.VERIFY
.DA BS.KW.CATALOG
.DA BS.KW.LOAD
.DA BS.KW.CLOSE
.DA BS.KW.APPEND $40
.DA BS.KW.RESTORE
.DA BS.KW.POSITION
.DA BS.KW.DASH $40
*--------------------------------------
BS.KW.PBITS .DA $8040
.DA $8040
.DA $0495
.DA $0000
.DA $0000
.DA $0C11
.DA $F401
.DA $0701
.DA $0401
.DA $0401
.DA $142D
.DA $5321
.DA $0409
.DA $F405
.DA $F40D
.DA $0C01
.DA $0001
.DA $0001
.DA $0000
.DA $0409
.DA $4321
.DA $142D
.DA $040D
.DA $0401
.DA $0491
.DA $0403
.DA $0401
.DA $0411
.DA $0495
.DA $0401
.DA $0321
.DA $0401
BS.KW.OPT .AS "ABELSDFRV@"
BS.KW.PBITS .DA $8040 IN
.DA $8040 PR
.DA $0495 CAT
.DA $0000 FRE
.DA $0000 BYE
.DA $0C11 RUN
.DA $F401 BRUN
.DA $0701 EXEC
.DA $0401 LOAD
.DA $0401 LOCK
.DA $142D OPEN
.DA $5321 READ
.DA $0409 SAVE
.DA $F405 BLOAD
.DA $F40D BSAVE
.DA $0C01 CHAIN
.DA $0001 CLOSE
.DA $0001 FLUSH
.DA $0000 NOMON
.DA $0409 STORE
.DA $4321 WRITE
.DA $142D APPEND
.DA $040D CREATE
.DA $0401 DELETE
.DA $0491 PREFIX
.DA $0403 RENAME
.DA $0401 UNLOCK
.DA $0411 VERIFY
.DA $0495 CATALOG
.DA $0401 RESTORE
.DA $0321 POSITION
.DA $0401 DASH
BS.KW.OPT .AS "ABELS@FRVD"
*--------------------------------------
BS.WHICHBITS
* .HS 8040201008040201
BS.KW.OPT.PBITSLO
.DA #$80
.DA #$40
.DA #$20
.DA #$10
.DA #$04
.DA #$08
.DA #$04
.DA #$02
.DA #$01
.DA #$00
.DA #$08
.DA #$04
BS.KW.OPT.PBITSHI
.DA #$05
.DA #$12
@ -283,9 +286,9 @@ BS.BIERRTBL .DA #$03
.DA #$14
.DA #$0B
.DA #$0C
.DA #$08
*--------------------------------------
BS.ERRCODES .DA #$08
.DA #$54
BS.ERRCODES .DA #$54
.DA #$5B
.DA #$66
.DA #$6F
@ -304,39 +307,13 @@ BS.ERRCODES .DA #$08
.DA #$D9
.DA #$E1
.DA #$EC
.DA #$F3
*--------------------------------------
BS.TBL6 .DA #$F3
.DA #$C1
.DA #$C3
.DA #$C4
.DA #$C5
.DA #$C6
.DA #$C9
.DA #$CC
.DA #$CD
.DA #$CE
.DA #$CF
.DA #$D2
.DA #$D4
.DA #$D5
.DA #$A0
BS.TBL6 .AS -"ACDEFILMNORTU "
.DA #$00
*--------------------------------------
.DA #$00
.DA #$C2
.DA #$C7
.DA #$C8
.DA #$CB
.DA #$D0
.DA #$D3
.DA #$D6
.DA #$D7
.DA #$D8
.DA #$D9
.DA #$AF
.DA #$A8
.DA #$A9
.DA #$AE
.DA #$BA
.AS -"BGHKPSVWXY/().:"
*--------------------------------------
BS.TBL7 .DA #$2A
.DA #$05

View File

@ -123,10 +123,8 @@ GP.FITYPE .BS 1
GP.FIAUXTYPE .BS 2
GP.STTYPE .BS 1
GP.FIBLOKS .BS 2
GP.FIMDATE .BS 2
GP.FICDATE .BS 2
.BS 4
GP.FIMDATE .BS 4
GP.FICDATE .BS 4
*--------------------------------------
GP.MLIMRKEOFBUF .DA #2
GP.MLIMRKEOFBUF.REFNUM

View File

@ -172,7 +172,7 @@ L214E jsr MLI
tax
inx
stx MLI.PATHBUF
lda #$2F
lda #'/'
sta MLI.PATHBUF+1
jsr MLI
.DA #MLI.C.SETPREFIX

View File

@ -13,6 +13,27 @@ NEW
*--------------------------------------
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
@ -167,6 +188,7 @@ MON.RDKEY .EQ $FD0C
MON.KEYIN0 .EQ $FD10
MON.KEYIN .EQ $FD1B
MON.GETLN .EQ $FD6A
MON.CROUT .EQ $FD8E
MON.COUT .EQ $FDED
MON.COUT1 .EQ $FDF0
MON.IIGSID .EQ $FE1F

View File

@ -265,9 +265,10 @@ Ctrl.CR lda #C.CR
>CMP.G ViewPortHm1
bne .1
jsr SCRN.LineBufOut Bottom line, all done, just CEOL
jsr SCRN.LineBufOut Bottom line, CEOL...
bcs .99
jmp SCRN.GotoCurXCurY
jmp SCRN.UpdateViewPort ...and scroll
.1 dec
>CMP.G ViewPortHm1

View File

@ -807,7 +807,7 @@ DLG.CTRL.CharIn.BUT
rts
*--------------------------------------
DLG.DrawBar phy
jsr SCRN.LineBufInitBar
jsr SCRN.LineBufInitDLGBar
ldy #S.DLG.W
lda (ZPPTR1),y
@ -840,15 +840,14 @@ DLG.DrawBar phy
iny
bra .3
.4 jsr DLG.VBarToLineBuf
jmp SCRN.LineBufOut
.4 jmp SCRN.LineBufOut
*--------------------------------------
DLG.VBarToLineBuf
ldy #0
.1 lda SEQ.DLG.RIGHT,y
.1 lda SEQ.DLG.VBAR,y
beq .8
jsr SCRN.ToLineBuf
iny
bra .1

View File

@ -551,6 +551,10 @@ SCRN.LineBufInitBar
phx
ldx #SEQ.BAR-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitDLGBar
phx
ldx #SEQ.DLG.BAR-SEQS
bra SCRN.LineBufInit
SCRN.LineBufInitDLG
phx
ldx #SEQ.DLG-SEQS

View File

@ -460,10 +460,13 @@ CharIn.TmpByte10pA
CS.END
SEQS .EQ *
SEQ.BAR .AZ "\e[7m\e[37;40m"
SEQ.DLG.BAR .AS "\e[0m\e[37;40m"
.DA #C.SO,#'x',#C.SI
.AZ "\e[7m\e[37;40m"
SEQ.DLG .AS "\e[30;46m"
.DA #C.SO,#'x',#C.SI
.DA #0
SEQ.DLG.RIGHT .AS "\e[37;40m"
SEQ.DLG.VBAR .AS "\e[37;40m"
.DA #C.SO,#'x',#C.SI
.DA #0
SEQ.DLG.LBL .AZ "\e[0m\e[30;46m"

View File

@ -358,7 +358,13 @@ OPEN.SnY >AR.Sn.SELECT S0.MR
lda #W5100.AR.Sn.MR.IPRAW
sta W5100.DR,x
>AR.Sn.SELECT S0.PROTO
>AR.Sn.SELECT S0.MSSR
lda /K.ETH.FRAME.LEN
sta W5100.DR,x
lda #K.ETH.FRAME.LEN
sta W5100.DR,x
* >AR.Sn.SELECT S0.PROTO
tya
sta W5100.DR,x
@ -368,6 +374,23 @@ OPEN.SnY >AR.Sn.SELECT S0.MR
* >AR.Sn.SELECT Sn.TTL
lda #K.IP.TTL
sta W5100.DR,x
>AR.Sn.SELECT S0.PORT
stz W5100.DR,x
stz W5100.DR,x
* >AR.Sn.SELECT S0.DHAR
ldy #10 DHAR+DIPR
lda #$ff
.1 sta W5100.DR,x
dey
bpl .1
* >AR.Sn.SELECT S0.DPORT
stz W5100.DR,x
stz W5100.DR,x
>AR.Sn.SELECT S0.CR
lda #W5100.AR.Sn.CR.OPEN
@ -721,6 +744,8 @@ WRITE php
.11 lda Sn.IO.BASE,y
sta Sn.IO
ora #$30
sta $426
lda Sn.TX.BASE,y
sta Sn.BASE
lda Sn.RXTX.MASK,y

View File

@ -268,7 +268,16 @@ SCAN.COMMAND.TABLE
.2 INY next byte in command table
JSR GET.NEXT.NONBLANK
BEQ .4 ...end of WBUF contents
EOR COMMAND.TABLE,Y
cmp #'a'
bcc .20
cmp #'z'+1
bcs .20
eor #$20
.20 EOR COMMAND.TABLE,Y
BEQ .2 ...same so far
ASL Might be last char
BNE .4 ...No, try next command

View File

@ -112,7 +112,7 @@ ERRORX.MSG .AT "Bad MLI Call"
.AT "Dup. Filename"
.AT "Vol Is Full"
.AT "Dir Is Full"
.AT "Incompatible File Format"
.AT "Incomp. File Format"
.AT "Unsupp. Storage"
.AT "End Of File"
.AT "File Locked"