diff --git a/src/patchers/555.a b/src/patchers/555.a index a00069e..93496be 100644 --- a/src/patchers/555.a +++ b/src/patchers/555.a @@ -174,6 +174,9 @@ Do555 ; static boot tracer! ldy $801,x + lda $800,y + cmp #$A9 ; LDA + beq .nohalf lda $801,y tay lda $800,y @@ -194,6 +197,14 @@ Do555 .jmpexit2 jmp FatalError +.nohalf + lda #$FF + sta .curtrk+1 + lda #$34 + sta .hookseek+1 + ldx #$93 + jmp .foundpart + .foundseek2 stx $3A lda $801,x @@ -301,6 +312,8 @@ Do555 .foundpart stx $3A jsr IncProgress + +.donohalf lda gSector sta .cmpsect+1 @@ -444,9 +457,19 @@ Do555 .patch !byte $00,$04 ; [JSR] $04xx !byte $B0,$0B ; BCS *+$0D - !byte $E6,$41 ; STA $41 + !byte $E6,$41 ; INC $41 !byte $EA ; NOP !byte $4C ; JMP $xxxx + lda .curtrk+1 + bpl .skipnohalf + ldy #$A5 + lda #$36 + sta ($3E),y + iny + lda #4 + sta ($3E),y + +.skipnohalf sec txa sbc #5 diff --git a/src/wholetrack.a b/src/wholetrack.a index 6a09825..42485b7 100755 --- a/src/wholetrack.a +++ b/src/wholetrack.a @@ -155,8 +155,10 @@ JustTheSameDamnThingOverAndOver sta @cmp+1 ; 4 @loop lda $C0EC ; 4 bpl @loop ; 2 when not taken - !if >@loop != >* { - !serious "branch crosses a page" + !if RELBASE != $2000 { + !if >@loop != >* { + !serious "branch crosses a page" + } } dex ; 2 bne @cmp ; 2 when not taken @@ -202,8 +204,10 @@ IsUnformatted @reset ldy #$00 @loop ldx $C0EC ; 4 bpl @loop ; 2 when not taken - !if >@loop != >* { - !serious "branch crosses a page" + !if RELBASE != $2000 { + !if >@loop != >* { + !serious "branch crosses a page" + } } dec unform ; 5 bne + ; 2 when not taken @@ -251,8 +255,10 @@ ReadNib .x1 - lda $C0EC bpl - - !if >.x1 != >* { - !serious "branch crosses a page" + !if RELBASE != $2000 { + !if >.x1 != >* { + !serious "branch crosses a page" + } } rts @@ -268,8 +274,10 @@ Read4x4 .x2 - lda $C0EC bpl - - !if >.x2 != >* { - !serious "branch crosses a page" + !if RELBASE != $2000 { + !if >.x2 != >* { + !serious "branch crosses a page" + } } sec rol @@ -277,8 +285,10 @@ Read4x4 .x3 - lda $C0EC bpl - - !if >.x3 != >* { - !serious "branch crosses a page" + !if RELBASE != $2000 { + !if >.x3 != >* { + !serious "branch crosses a page" + } } and tmp rts