Kernel 0.94

This commit is contained in:
Rémy GIBERT 2020-07-06 14:03:05 +02:00
parent ba4d2a9379
commit bac1250507
8 changed files with 59 additions and 70 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -323,6 +323,8 @@ BB.Seek lda BB.HdrTrk get track we're on
lda IO.D2.Ph0On,x lda IO.D2.Ph0On,x
lda IO.D2.Ph0On,y lda IO.D2.Ph0On,y
jsr BB.WaitSeekTime
pla pla
cmp BB.TargetQTrack cmp BB.TargetQTrack
@ -342,15 +344,11 @@ BB.Seek lda BB.HdrTrk get track we're on
sta BB.CurrentQTrack sta BB.CurrentQTrack
jsr BB.WaitSeekTime lda IO.D2.Ph0Off,x
lda IO.D2.Ph0Off,y
jsr BB.AllPhasesOff
jsr BB.WaitSeekTime
bra .1 bra .1
.8 jsr BB.Wait25600usec .8 jsr BB.Wait25600usec
jsr BB.Wait25600usec
jsr BB.AllPhasesOff jsr BB.AllPhasesOff
bcs BB.Read ALWAYS bcs BB.Read ALWAYS
*-------------------------------------- *--------------------------------------
@ -366,7 +364,9 @@ BB.WaitSeekTime lda #IO.D2.SeekTime
BB.Wait25600usec BB.Wait25600usec
lda #0 lda #0
.1 ldx #19 (2) phx (3)
.1 ldx #18 (2)
.2 dex (2) delay 86 usec. .2 dex (2) delay 86 usec.
bne .2 (2+) 2 + 5x16 + 2 + 2 bne .2 (2+) 2 + 5x16 + 2 + 2
@ -377,6 +377,8 @@ BB.Wait25600usec
sec (6) sec (6)
sbc #1 (2) sbc #1 (2)
bne .1 (2+) bne .1 (2+)
plx (4)
rts (6) rts (6)
*-------------------------------------- *--------------------------------------

View File

@ -102,7 +102,22 @@ D2MoveHead.1
.1 lda MoveFrom .1 lda MoveFrom
pha pha
jsr D2.QPhaseOn and #6
ora Slotn0
tax
pla
pha
inc
and #6
ora Slotn0
tay
lda IO.D2.Ph0On,x
lda IO.D2.Ph0On,y
lda #IO.D2.SeekTime
jsr D2.Wait100usecA
pla pla
cmp MoveTo cmp MoveTo
@ -122,17 +137,11 @@ D2MoveHead.1
sta MoveFrom sta MoveFrom
lda #IO.D2.SeekTime lda IO.D2.Ph0Off,x
jsr D2.Wait100usecA lda IO.D2.Ph0Off,y
jsr D2.AllPhasesOff
lda #IO.D2.SeekTime
jsr D2.Wait100usecA
bra .1 bra .1
.8 jsr D2.Wait25600usec .8 jsr D2.Wait25600usec
jsr D2.Wait25600usec
*-------------------------------------- *--------------------------------------
D2.AllPhasesOff ldx Slotn0 D2.AllPhasesOff ldx Slotn0
lda IO.D2.Ph0Off,x lda IO.D2.Ph0Off,x
@ -141,25 +150,12 @@ D2.AllPhasesOff ldx Slotn0
lda IO.D2.Ph3Off,x lda IO.D2.Ph3Off,x
rts rts
*-------------------------------------- *--------------------------------------
D2.QPhaseOn pha
and #6
ora Slotn0
tax
pla
inc
and #6
ora Slotn0
tay
lda IO.D2.Ph0On,x
lda IO.D2.Ph0On,y
rts
*--------------------------------------
D2.Wait25600usec D2.Wait25600usec
lda #0 lda #0
D2.Wait100usecA D2.Wait100usecA
phx (3)
.1 ldx #18 (2) .1 ldx #18 (2)
.2 dex (2) .2 dex (2)
@ -172,6 +168,8 @@ D2.Wait100usecA
sbc #1 (2) sbc #1 (2)
bne .1 (3) bne .1 (3)
plx (4)
rts (6) rts (6)
*/-------------------------------------- */--------------------------------------
* # D2TrkRead16s * # D2TrkRead16s

View File

