Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-10-30 17:03:34 +01:00
parent 877838ef55
commit a48cf514cb
6 changed files with 31 additions and 42 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -170,9 +170,6 @@ DHCP.RUN.SKT.RECV
cmp #E.NODATA
bne .9
lda #'@'
>SYSCALL putchar
lda TimeOut
bne .1

View File

@ -1,11 +1,11 @@
NEW
AUTO 3,1
*--------------------------------------
IO.D2.SeekTimeR .EQ 160 LIBBLKDEV Recalibration
IO.D2.SeekTimeR .EQ 140 LIBBLKDEV Recalibration
IO.D2.SeekTimeF .EQ 140 LIBBLKDEV Track Formatter
IO.D2.SeekTimeB .EQ 140 LIBBLKDEV Boot Block
IO.D2.SeekTimeP .EQ 50 ProDOS.FX initial
IO.D2.SeekTimeI .EQ 20 ProDOS.FX increment -> until > 128
IO.D2.SeekTimeP .EQ 30 ProDOS.FX initial
IO.D2.SeekTimeI .EQ 10 ProDOS.FX increment -> until > 128
*--------------------------------------
IO.D2.Ph0Off .EQ $C080
IO.D2.Ph0On .EQ $C081

View File

@ -1,7 +1,7 @@
NEW
AUTO 3,1
*--------------------------------------
XRWDBG .EQ 0
XRWDBG .EQ 1
*--------------------------------------
XRW.START cld $D8 to flag language card bank 1 (main)
@ -169,9 +169,11 @@ XRW.E.OK lda #0
bit IO.D2.DrvOff,x turn off
rts
*--------------------------------------
regrwts ldy #1
sty XRW.RecalibrateCnt
regrwts lda #1
sta XRW.RecalibrateCnt
sta XRW.BadSeek
lda A4L get command #
lsr set carry = 1 for read, 0 for write.
@ -179,9 +181,6 @@ regrwts ldy #1
jsr XRW.PreNibble
lda #$fe
sta XRW.BadSeek
.1 ldy #64
sty XRW.RetryCnt
@ -199,49 +198,49 @@ regrwts ldy #1
jsr XRW.DEBUG
.FIN
ldy XRW.UnitIndex
ldx XRW.UnitIndex
lda #41
sta XRW.D2Trk-1,y
sta XRW.D2Trk-1,x
lda #0
sta XRW.D2VolNum-1,y
sta XRW.D2VolNum-1,x
jsr XRW.Seek
jsr XRW.Seek Seek from Track 41 -> 0
bra .1
.4 cmp XRW.ReqTrack
beq .5
beq .6
inc XRW.BadSeek
bmi .41
dec XRW.BadSeek
bpl .5
ldx XRW.UnitIndex
lda XRW.D2SeekTime-1,x
bmi .41
bmi .5
clc
adc #IO.D2.SeekTimeI
sta XRW.D2SeekTime-1,x
.41 lda XRW.ReqTrack
.5 lda XRW.ReqTrack
jsr XRW.Seek
bra .3
.5 lda XRW.AddrField.S is this the right sector ?
.6 lda XRW.AddrField.S is this the right sector ?
cmp XRW.ReqSector
bne .3 no, try another sector.
lda A4L read or write ?
lsr the carry will tell.
bcc L53F4 branch if write
bcc .7 branch if write
jsr XRW.Read
bcs .3 if bad read
.9 rts
L53F4 jmp XRW.Write
.7 jmp XRW.Write
*--------------------------------------
* determine if motor is stopped
*
@ -409,9 +408,6 @@ L596F ldy #$FF index to last byte of data to write.
XRW.Write lda nbuf2
sta pcl
*.1 bit IO.D2.RData,x make sure past $EB
* bpl .1
bit IO.D2.ReadProt,x PREWRITE MODE
bit IO.D2.ReadMode,x
@ -588,8 +584,7 @@ XRW.Wait100usecA
inc XRW.montimeh (6)
.3 sec (2)
sbc #1 (2)
.3 dec (2)
bne .1 (3)
plx (4)
@ -933,29 +928,26 @@ XRW.ReadAddr ldy #$FC
tay if final checksum non-zero,
bne .99 then error.
ldy XRW.UnitIndex
clc Anticipate success...
.9 lda IO.D2.RData,x
bpl .9
eor #$DE
bne .99
*.10 lda IO.D2.RData,x
* bpl .10
* eor #$AA
* bne .99
ldy XRW.UnitIndex
lda XRW.AddrField.V ....save time doing it now
sta XRW.D2VolNum-1,y
.10 lda IO.D2.RData,x
bpl .10
eor #$AA
bne .99
lda XRW.AddrField.T Successful Read, update Drive table
sta XRW.D2Trk-1,y and exit with A = Trk
* clc normal read ok
clc normal read ok
rts
.99 sec
@ -993,7 +985,7 @@ XRW.DEBUG31 jsr XRW.DEBUG.PRINT
rts
XRW.DEBUG.PRINT
* sta CLRPAGE2
sta CLRPAGE2
pha
lsr
lsr