2019-03-10 17:11:01 +00:00
|
|
|
; SpiraDisc tracer
|
2019-03-10 02:30:04 +00:00
|
|
|
; written by qkumba
|
|
|
|
;
|
2019-03-10 17:11:01 +00:00
|
|
|
; tested on
|
|
|
|
; - Frogger
|
|
|
|
; - Jawbreaker ][
|
|
|
|
; - Lunar Leepers
|
|
|
|
; - Pest Patrol
|
|
|
|
;
|
2019-03-10 02:30:04 +00:00
|
|
|
IDSpiraDisc
|
|
|
|
lda #8
|
|
|
|
ldx #1
|
|
|
|
ldy #12
|
2019-03-10 03:29:19 +00:00
|
|
|
jsr CompareMemory
|
2019-03-10 02:30:04 +00:00
|
|
|
!byte $86,$0A ;STA $0A
|
|
|
|
!byte $8E,WILDCARD,WILDCARD ;STA $xxxx
|
|
|
|
!byte $8E,WILDCARD,WILDCARD ;STA $xxxx
|
|
|
|
!byte $90,$78 ;BCC *+$7A
|
|
|
|
!byte $D0,$01 ;BNE *+$03
|
|
|
|
bcs @exit
|
|
|
|
|
|
|
|
; patch code to regain control after it loads sectors into $B500+
|
|
|
|
lda #<@callback1
|
|
|
|
sta $0870
|
|
|
|
lda #>@callback1
|
|
|
|
sta $0871
|
|
|
|
|
|
|
|
@exit
|
|
|
|
rts
|
|
|
|
|
|
|
|
@callback1
|
2019-04-11 02:47:54 +00:00
|
|
|
lda $85FF
|
|
|
|
beq @skip2
|
|
|
|
lda $B5F9
|
|
|
|
cmp #$8A
|
|
|
|
bne +
|
|
|
|
inc $B5F9
|
|
|
|
+ lda $B608
|
|
|
|
cmp #$8A
|
|
|
|
bne +
|
|
|
|
inc $B608
|
|
|
|
+ lda $B618
|
|
|
|
cmp #$8A
|
|
|
|
bne +
|
|
|
|
inc $B618
|
|
|
|
+
|
|
|
|
|
|
|
|
@skip2
|
|
|
|
|
2019-03-10 02:30:04 +00:00
|
|
|
; disable ROM checksum-failure branching
|
2019-03-12 16:02:46 +00:00
|
|
|
lda $B845
|
|
|
|
cmp #$5C
|
|
|
|
bne +
|
2019-03-10 02:30:04 +00:00
|
|
|
lda #0
|
|
|
|
sta $B845
|
2019-03-12 16:02:46 +00:00
|
|
|
; and boot PROM checksum-failure branching
|
|
|
|
sta $B606
|
|
|
|
lda #$24
|
|
|
|
sta $B60A
|
2019-03-13 02:05:13 +00:00
|
|
|
; and slot checksum-failure branching
|
|
|
|
lda #$FD
|
|
|
|
sta $BF41
|
2019-03-13 16:57:49 +00:00
|
|
|
; and slot scanning entirely
|
|
|
|
lda #$D0
|
|
|
|
sta $B899
|
2019-03-12 16:02:46 +00:00
|
|
|
+ jmp $B800
|