@ -389,14 +389,10 @@ L596F ldy #$FF index to last byte of data to write.
* on exit: carry set if error (write protect violation). * on exit: carry set if error (write protect violation).
* if no error, acc=uncertain, x=unchanged, y=0, carry clear. * if no error, acc=uncertain, x=unchanged, y=0, carry clear.
*-------------------------------------- *--------------------------------------
XRW.Write lda IO.D2.ReadProt,x test for write protected XRW.Write lda IO.D2.ReadProt,x
lda IO.D2.ReadMode,x lda IO.D2.ReadMode,x
bpl .1
sec lda nbuf2
rts
.1 lda nbuf2
sta pcl sta pcl
lda #$FF sync data. lda #$FF sync data.
@ -553,6 +549,8 @@ XRW.WaitSeekTime
lda #IO.D2.SeekTime lda #IO.D2.SeekTime
XRW.Wait100usecA XRW.Wait100usecA
phx (3)
.1 ldx #16 (2) .1 ldx #16 (2)
.2 dex (2) .2 dex (2)
@ -570,6 +568,7 @@ XRW.Wait100usecA
sbc #1 (2) sbc #1 (2)
bne .1 (3) bne .1 (3)
plx (4)
rts (6) rts (6)
*-------------------------------------- *--------------------------------------
* read subroutine (16-sector format) * read subroutine (16-sector format)
@ -746,8 +745,23 @@ XRW.Seek ldx XRW.UnitIndex
.1 lda XRW.CurrentQTrack .1 lda XRW.CurrentQTrack
pha pha
jsr XRW.QPhaseOn and #6
ora A2L
tax
pla
pha
inc
and #6
ora A2L
tay
lda IO.D2.Ph0On,x
lda IO.D2.Ph0On,y
jsr XRW.WaitSeekTime
pla pla
cmp XRW.TargetQTrack cmp XRW.TargetQTrack
beq .8 beq .8
@ -766,11 +780,8 @@ XRW.Seek ldx XRW.UnitIndex
sta XRW.CurrentQTrack sta XRW.CurrentQTrack
jsr XRW.WaitSeekTime lda IO.D2.Ph0Off,x
lda IO.D2.Ph0Off,y
jsr XRW.AllPhasesOff
lda #40
jsr XRW.Wait100usecA
bra .1 bra .1
.8 jsr XRW.Wait25600usec .8 jsr XRW.Wait25600usec
@ -783,23 +794,6 @@ XRW.AllPhasesOff
lda IO.D2.Ph3Off,x lda IO.D2.Ph3Off,x
rts rts
*-------------------------------------- *--------------------------------------
XRW.QPhaseOn pha
and #6
ora A2L
tax
pla
inc
and #6
ora A2L
tay
lda IO.D2.Ph0On,x
nop
nop
lda IO.D2.Ph0On,y
rts
*--------------------------------------
XRW.Trk2Qtrk asl x2 XRW.Trk2Qtrk asl x2
sta .1+1 sta .1+1

View File

@ -45,7 +45,7 @@ TERM.TOAUX lda A2osX.ASCREEN
clc clc
.1 ror bActive .1 ror bActive
sta SET80STORE
jsr .8 jsr .8
sta CLRREADAUX sta CLRREADAUX

View File

@ -1153,8 +1153,6 @@ TERMX.CLRSCR.2 sty .1+1
bit bActive bit bActive
bpl .4 bpl .4
sta SET80STORE
sta SETPAGE2 sta SETPAGE2
jsr .7 jsr .7
@ -1229,8 +1227,6 @@ TERMX.LINE0CPY ldx #0
.HS 2C BIT ABS .HS 2C BIT ABS
TERMX.SCRCPY ldx #23 TERMX.SCRCPY ldx #23
sta SET80STORE
.1 lda ZPDCBPtr .1 lda ZPDCBPtr
clc clc
adc BUF.BASEL,x adc BUF.BASEL,x
@ -1300,8 +1296,6 @@ TERMX.COPY.XtoL1
lda SCR.BASEH,x lda SCR.BASEH,x
sta ZPScrBaseL2+1 sta ZPScrBaseL2+1
sta SET80STORE
sta SETPAGE2 sta SETPAGE2
jsr .6 jsr .6
sta CLRPAGE2 sta CLRPAGE2
@ -1373,12 +1367,13 @@ SetCharAtY.SCR pha
tay tay
pla pla
sta SET80STORE
sta CLRPAGE2
bcs .2 bcs .2
sta SETPAGE2 sta SETPAGE2
sta (ZPScrBaseL1),y
rts
.2 sta (ZPScrBaseL1),y .2 sta CLRPAGE2
sta (ZPScrBaseL1),y
SetCharAtYX.8 rts SetCharAtYX.8 rts
*-------------------------------------- *--------------------------------------