BASIC:new commands, ProdDOS.Fx:cleanup in Disk ][ timing

This commit is contained in:
burniouf 2022-04-01 21:43:16 +02:00
parent d20a7c8277
commit b206dd8036
15 changed files with 288 additions and 938 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -424,7 +424,7 @@ L9C95 cmp #$BE
sta XBC5A,x
lda XBC13
sta XBC5B,x
jsr LB128
jsr BS.Filename2LineBuf
L9CD3 lda #$A2
sta IO.LINEBUF
@ -460,7 +460,7 @@ L9CF9 cmp #$FF
stz GP.MLIRW.COUNT+1
jsr BS.MLIRead
jsr LB157
jsr BS.MkCatLineF
pha
lda GP.MLIRW.REFNUM
sta GP.MLIMRKEOFBUF.REFNUM
@ -509,7 +509,9 @@ L9D5D dec GP.CATFLAG
ldx #$00
jmp L9CD3
L9D65 jsr LA4D2
L9D65 ldx #BSX.MkCatLine
jsr BS.ToAUX
jmp L9CF5
*--------------------------------------
BS.IO.IN.CAT cmp #$DD
@ -889,10 +891,12 @@ LA021 jsr BS.KW.FRE
sta BS.TXTTAB+1
lda AS.PGRMSTART
sta BS.TXTTAB
lda AS.HIMEM+1
sta XBBD8
lda #$03
sta XBBD9
lda AS.STRINGSTART+1
sta BS.MEMSIZE+1
@ -966,6 +970,7 @@ LA0A3 lda AS.VARSTART
sbc XBBD9
sta XBBD7
lda AS.STRINGSTART+1
sbc XBBDA
sbc XBBD7

View File

@ -281,24 +281,28 @@ LA411 jsr LA021
clc
LA47F rts
*--------------------------------------
LA480 lda BS.BAS.HDR
sta XBBED
clc
adc AS.VARSTART
sta AS.ARRAYEND
lda BS.BAS.HDR+1
sta XBBEE
adc AS.VARSTART+1
sta AS.ARRAYEND+1
lda AS.VARSTART
sta ZP.A1L
adc BS.BAS.HDR+2
sta AS.ARRAYSTART
lda AS.VARSTART+1
sta ZP.A1H
adc BS.BAS.HDR+3
sta AS.ARRAYSTART+1
lda XBBE9
sta ZP.PCL
lda XBBEA
@ -309,9 +313,11 @@ LA480 lda BS.BAS.HDR
clc
adc ZP.PCL
sta AS.STRINGSTART
lda ZP.PCH
adc #$00
sta AS.STRINGSTART+1
sec
lda AS.HIMEM+1
sbc BS.BAS.HDR+4
@ -323,287 +329,6 @@ LA480 lda BS.BAS.HDR
LA4D0 clc
rts
*--------------------------------------
LA4D2 jsr BS.LINEBUFCLR80
lda #$A2
sta IO.LINEBUF
lda DIRENTBUF
and #$0F
tay
LA4E0 lda DIRENTBUF,y
ora #$80
sta IO.LINEBUF+1,y
dey
bne LA4E0
.DO LOWERCASE=1
lda DIRENTBUF+$1D
bpl .18
lda DIRENTBUF
and #$0f
tay
.10 cpy #8
bcs .13
lda DIRENTBUF+$1D
and BS.WHICHBITS,y
beq .15
bne .14
.13 lda DIRENTBUF+$1C
and BS.WHICHBITS-8,y
beq .15
.14 lda IO.LINEBUF+1,y
eor #$20
sta IO.LINEBUF+1,y
.15 dey
bne .10
.18 .FIN
stz BS.TMPBUF4+2
lda DIRENTBUF.TYPE
ldx #$0E
LA4F3 iny
iny
cmp BS.PRODOSTYPES.H,x
beq LA505
iny
dex
bpl LA4F3
ldy #$13
jsr BS.AHEX2LINEBUFY
bne LA549
LA505 ldx #$02
pha
LA508 lda BS.PRODOSTYPES.ASC,y
sta $212,x
dey
dex
bpl LA508
pla
bit BS.CATWIDTH
bvc LA561
ldy #$4E
cmp #$06
beq LA533
cmp #$04
bne LA549
lda #$D2
sta $249
lda DIRENTBUF.AUXT
ldx DIRENTBUF.AUXT+1
jsr BS.AXDEC2LINEBUFY
bra LA544
LA533 lda #$C1
sta $249
lda DIRENTBUF.AUXT
jsr BS.AHEX2LINEBUFY
lda DIRENTBUF.AUXT+1
jsr BS.AHEX2LINEBUFY
LA544 lda #$BD
sta $24A
LA549 lda DIRENTBUF.EOF+2
sta BS.TMPBUF4+2
lda DIRENTBUF.EOF
ldx DIRENTBUF.EOF+1
ldy #$46
jsr BS.AXDEC2LINEBUFY
ldx #$18
ldy #$3D
jsr LA57E
LA561 ldy #$1B
lda DIRENTBUF.UBLK
ldx DIRENTBUF.UBLK+1
jsr BS.AXDEC2LINEBUFY
lda DIRENTBUF.ACCESS
and #$C2
cmp #$C2
beq LA57A
lda #$AA
sta IO.LINEBUF+1
LA57A ldx #$21
ldy #$2C
LA57E lda $25A,x
lsr
sta XBC10
lda DIRENTBUF,x
pha
and #$1F
sta XBC0F
pla
rol
rol
rol
rol
and #$0F
beq LA5B1
cmp #$0D
bcs LA5B1
sta XBC0E
asl
adc XBC0E
sta XBC0E
lda XBC0F
beq LA5B1
lda XBC10
cmp #$64
bcc LA5C3
LA5B1 tya
sec
sbc #$06
tay
ldx #$08
LA5B8 lda BS.NODATE,x
sta IO.LINEBUF+1,y
dey
dex
bpl LA5B8
rts
LA5C3 lda $25C,x
pha
lda $25B,x
ldx #$00
cmp #$3C
bcc LA5D1
txa
LA5D1 jsr LA618
lda #$BA
sta IO.LINEBUF+1,y
dey
pla
ldx #$00
cmp #$18
bcc LA5E2
txa
LA5E2 cmp #$0A
php
jsr BS.AXDEC2LINEBUFY
plp
bcs LA5EC
dey
LA5EC dey
lda XBC10
jsr LA618
dey
ldx XBC0E
inx
inx
inx
LA5FA lda BS.MONTHS-4,x
sta IO.LINEBUF+1,y
dey
dex
cpx XBC0E
bne LA5FA
lda #$AD
sta IO.LINEBUF+1,y
sta $205,y
dey
lda XBC0F
ldx #$00
jmp BS.AXDEC2LINEBUFY
LA618 clc
adc #$64
jsr BS.AXDEC2LINEBUFY
iny
rts
BS.AHEX2LINEBUFY
pha
and #$0F
jsr LA62B
pla
lsr
lsr
lsr
lsr
LA62B ora #$B0
cmp #$BA
bcc LA633
adc #$06
LA633 sta IO.LINEBUF+1,y
dey
lda #$A4
sta IO.LINEBUF+1,y
rts
BS.AXDEC2LINEBUFY
stx BS.TMPBUF4+1
sta BS.TMPBUF4
LA643 jsr LA65B
lda BS.TMPBUF4+3
ora #$B0
sta IO.LINEBUF+1,y
dey
lda BS.TMPBUF4
ora BS.TMPBUF4+1
ora BS.TMPBUF4+2
bne LA643
rts
LA65B ldx #$18
lda #$00
sta BS.TMPBUF4+3
LA662 jsr BS.TMPBUF3x2
rol BS.TMPBUF4+3
sec
lda BS.TMPBUF4+3
sbc #$0A
bcc LA676
sta BS.TMPBUF4+3
inc BS.TMPBUF4
LA676 dex
bne LA662
rts
BS.LINEBUFCLR80 lda #$A0
ldx #$4F
@ -778,7 +503,7 @@ LA770 lsr
LA795 jsr BS.GetCharSpaceSep
beq LA73A
LA79A jsr LA8F6
LA79A jsr BS.CheckCmdOpt
bcs LA76F
LA79F jsr BS.GetCharSpaceSep
@ -984,8 +709,8 @@ LA8EB sta MLI.PATHBUF+1,x
LA8F4 clc
LA8F5 rts
LA8F6 jsr BS.TMPBUF3Reset
*--------------------------------------
BS.CheckCmdOpt jsr BS.TMPBUF3Reset
ldy #$09
jsr BS.ToUpper
@ -1014,13 +739,14 @@ LA90A lda #$04
jsr BS.GetCharSpaceSep
beq LA907
cmp #$24
cmp #'$'
beq LA984
cmp #$41
cmp #'A'
bcc LA96E
jmp BS.GetFTypeASC
ldx #BSX.GetFTypeASC.X
jmp BS.ToAUX
LA931 sec
lda #BS.E.INVOPT
@ -1047,6 +773,7 @@ LA94F tsb GP.FoundBITS+1
LA955 lda BS.KW.OPT.PBITSHI,y
and #$03
sta XBC08
lda BS.KW.OPT.PBITSHI,y
lsr
lsr
@ -1054,7 +781,7 @@ LA955 lda BS.KW.OPT.PBITSHI,y
jsr BS.GetCharSpaceSep
beq LA9BE
cmp #$24
cmp #'$'
beq LA984
LA96E stx GP.INPTR
@ -1108,53 +835,8 @@ LA9AF lda BS.TMPBUF4,x
rts
LA9C1 jmp LA76C
*--------------------------------------
BS.GetFTypeASC ldy #$00
LA9C6 sta BS.TMPBUF4,y
iny
cpy #$03
beq LA9D5
jsr BS.GetCharSpaceSep
bne LA9C6
LA9BE jmp BS.SYNERR
LA9D5 stx GP.INPTR
LA9D8 ldx #$00
lda XBC08
cmp #$0F
beq LA9BE
asl
adc XBC08
tay
LA9E6 lda BS.TMPBUF4,x
eor BS.PRODOSTYPES.ASC,y
asl
bne LA9F7
iny
inx
cpx #$03
bne LA9E6
beq LA9FC
LA9F7 inc XBC08
bne LA9D8
LA9FC lda #$0E
sec
sbc XBC08
tay
lda BS.PRODOSTYPES.H,y
sta GP.ParamT
ldx GP.INPTR
clc
rts
*--------------------------------------
BS.GetPathInPathBuf
jsr BS.GetChar UC
@ -1211,19 +893,6 @@ BS.GetCharSpaceSep
LAA56 clc
LAA57 rts
*--------------------------------------
*BS.GetCharUC lda IO.LINEBUF,x
* and #$7F
* cmp #$61
* bcc .1
* and #$5F
*.1 inx
* cmp BS.GetCharSep
* beq BS.GetCharUC
* rts
*--------------------------------------
BS.GetChar lda IO.LINEBUF,x
and #$7F
@ -1461,7 +1130,7 @@ LAC22 jsr LAC34
stx AS.ARRAYEND+1
LAC33 rts
*--------------------------------------
LAC34 lda #$01
ldx #$FC
jsr BS.CheckFTypeXAccessA
@ -1560,12 +1229,15 @@ BS.KW.SAVE bcc LACFE
sta GP.FITYPE
lda #$C3
sta GP.FIACCESS
lda AS.PGRMSTART
sta GP.CRAUXTYPE
sta GP.FIAUXTYPE
lda AS.PGRMSTART+1
sta GP.CRAUXTYPE+1
sta GP.FIAUXTYPE+1
jsr BS.CreateFileOrDir
bcs LAD47
@ -1578,13 +1250,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

@ -12,12 +12,15 @@ XAE00 bcc LAE31
lda GP.ParamA
sta GP.CRAUXTYPE
sta GP.FIAUXTYPE
lda GP.ParamA+1
sta GP.CRAUXTYPE+1
sta GP.FIAUXTYPE+1
lda #$06
sta GP.ParamT
sta GP.FITYPE
lda GP.FoundBITS
and #$04
bne LAE31
@ -128,6 +131,7 @@ LAEC5 stx GP.MLIRW.COUNT
beq LAEF7
ldx #$02
LAED4 lda GP.ParamB,x
sta GP.SBUFADR,x
dex
@ -430,13 +434,15 @@ LB0BA bcs LB0C1
jsr BS.GetFileInfo
bcs LB127
LB0C1 jsr LB1BA
LB0C1 jsr BS.OpenDir
bcs LB127
jsr MON.CROUT
jsr LB128
jsr BS.Filename2LineBuf
jsr BS.LINEBUFOUT
jsr MON.CROUT
jsr BS.LINEBUFCLR80
ldy #$10
@ -445,6 +451,7 @@ LB0C1 jsr LB1BA
jsr BS.LINEBUFOUT
jsr MON.CROUT
lda XBC14
ora XBC15
@ -457,7 +464,9 @@ LB0E8 jsr LB241
cmp DIRENTBUF.TYPE
bne LB0FD
LB0F7 jsr LA4D2
LB0F7 ldx #BSX.MkCatLine.X
jsr BS.ToAUX
jsr BS.LINEBUFOUT
LB0FD lda IO.KBD
@ -477,7 +486,8 @@ LB113 jsr BS.MLIClose
bcs LB127
jsr MON.CROUT
jsr LB157
jsr BS.MkCatLineF
bcs LB127
jsr BS.LINEBUFOUT
@ -486,7 +496,8 @@ LB113 jsr BS.MLIClose
clc
LB127 rts
*--------------------------------------
LB128 jsr BS.LINEBUFCLR80
BS.Filename2LineBuf
jsr BS.LINEBUFCLR80
ldx #$01
ldy DIRENTBUF.STNL
lda #"/"
@ -499,6 +510,7 @@ LB128 jsr BS.LINEBUFCLR80
LB13A tya
and #$0F
sta IO.LINEBUF
ldy #$05
LB142 lda DIRENTBUF,y
@ -512,8 +524,8 @@ LB142 lda DIRENTBUF,y
lda #$A2
sta IO.LINEBUF
rts
LB157 ldx #BS.CMDBUF
*--------------------------------------
BS.MkCatLineF ldx #BS.CMDBUF
ldy /BS.CMDBUF
jsr BS.SetSBUFADRXY
@ -525,43 +537,20 @@ LB157 ldx #BS.CMDBUF
lda BS.CMDBUF
and #$0F
tax
inx
stx BS.CMDBUF.LEN
inc
sta BS.CMDBUF.LEN
lda #"/"
sta BS.CMDBUF
jsr BS.GetFileInfo
bcs LB127
jsr BS.LINEBUFCLR80
ldx #BSX.MkCatLineF.X
jsr BS.ToAUX
ldy #$36
ldx #BSX.GetMSGY.X
jsr BS.ToAUX
jsr BS.TMPBUF3Reset
lda GP.FIAUXTYPE
ldx GP.FIAUXTYPE+1
ldy #$3D
jsr BS.AXDEC2LINEBUFY
lda GP.FIBLOKS
ldx GP.FIBLOKS+1
ldy #$26
jsr BS.AXDEC2LINEBUFY
lda GP.FIAUXTYPE
sec
sbc GP.FIBLOKS
pha
lda GP.FIAUXTYPE+1
sbc GP.FIBLOKS+1
tax
pla
ldy #$10
jsr BS.AXDEC2LINEBUFY
clc
rts
*--------------------------------------
LB1BA lda #$01
BS.OpenDir lda #$01
ldx #$0F
ldy GP.STTYPE
cpy #$0F
@ -569,17 +558,18 @@ LB1BA lda #$01
stx GP.FITYPE
LB1C8 jsr LB210
LB1C8 jsr BS.OpenTypeXAccessA
bcs LB203
BS.ReadDirEnt lda #$59
sta GP.MLIRW.DATAPTR
lda #$02
sta GP.MLIRW.DATAPTR+1
lda #$2B
sta GP.MLIRW.COUNT
stz GP.MLIRW.COUNT+1
jsr BS.MLIRead
bcs LB203
@ -597,7 +587,7 @@ LB1EA lda $27C,x
stz GP.SBUFADR+1
stz GP.SBUFADR+2
LB203 rts
*--------------------------------------
BS.CheckFTypeXAccessA
pha
lda GP.FoundBITS
@ -608,7 +598,8 @@ BS.CheckFTypeXAccessA
LB20F pla
LB210 cpx GP.FITYPE
BS.OpenTypeXAccessA
cpx GP.FITYPE
bne LB239
and GP.FIACCESS
@ -680,8 +671,8 @@ LB268 adc #$04
.1 dec XBC14
LB28D rts
BS.JMP.XTRNADDR jmp (GP.XTRNADDR)
*--------------------------------------
BS.KW.EXTERNAL jmp (GP.XTRNADDR)
*--------------------------------------
BS.KW.EXEC jsr BS.CheckFilename
bcs LB2C0
@ -787,6 +778,7 @@ LB333 sta GP.MLIRW.REFNUM
ldx GP.FIAUXTYPE+1
stx GP.ParamL+1
jsr LB45B
lda #$7F
sta GP.NLINEMASK
lda #MLI.C.NEWLINE
@ -854,8 +846,8 @@ BS.KW.OPEN php
LB3B3 lda #BS.E.MISMATCH
.HS 2C BIT ABS
LB3B7 lda #BS.E.PATHNFND6
LB3B9 sec
rts
sec
LB3B9 rts
LB3BB plp
ldx #$00
@ -882,6 +874,7 @@ LB3DB bcc LB3FE
sta GP.FITYPE
lda #$C3
sta GP.FIACCESS
ldx GP.ParamL+1
ldy GP.ParamL
stx GP.CRAUXTYPE+1
@ -939,7 +932,7 @@ LB443 lda #$00
lda GP.OREFNUM
sta BS.REFNUMs+1,x
inc GP.OPENCNT
*--------------------------------------
LB45B asl
asl
asl
@ -1510,6 +1503,79 @@ BS.KW.MTR jsr BS.SetState0
jsr MON.CLREOL
jmp MON.ENTERMON
*--------------------------------------
BS.KW.MEM jsr MON.CROUT
ldx #9
.1 lda AS.PGRMSTART,x
sta $260,x
dex
bpl .1
lda AS.HIMEM
sta $260+10
lda AS.HIMEM+1
sta $260+11
lda #0
sta XBC10
.2 ldx #BSX.Mem.X
jsr BS.ToAUX
jsr BS.LINEBUFOUT
inc XBC10
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
lda #$10
.1 sta GP.MLIMRKEOFBUF.REFNUM
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
clc
rts
*--------------------------------------
BS.Expand2.P .DA #1
.DA MLI.PATHBUF
*--------------------------------------

View File

@ -7,7 +7,7 @@ BS.SYSIOVECTS .DA BS.IO.OUT
.DA BS.IO.IN0
.DA BS.IO.OUT.CAT
.DA BS.IO.IN0
.DA BS.VSYSO
* .DA BS.VSYSO
*--------------------------------------
BS.ParamLByte .DA #GP.SCREATE
.DA #GP.SDSTROY
@ -95,107 +95,6 @@ BS.AS.KW .DA #$80
.DA #$BE
.DA #$BF
*--------------------------------------
*BS.KW.LEN.OLD .DA #$47
* .DA #$5F
* .DA #$18
* .DA #$30
* .DA #$15
* .DA #$BD
* .DA #$3D
* .DA #$28
* .DA #$0D
* .DA #$41
* .DA #$20
* .DA #$50
* .DA #$84
* .DA #$0D
* .DA #$04
* .DA #$46
* .DA #$6A
* .DA #$4C
* .DA #$5C
* .DA #$35
* .DA #$A5
* .DA #$70
* .DA #$2D
* .DA #$12
* .DA #$65
* .DA #$39
* .DA #$41
* .DA #$88
* .DA #$1C
* .DA #$B5
* .DA #$D8
*--------------------------------------
*BS.KW.TABLE.OLD .AS "BSAVERIFYBLOADELETEBYECATALOGOPENWRITEXECREATEFRESTORENAMEBRUNLOCKCHAIN#FLUSHREADPOSITIONOMONPR#PREFIXCLOSEAPPEND"
*--------------------------------------
*BS.KW.JMP.OLD .DA BS.JMP.XTRNADDR $00
* .DA BS.KW.IN
* .DA BS.KW.PR
* .DA BS.KW.CAT
* .DA BS.KW.FRE
* .DA BS.KW.BYE
* .DA BS.KW.RUN
* .DA BS.KW.BRUN
* .DA BS.KW.EXEC $10
* .DA BS.KW.LOAD
* .DA BS.KW.LOCK
* .DA BS.KW.OPEN
* .DA BS.KW.READ
* .DA BS.KW.SAVE
* .DA BS.KW.BLOAD
* .DA BS.KW.BSAVE
* .DA BS.KW.CHAIN $20
* .DA BS.KW.CLOSE
* .DA BS.KW.FLUSH
* .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.VERIFY
* .DA BS.KW.CATALOG
* .DA BS.KW.RESTORE
* .DA BS.KW.POSITION
* .DA BS.KW.DASH $40
*--------------------------------------
*BS.KW.PBITS.OLD .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
@ -222,26 +121,6 @@ BS.KW.OPT.PBITSHI
.DA #$39
.DA #$40
.DA #$45
BS.PRODOSTYPES.H
.DA #$FF
.DA #$FE
.DA #$FD
.DA #$FC
.DA #$FB
.DA #$FA
.DA #$F0
.DA #$0F
.DA #$06
.DA #$04
.DA #$EF
.DA #$1A
.DA #$1B
.DA #$19
.DA #$B3
BS.PRODOSTYPES.ASC
.AS -"S16ADBASPAWPPASTXTBINDIRCMDINTIVRBASVARRELSYS"
BS.MONTHS .AS -"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"
BS.NODATE .AS -"<NO DATE>"
*--------------------------------------
BS.MLIERTBL .DA #$28
.DA #$2B
@ -284,310 +163,10 @@ BS.BIERRTBL .DA #$03
.DA #$0C
.DA #$08
*--------------------------------------
*BS.ERRCODES.OLD .DA #$54
* .DA #$5B
* .DA #$66
* .DA #$6F
* .DA #$75
* .DA #$75
* .DA #$7E
* .DA #$84
* .DA #$8A
* .DA #$91
* .DA #$9B
* .DA #$A8
* .DA #$B4
* .DA #$BF
* .DA #$C9
* .DA #$D1
* .DA #$D9
* .DA #$E1
* .DA #$EC
* .DA #$F3
*--------------------------------------
*BS.TBL6.OLD .AS -"ACDEFILMNORTU "
* .DA #$00
*--------------------------------------
* .DA #$00
* .AS -"BGHKPSVWXY/().:"
*--------------------------------------
*BS.TBL7.OLD .DA #$2A
* .DA #$05
* .DA #$0A
* .DA #$B6
* .DA #$02
* .DA #$03
* .DA #$CE
* .DA #$10
* .DA #$50
* .DA #$57
* .DA #$4E
* .DA #$2A
* .DA #$80
* .DA #$5D
* .DA #$C4
* .DA #$BF
* .DA #$E9
* .DA #$18
* .DA #$4E
* .DA #$00
* .DA #$10
* .DA #$C0
* .DA #$A0
* .DA #$54
* .DA #$EE
* .DA #$01
* .DA #$7A
* .DA #$20
* .DA #$40
* .DA #$6E
* .DA #$00
* .DA #$1E
* .DA #$8A
* .DA #$36
* .DA #$56
* .DA #$43
* .DA #$00
* .DA #$2F
* .DA #$2B
* .DA #$41
* .DA #$C4
* .DA #$3E
* .DA #$00
* .DA #$40
* .DA #$49
* .DA #$35
* .DA #$67
* .DA #$4E
* .DA #$06
* .DA #$D0
* .DA #$1C
* .DA #$0A
* .DA #$05
* .DA #$4F
* .DA #$01
* .DA #$7A
* .DA #$20
* .DA #$40
* .DA #$6E
* .DA #$5B
* .DA #$44
* .DA #$0F
* .DA #$00
* .DA #$16
* .DA #$01
* .DA #$7A
* .DA #$20
* .DA #$40
* .DA #$6E
* .DA #$D0
* .DA #$64
* .DA #$30
* .DA #$FE
* .DA #$00
* .DA #$2C
* .DA #$CA
* .DA #$C1
* .DA #$7E
* .DA #$01
* .DA #$7A
* .DA #$20
* .DA #$40
* .DA #$60
* .DA #$FF
* .DA #$B1
* .DA #$90
* .DA #$24
* .DA #$E4
* .DA #$BB
* .DA #$AB
* .DA #$F0
* .DA #$9A
* .DA #$E3
* .DA #$40
* .DA #$76
* .DA #$24
* .DA #$E2
* .DA #$A9
* .DA #$94
* .DA #$2C
* .DA #$43
* .DA #$F0
* .DA #$08
* .DA #$B6
* .DA #$C4
* .DA #$E0
* .DA #$5B
* .DA #$AC
* .DA #$42
* .DA #$C4
* .DA #$3F
* .DA #$49
* .DA #$3E
* .DA #$A5
* .DA #$E3
* .DA #$1C
* .DA #$1F
* .DA #$05
* .DA #$1C
* .DA #$03
* .DA #$E9
* .DA #$AC
* .DA #$E5
* .DA #$AD
* .DA #$93
* .DA #$F0
* .DA #$60
* .DA #$BA
* .DA #$E4
* .DA #$BB
* .DA #$AB
* .DA #$F0
* .DA #$36
* .DA #$06
* .DA #$04
* .DA #$E5
* .DA #$D7
* .DA #$7F
* .DA #$56
* .DA #$74
* .DA #$E7
* .DA #$A2
* .DA #$04
* .DA #$43
* .DA #$F0
* .DA #$69
* .DA #$07
* .DA #$17
* .DA #$63
* .DA #$E0
* .DA #$51
* .DA #$B1
* .DA #$84
* .DA #$C4
* .DA #$BF
* .DA #$9A
* .DA #$E0
* .DA #$1D
* .DA #$55
* .DA #$4B
* .DA #$06
* .DA #$E1
* .DA #$07
* .DA #$16
* .DA #$71
* .DA #$01
* .DA #$74
* .DA #$F0
* .DA #$56
* .DA #$74
* .DA #$EC
* .DA #$0A
* .DA #$05
* .DA #$4E
* .DA #$86
* .DA #$06
* .DA #$81
* .DA #$C2
* .DA #$03
* .DA #$F0
* .DA #$05
* .DA #$BA
* .DA #$02
* .DA #$B1
* .DA #$8E
* .DA #$CA
* .DA #$AE
* .DA #$71
* .DA #$B0
* .DA #$24
* .DA #$F0
* .DA #$9A
* .DA #$CE
* .DA #$36
* .DA #$B4
* .DA #$2C
* .DA #$E2
* .DA #$A8
* .DA #$81
* .DA #$93
* .DA #$F0
* .DA #$06
* .DA #$0A
* .DA #$9C
* .DA #$10
* .DA #$9E
* .DA #$4B
* .DA #$BA
* .DA #$BF
* .DA #$36
* .DA #$B4
* .DA #$2C
* .DA #$AB
* .DA #$0A
* .DA #$E5
* .DA #$D7
* .DA #$7F
* .DA #$56
* .DA #$74
* .DA #$E9
* .DA #$AC
* .DA #$EA
* .DA #$05
* .DA #$49
* .DA #$F0
* .DA #$3D
* .DA #$05
* .DA #$76
* .DA #$21
* .DA #$C4
* .DA #$E5
* .DA #$67
* .DA #$4E
* .DA #$91
* .DA #$84
* .DA #$F0
* .DA #$56
* .DA #$74
* .DA #$E0
* .DA #$1D
* .DA #$06
* .DA #$0A
* .DA #$F0
* .DA #$56
* .DA #$74
* .DA #$0C
* .DA #$06
* .DA #$0D
* .DA #$E0
* .DA #$6C
* .DA #$67
* .DA #$7E
* .DA #$A0
* .DA #$54
* .DA #$9F
*--------------------------------------
XBBB5 .BS 2
XBBB7 .BS 1
XBBB8 .BS 1
*--------------------------------------
*BS.IsIntCmdMTR.OLD ldy #$02
*
*LBBBB lda BS.CMDBUF,y
* cmp BS.MTR,y
* bne LBBCF
*
* dey
* bpl LBBBB
*
* jsr BS.SetState0
* jsr MON.CLREOL
* jmp MON.ENTERMON
*
*LBBCF jmp BS.IsIntCmd
*
*BS.MTR .AS "MTR"
*--------------------------------------
*BS.IVERSION .DA #5
*--------------------------------------
BS.AS.HIMEMSave .BS 1
@ -601,7 +180,7 @@ XBBDC .BS 1
XBBDD .BS 1
BS.TXTTAB .DA $0800
BS.MEMSIZE .DA $9600
BS.MEMSIZE .DA HIMEM-$400
XBBE2 .BS 1
XBBE3 .BS 1
@ -646,7 +225,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

View File

@ -2,10 +2,11 @@ NEW
AUTO 3,1
*--------------------------------------
LDR.START jmp LDR.START1
LDR.SIG .DA $EEEE
.DA #MLI.MAXPATH+1
LDR.STARTUP.LEN .DA #7
LDR.STARTUP .AS "STARTUP"
LDR.STARTUP .DA #7
.AS "STARTUP"
.BS MLI.MAXPATH-7
*--------------------------------------
LDR.START1 ldx #$FF
@ -28,6 +29,14 @@ LDR.START1 ldx #$FF
jsr MON.SETNORM
jsr MON.HOME
lda MLI.MACHID
and #$30
cmp #$30 128k Only
bne .3
jsr LDR.ShrinkRAM
bcs .3
stz Ptr1
stz Ptr2
@ -36,7 +45,8 @@ LDR.START1 ldx #$FF
lda /LDR.MAIN.DST
sta Ptr2+1
ldx #$23
ldx /$BD00-HIMEM
jsr LDR.MoveXpages
lda /LDR.GP.SRC
@ -47,12 +57,6 @@ LDR.START1 ldx #$FF
ldx #$01
jsr LDR.MoveXpages
* lda #$15
* jsr MON.COUT
* jsr MON.SETNORM
* jsr MON.INIT
* jsr MON.HOME
ldx #$17
.1 stz MLI.MEMTABL,x
@ -61,7 +65,7 @@ LDR.START1 ldx #$FF
lda #$CF
sta MLI.MEMTABL
lda #$3F
lda #$03 HIMEM=$9E00
sta MLI.MEMTABL+19
lda #$FF
sta MLI.MEMTABL+20
@ -70,18 +74,6 @@ LDR.START1 ldx #$FF
lda #$C3
sta MLI.MEMTABL+23
* lda AS.COLDBOOT
* cmp #$4C
* bne .3
lda MLI.MACHID
and #$30
cmp #$30 128k Only
bne .3
jsr LDR.ShrinkRAM
bcs .3
bit IO.RRAMWRAMBNK2
bit IO.RRAMWRAMBNK2
sta IO.SETALTZP
@ -142,8 +134,9 @@ LDR.CSW cmp #$DD
sta ZP.CSW
lda GP.OUTVECT0+1
sta ZP.CSW+1
lda MLI.DEVNUM
sta LDR.ONLINE.P.DEVNUM
sta LDR.ONLINE.P+1
ldx #$01
asl
bcc L20EE
@ -179,7 +172,7 @@ L2115 iny
pla
bne L2102
lda #$96
lda /HIMEM-$400
sta AS.HIMEM+1
sta AS.STRINGSTART+1
sta GP.RSHIMEM
@ -189,7 +182,7 @@ L2115 iny
jsr MLI
.DA #MLI.C.GETPREFIX
.DA LDR.GETSETPFX2.P
.DA LDR.GETSETPFX.P
bne L218B
ldx MLI.PATHBUF
@ -198,18 +191,18 @@ L2115 iny
L2136 cmp MLI.PATHBUF,x
bne L213E
inc LDR.PFXLEN
inc LDR.PFX.LEN
L213E dex
bne L2136
lda LDR.PFXLEN
lda LDR.PFX.LEN
cmp #$03
bcs L216F
jsr MLI
.DA #MLI.C.SETPREFIX
.DA LDR.GETSETPFX1.P
.DA LDR.SETPFXSLASH.P
L214E jsr MLI
.DA #MLI.C.ONLINE
@ -227,18 +220,18 @@ L214E jsr MLI
sta MLI.PATHBUF+1
jsr MLI
.DA #MLI.C.SETPREFIX
.DA LDR.GETSETPFX2.P
.DA LDR.GETSETPFX.P
bne L218B
L216F jsr MLI
.DA #MLI.C.GETFILEINFO
.DA LDR.GFINFO.P
bne L218B
L216F ldy #LDR.STARTUP
lda /LDR.STARTUP
jsr LDR.GFInfoYA
bcs L218B
ldx LDR.STARTUP.LEN
stx LDR.STARTUP.LEN1
ldx LDR.STARTUP
stx LDR.STARTUP.LEN
L217D lda LDR.STARTUP.LEN,x
L217D lda LDR.STARTUP,x
sta IO.LINEBUF,x
dex
bne L217D
@ -246,15 +239,15 @@ L217D lda LDR.STARTUP.LEN,x
lda #$AD
sta IO.LINEBUF
L218B lda LDR.PFXLEN
L218B lda LDR.PFX.LEN
cmp #$03
bcs L2198
jsr MLI
.DA #MLI.C.SETPREFIX
.DA LDR.GETSETPFX1.P
.DA LDR.SETPFXSLASH.P
L2198 lda LDR.STARTUP.LEN1
L2198 lda LDR.STARTUP.LEN
bne L21C1
jsr LDR.KSW
@ -316,7 +309,7 @@ LDR.KSW lda GP.INVECT0
sta ZP.KSW
lda GP.INVECT0+1
sta ZP.KSW+1
ldx LDR.STARTUP.LEN
ldx LDR.STARTUP
inx
lda #$8D
rts
@ -330,7 +323,7 @@ LDR.ShrinkRAM lda MLI.DEVPTRS3D2
cpx MLI.DEVPTRS+1 S0D1=NODEV
beq .8 S3D2=NODEV, nothing to do
.1 cmp #$00 $FF00 = ProODS /RAM driver
.1 tay $FF00 = ProDOS /RAM driver
bne .8
cpx #$FF
@ -346,27 +339,14 @@ LDR.ShrinkRAM lda MLI.DEVPTRS3D2
bpl .2
.9 sec No $BF device found at S3D2
rts dont use LC !!!!
.99 rts dont use LC !!!!
.8 clc
rts
.3 cpx MLI.DEVCNT
beq .5
.4 lda MLI.DEVLST+1,x
sta MLI.DEVLST,x
inx
cpx MLI.DEVCNT
bne .4
ldx MLI.DEVCNT
.5 stz MLI.DEVLST,x
dec MLI.DEVCNT
.3 jsr LDR.GFInfoRAM
bcs .99
jsr LDR.ONLINE
ldx #LDR.ZPCODE.L-1
.6 lda LDR.ZPCODE,x
@ -394,22 +374,26 @@ LDR.ShrinkRAM lda MLI.DEVPTRS3D2
stz AUX.RAMSIG+1 Set $E000-$FFFF as BLOCK USED
sta IO.CLRWRITEAUX
plp
ldx MLI.DEVCNT
lda #$BF
sta MLI.DEVLST,x
inc MLI.DEVCNT
LDR.GFInfoRAM ldy #LDR.RAM
lda /LDR.RAM
*--------------------------------------
LDR.ONLINE jsr MLI
.DA #MLI.C.ONLINE
.DA .1
rts
LDR.GFInfoYA sty LDR.GFINFO.P+1
sta LDR.GFINFO.P+2
.1 .DA #2
.DA #0
.DA $1F00
lda MLI.DEVNUM
pha
jsr MLI
.DA #MLI.C.GETFILEINFO
.DA LDR.GFINFO.P
plx
stx MLI.DEVNUM
rts
*--------------------------------------
LDR.ZPCODE sta IO.SETREADAUX
lda AUX.RAMSIG,x
@ -422,30 +406,32 @@ LDR.RAMSIG .HS FFFE BITMAP for Blocks $70-$7F (LC $D000-FFFF)
.AS "RAM"
LDR.RAMSIG.L .EQ *-LDR.RAMSIG
*--------------------------------------
LDR.RAM .DA #4
.AS "/RAM"
*--------------------------------------
LDR.CSWVECT .DA LDR.CSW
LDR.KSWVECT .DA LDR.KSW
*--------------------------------------
LDR.GFINFO.P .DA #10
.DA LDR.STARTUP.LEN
.BS 2 Filename
.BS 16
*--------------------------------------
LDR.GETSETPFX1.P
.DA #1
.DA LDR.GETSETPFX1.SLASH
LDR.GETSETPFX1.SLASH
LDR.SETPFXSLASH.P
.DA #1
.DA .1
.1 .DA #1
.AS "/"
LDR.STARTUP.LEN1
.DA #0
*--------------------------------------
LDR.ONLINE.P .DA #2
LDR.ONLINE.P.DEVNUM
.DA #$70
.DA #$70 DEVNUM
.DA MLI.PATHBUF+1
*--------------------------------------
LDR.GETSETPFX2.P
.DA #1
LDR.GETSETPFX.P .DA #1
.DA MLI.PATHBUF
LDR.PFXLEN .DA #0
*--------------------------------------
LDR.STARTUP.LEN .DA #0
LDR.PFX.LEN .DA #0
*--------------------------------------
LDR.UNABLE .AS -"*** UNABLE TO EXECUTE BASIC SYSTEM ***"
LDR.UNABLE.L .EQ *-LDR.UNABLE

View File

@ -11,6 +11,7 @@ NEW
sta $C010
.EM
*--------------------------------------
HIMEM .EQ $9E00
LOWERCASE .EQ 1
*--------------------------------------
BS.E.RANGE .EQ $02
@ -79,6 +80,7 @@ ZP.A2L .EQ $3E
ZP.A2H .EQ $3F
AS.LINNUM .EQ $50
AS.PGRMSTART .EQ $67
AS.VARSTART .EQ $69
AS.ARRAYSTART .EQ $6B
@ -86,6 +88,7 @@ AS.ARRAYEND .EQ $6D
AS.STRINGSTART .EQ $6F
AS.STRINGPTR .EQ $71
AS.HIMEM .EQ $73
AS.CURLINE .EQ $75
AS.LOWTR .EQ $9B
AS.PGRMEND .EQ $AF
@ -218,7 +221,7 @@ MON.SETVID .EQ $FE93
MON.ENTERMON .EQ $FF69
*--------------------------------------
.INB usr/src/basic.fx/basic.s.ldr
LDR.MAIN.SRC .PH $9A00
LDR.MAIN.SRC .PH HIMEM
LDR.MAIN.DST .EQ *
.INB usr/src/basic.fx/basic.s.a
.INB usr/src/basic.fx/basic.s.b
@ -226,11 +229,11 @@ LDR.MAIN.DST .EQ *
.INB usr/src/basic.fx/basic.s.d
.EP
LDR.GP.SRC .PH $BE00
LDR.GP.DST .EQ *
LDR.GP.DST .EQ *
.INB usr/src/basic.fx/basic.s.gp
.EP
LDR.AUX.SRC .PH $E000
LDR.AUX.DST .EQ *
LDR.AUX.DST .EQ *
.INB usr/src/basic.fx/basic.s.x
.EP
*--------------------------------------

View File

@ -281,6 +281,7 @@ OPEN.I jsr CLOSE
sta W5100.MR,x
>AR.SELECT SHAR
ldy #0
.1 lda DCB+S.DCB.NIC.MAC,y
@ -363,23 +364,22 @@ OPEN.SnY phy
stz W5100.DR,x
stz W5100.DR,x
>AR.Sn.SELECT S0.DHAR
* >AR.Sn.SELECT S0.DHAR
ldy #6 DHAR
lda #$EE
* ldy #6 DHAR
* lda #$EE
.1 sta W5100.DR,x
dey
bne .1
*.1 sta W5100.DR,x
* dey
* bne .1
>AR.Sn.SELECT S0.DIPR
* >AR.Sn.SELECT S0.DIPR
ldy #4 DIPR
lda #10
* ldy #4 DIPR
.2 sta W5100.DR,x
dey
bne .2
*.2 stz W5100.DR,x
* dey
* bne .2
>AR.Sn.SELECT S0.DPORT
stz W5100.DR,x
@ -754,8 +754,8 @@ WRITE php
.11 lda Sn.IO.BASE,y
sta Sn.IO
ora #$30
sta $426
* ora #$30
* sta $426
lda Sn.TX.BASE,y
sta Sn.BASE
lda Sn.RXTX.MASK,y
@ -763,23 +763,59 @@ WRITE php
ldx DEVSLOTx0
ldy #S.IP.DST
lda (ZPBufPtr),y
beq .12
cmp #$ff
bne .13
.12
* >AR.Sn.SELECT S0.DHAR
* ldy #6
* lda #$ff
*.20 sta W5100.DR,x
* dey
* bne .20
>AR.Sn.SELECT S0.DIPR
* lda #$ff
* ldy #3
*.21 sta W5100.DR,x
* dey
* bpl .21
lda #192
sta W5100.DR,x
lda #168
sta W5100.DR,x
lda #1
sta W5100.DR,x
lda #255
sta W5100.DR,x
bra .14
.13 >AR.Sn.SELECT S0.DIPR
ldy #S.IP.DST
.1 lda (ZPBufPtr),y
lda #10
sta W5100.DR,x
iny
cpy #S.IP.DST+4
bne .1
>AR.Sn.SELECT S0.TX.FSR
lda W5100.DR,x get send size HI
ldy W5100.DR,x LO
.14 >AR.Sn.SELECT S0.TX.FSR
lda W5100.DR,x get send size HI
ldy W5100.DR,x LO
cpy RXTX.Size
sbc RXTX.Size+1
bcc READWRITE.NODATA
bcc .9
>AR.Sn.SELECT S0.TX.WR
lda W5100.DR,x Get HI
@ -826,6 +862,12 @@ WRITE php
plp
clc
rts
.9 lda #E.NODATA
plp
sec
rts
*--------------------------------------
GET.IOCTLBUFPTR >STYA ZPIOCTL
ldy #S.IOCTL.BUFPTR
@ -858,8 +900,8 @@ DCB .DA #S.DCB.T.NIC
.DA #S.DCB.NIC.SPEED.100
.HS 0008DC123456 MAC
.DA #0,#0,#0,#0 IP
.DA #255,#255,#255,#255 MASK
.DA #0,#0,#0,#0 GW
.DA #255,#255,#255,#0 MASK
.DA #192,#168,#1,#254 GW
*--------------------------------------
FRM.HDR .HS 0800 S.ETH.EII.TYPE
.HS 4500

View File

@ -530,5 +530,5 @@ DCB .DA #S.DCB.T.NIC
*--------------------------------------
DRV.END
MAN
SAVE USR/SRC/DRV/UTHERNET2.DRV.S
SAVE usr/src/drv/uthernet2.drv.s
ASM

View File

@ -2,9 +2,9 @@ NEW
AUTO 3,1
*--------------------------------------
IO.D2.SeekTimeR .EQ 45 LIBBLKDEV Recalibration
IO.D2.SeekTimeF .EQ 55 LIBBLKDEV Track Formatter
IO.D2.SeekTimeB .EQ 55 LIBBLKDEV Boot Block
IO.D2.SeekTimeP .EQ 45 ProDOS.FX initial
IO.D2.SeekTimeF .EQ 30 LIBBLKDEV Track Formatter
IO.D2.SeekTimeB .EQ 30 LIBBLKDEV Boot Block
IO.D2.SeekTimeP .EQ 30 ProDOS.FX initial
IO.D2.SeekTimeI .EQ 10 ProDOS.FX increment -> until > 128
*--------------------------------------
IO.D2.Ph0Off .EQ $C080

View File

@ -292,7 +292,7 @@ BB.ReadBlock lda blok figure out track & sector.
*--------------------------------------
BB.Wait100usecA phx (3)
.1 ldx #21 (2)
.1 ldx #20 (2)
.2 dex (2)
bne .2 (3)
@ -397,7 +397,7 @@ BB.Seek lda BB.HdrTrk get track we're on
bcc .10
lda IO.D2.Ph0Off,x
sta IO.D2.Ph0Off,x
nop
nop
.10 lda IO.D2.Ph0Off,y

View File

@ -138,7 +138,7 @@ D2.MoveHead.SEI lda D2.CurrentQTrack
bcc .90
lda IO.D2.Ph0Off,x
sta IO.D2.Ph0Off,x
nop
nop
.90 lda IO.D2.Ph0Off,y
@ -385,7 +385,7 @@ D2.Wait25600usec
D2.Wait100usecA phx
.1 ldx #21 (2)
.1 ldx #20 (2)
.2 dex (2)
bne .2 (3)

View File

@ -838,7 +838,7 @@ XRW.SeekYA sta XRW.D2Trk-1,x will be current track at the end
bcc .90
lda IO.D2.Ph0Off,x
sta IO.D2.Ph0Off,x
nop
clc Exit wit CC (recalibrate)