From 1682de6472be8cb24dfc11bf562e77b82f6c6162 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Fri, 27 May 2022 07:41:34 -0700 Subject: [PATCH] add some cheats --- res/GAMES.CONF | 10 +++++----- src/prelaunch/cali.raisins.a | 12 +++++++++++- src/prelaunch/depth.charge.a | 27 +++++++++++++++++++++++++++ src/prelaunch/escape.a | 24 ++++++++++++++++++++++-- src/prelaunch/federation.a | 12 ++++++++++-- src/prelaunch/impossible.miss.a | 10 +++++++++- 6 files changed, 84 insertions(+), 11 deletions(-) create mode 100644 src/prelaunch/depth.charge.a diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 4665315a9..e39d2a8ff 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -91,7 +91,7 @@ 0003,BU=BurgerTime 0001,BUZZARD.BAIT=Buzzard Bait 0000,CV=C'est La Vie -0000,CALI.RAISINS=California Raisins +0004,CALI.RAISINS=California Raisins 0001,CB=Cannonball Blitz 0001,CANYON.CLIMBER=Canyon Climber 0005,CG=Captain Goodnight @@ -137,7 +137,7 @@ 1001,DEFENDER=Defender 1001,DJ=Defender (Joe Holt) 0001,DEMONIC.DECKS=Demonic Decks -1000,DEPTH.CHARGE=Depth Charge +1001,DEPTH.CHARGE=Depth Charge 0001,DIAMOND.MINE=Diamond Mine 0001,DIG.DUG=Dig Dug 1001,DINO.EGGS=Dino Eggs @@ -153,12 +153,12 @@ 0001,EARLY.BIRD=Early Bird 0001,EI=Eggs-It 0000,EPOCH=Epoch -0000,ES=Escape! +0005,ES=Escape! 0001,EVOLUTION=Evolution 0001,EXTERMINATOR=Exterminator 0001,FALCONS=Falcons 0006,FAT.CITY=Fat City -0000,FEDERATION=Federation +0001,FEDERATION=Federation 0001,FIREBIRD=Firebird 0000,FIREBUG=Firebug 0110,FLAPPLE.BIRD=Flapple Bird @@ -203,7 +203,7 @@ 0001,HYPER.HEAD.ON=Hyper Head On 0000,IO=I.O. Silver 0101,IKARI.WARRIORS=Ikari Warriors -1000,I1=Impossible Mission +1005,I1=Impossible Mission 0117,I2=Impossible Mission II 0111,INDIANA.JONES=Indiana Jones 1000,INFILTRATOR=Infiltrator diff --git a/src/prelaunch/cali.raisins.a b/src/prelaunch/cali.raisins.a index 9a729435d..fe3ea5a33 100644 --- a/src/prelaunch/cali.raisins.a +++ b/src/prelaunch/cali.raisins.a @@ -13,7 +13,17 @@ sta $5EC0 jsr $36C0 ; decompress - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $69EE ; patch - don't decrease lives + sta $69F1 ; patch - don't decrease lives + sta $7474 ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $D566 diff --git a/src/prelaunch/depth.charge.a b/src/prelaunch/depth.charge.a new file mode 100644 index 000000000..28fc2233d --- /dev/null +++ b/src/prelaunch/depth.charge.a @@ -0,0 +1,27 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/DEPTH.CHARGE",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $1A6A + jsr $1A00 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $BFB ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $D566 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/escape.a b/src/prelaunch/escape.a index 95a5dda2a..33ecfc744 100644 --- a/src/prelaunch/escape.a +++ b/src/prelaunch/escape.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by Frank M. +;(c) 2021-2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/ES",plain @@ -7,9 +7,29 @@ !source "src/prelaunch/common.a" + +ENABLE_ACCEL +NEW_RESET_VECTOR $BFF0 - jmp $523E + lda #callback + sta $6038 + jmp $523E ; decompress + +callback + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda $1E5B + cmp #$31 + bne + + dec $1E5B ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $D566 !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/federation.a b/src/prelaunch/federation.a index 8a8c0ad2b..cba95bc20 100644 --- a/src/prelaunch/federation.a +++ b/src/prelaunch/federation.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba +;(c) 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/FEDERATION",plain @@ -11,7 +11,15 @@ lda #$60 sta $1C7C jsr $1C00 ; decompress - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $A63 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $D566 !if * > $1C0 { diff --git a/src/prelaunch/impossible.miss.a b/src/prelaunch/impossible.miss.a index 89b1a7867..dca4b8a5a 100755 --- a/src/prelaunch/impossible.miss.a +++ b/src/prelaunch/impossible.miss.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019 by Frank M. +;(c) 2019, 2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/I1",plain @@ -9,6 +9,7 @@ ; reboot on reset during title +READ_RAM2_WRITE_RAM2 + jsr EnableAccelerator +LC_REBOOT +READ_ROM_NO_WRITE @@ -23,6 +24,13 @@ lda #$60 sta $4018 + + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $2634 ; patch - don't increase time ++ + jsr DisableAccelerator jsr $4000 ; sets reset vector/LC switched in +LC_REBOOT ; change it back to reboot