fix Dangerous Dave, Qix, Sputnik Attack, Victory Road

This commit is contained in:
Peter Ferrie 2022-05-28 17:21:15 -07:00
parent 0f12d11538
commit 8b166b8ba7
4 changed files with 54 additions and 6 deletions

View File

@ -0,0 +1,27 @@
;license:MIT
;(c) 2020 by Tom Greene
!cpu 6502
!to "build/PRELAUNCH.INDEXED/DANGEROUS.DAVE",plain
*=$106
!source "src/prelaunch/common.a"
; the game calls the Applesoft RND function in ROM
; so we need to copy the seed into ZP, otherwise it
; will get stuck in an infinite loop
ldx #$04
- lda seed,x
sta $C9,x
dex
bpl -
jmp $200
seed
!byte $80, $4F, $C7, $52, $FF
!if * > $1C0 {
!error "code is too large, ends at ", *
}

View File

@ -36,8 +36,9 @@ callback1
pha pha
lda #<(callback2 - 1) lda #<(callback2 - 1)
pha pha
+
jmp $60D6 jmp $60D6
+
jmp $60D2
callback2 callback2
lda #$ad lda #$ad

View File

@ -1,5 +1,5 @@
;license:MIT ;license:MIT
;(c) 2021 by qkumba/xot ;(c) 2021-2022 by qkumba/xot
!cpu 6502 !cpu 6502
!to "build/PRELAUNCH.INDEXED/SPUTNIK.ATTACK",plain !to "build/PRELAUNCH.INDEXED/SPUTNIK.ATTACK",plain
@ -13,20 +13,36 @@
sta $93D9 sta $93D9
jsr $6900 ; decompress jsr $6900 ; decompress
+GET_MACHINE_STATUS +READ_RAM2_NO_WRITE
lda MachineStatus
and #CHEATS_ENABLED and #CHEATS_ENABLED
beq + beq +
lda #$A5 lda #$A5
sta $6B37 ; inf. lives sta $6B37 ; inf. lives
sta $6724 ; inf. shields sta $6724 ; inf. shields
+ +
+DISABLE_ACCEL lda #<callback
sta $BD3E
lda #>callback
sta $BD3F
jsr DisableAccelerator
+READ_ROM_NO_WRITE
- lda $C000 - lda $C000
bpl - bpl -
lda $C010 lda $C010
jmp $8A60 jmp $8A60
callback
lda $BE4A
ora $BE4B
beq +
jsr $BF00
!byte $CE
!word $BE47
+
rts
!if * > $1C0 { !if * > $1C0 {
!error "code is too large, ends at ", * !error "code is too large, ends at ", *
} }

View File

@ -16,7 +16,6 @@ callback
lda #$a5 lda #$a5
sta $D433 ; patch - don't decrease lives sta $D433 ; patch - don't decrease lives
+ +
jsr DisableAccelerator
jmp $D000 jmp $D000
++ ++
@ -26,11 +25,16 @@ callback
jsr $1000 ; decompress jsr $1000 ; decompress
dex dex
jsr $D300 ; decompress more jsr $D300 ; decompress more
lda #$60
sta $A0F7
jsr $A000
jsr DisableAccelerator
lda #<callback lda #<callback
sta $A17A sta $A17A
lda #>callback lda #>callback
sta $A17B sta $A17B
jmp $A000 ; decompress ldy #0
jmp $A0F9 ; decompress
!if * > $1C0 { !if * > $1C0 {
!error "code is too large, ends at ", * !error "code is too large, ends at ", *