From 0fb47ca39e30d9e6ea68f1d254df12bb3f516863 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Mon, 11 Mar 2019 17:41:52 -0700 Subject: [PATCH] support Bug Attack, disable IIGS boot timeout --- res/notes.txt | 6 ------ src/anti-m.a | 7 ++++++- src/idbroderbund.a | 41 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 47 insertions(+), 7 deletions(-) diff --git a/res/notes.txt b/res/notes.txt index 4153444..48ded90 100644 --- a/res/notes.txt +++ b/res/notes.txt @@ -1,8 +1,2 @@ Untested (Gebelli): - Lazer Silk - -Do not work yet: -- Bug Attack (Cavalier) - $A2BB: 4C D4 A2 to bypass undocumented 6502 opcodes - $A2F6: 4C 36 4D to bypass undocumented 6502 opcodes and 6502-specific JMP behavior - ...TODO there are more undocumented opcodes diff --git a/src/anti-m.a b/src/anti-m.a index 985084b..0c01d2c 100644 --- a/src/anti-m.a +++ b/src/anti-m.a @@ -70,7 +70,12 @@ Boot sta $1600,x inx bne - - lda #Tracer ldy $16F8 cpy #$4C diff --git a/src/idbroderbund.a b/src/idbroderbund.a index 1eeb91d..18aad0c 100644 --- a/src/idbroderbund.a +++ b/src/idbroderbund.a @@ -2,6 +2,7 @@ ; written by 4am and qkumba ; ; tested on +; - Bug Attack (Cavalier) ; - Choplifter (Broderbund) ; - David's Midnight Magic (Broderbund) ; - Dueling Digits (Broderbund) @@ -244,6 +245,10 @@ IDBroderbund ldx #<@StarThiefCallback ldy #>@StarThiefCallback cmp #$41 + beq @hookhybrid + ldx #<@BugAttackCallback + ldy #>@BugAttackCallback + cmp #$A1 bne + @hookhybrid @@ -338,3 +343,39 @@ IDBroderbund lda #$68 sta $42C2 jmp $4200 + +@BugAttackCallback + ldy #@BugAttackCallback2_e-@BugAttackCallback2 +- lda @BugAttackCallback2-1,y + sta @BugAttackCallback2x-1,y + dey + bne - + lda #$4C + sta $A2BB + lda #$D4 + sta $A2BC + lda #$A2 + sta $A2BD + lda #$4C + sta $A2F6 + lda #<@BugAttackCallback2x + sta $A2F7 + lda #>@BugAttackCallback2x + sta $A2F8 + jmp $A200 + +@BugAttackCallback2 !pseudopc $110 { +@BugAttackCallback2x + lda #$16 + sta $4E06 + lda #$4C + sta $4A78 + lda #$A4 + sta $4A79 + lda #$49 + sta $4A7A + lda #$87 + sta $EB5 + jmp $4D36 +} +@BugAttackCallback2_e \ No newline at end of file