anti-m/src/idspiradisc.a

67 lines
1.3 KiB
Plaintext
Raw Normal View History

; SpiraDisc tracer
2019-03-10 02:30:04 +00:00
; written by qkumba
;
; 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
; 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