diff --git a/src/prelaunch/dangerous.dave.a b/src/prelaunch/dangerous.dave.a new file mode 100644 index 000000000..db3f96214 --- /dev/null +++ b/src/prelaunch/dangerous.dave.a @@ -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 ", * +} \ No newline at end of file diff --git a/src/prelaunch/qix.a b/src/prelaunch/qix.a index 0e14426bf..f77bf7836 100644 --- a/src/prelaunch/qix.a +++ b/src/prelaunch/qix.a @@ -36,8 +36,9 @@ callback1 pha lda #<(callback2 - 1) pha -+ jmp $60D6 ++ + jmp $60D2 callback2 lda #$ad diff --git a/src/prelaunch/sputnik.attack.a b/src/prelaunch/sputnik.attack.a index 6430d5046..afa9add85 100644 --- a/src/prelaunch/sputnik.attack.a +++ b/src/prelaunch/sputnik.attack.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba/xot +;(c) 2021-2022 by qkumba/xot !cpu 6502 !to "build/PRELAUNCH.INDEXED/SPUTNIK.ATTACK",plain @@ -13,20 +13,36 @@ sta $93D9 jsr $6900 ; decompress - +GET_MACHINE_STATUS + +READ_RAM2_NO_WRITE + lda MachineStatus and #CHEATS_ENABLED beq + lda #$A5 sta $6B37 ; inf. lives sta $6724 ; inf. shields + - +DISABLE_ACCEL + lda #callback + sta $BD3F + jsr DisableAccelerator + +READ_ROM_NO_WRITE - lda $C000 bpl - lda $C010 jmp $8A60 +callback + lda $BE4A + ora $BE4B + beq + + jsr $BF00 + !byte $CE + !word $BE47 ++ + rts + !if * > $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/victory.road.a b/src/prelaunch/victory.road.a index 534872ad9..b607c5989 100644 --- a/src/prelaunch/victory.road.a +++ b/src/prelaunch/victory.road.a @@ -16,7 +16,6 @@ callback lda #$a5 sta $D433 ; patch - don't decrease lives + - jsr DisableAccelerator jmp $D000 ++ @@ -26,11 +25,16 @@ callback jsr $1000 ; decompress dex jsr $D300 ; decompress more + lda #$60 + sta $A0F7 + jsr $A000 + jsr DisableAccelerator lda #callback sta $A17B - jmp $A000 ; decompress + ldy #0 + jmp $A0F9 ; decompress !if * > $1C0 { !error "code is too large, ends at ", *