From fe753499a8c5b49874773530780d2f7fbac83e94 Mon Sep 17 00:00:00 2001 From: Peter Ferrie Date: Fri, 27 May 2022 16:29:52 -0700 Subject: [PATCH] add some cheats --- res/GAMES.CONF | 10 +++--- src/prelaunch/lemmings.a | 12 +++++-- src/prelaunch/pipe.dream.a | 17 +++++++++- src/prelaunch/skyfox.a | 68 +++++++++++++++++++++++++++----------- src/prelaunch/starglider.a | 22 ++++++++++-- src/prelaunch/stellar.7.a | 20 +++++++++-- 6 files changed, 117 insertions(+), 32 deletions(-) diff --git a/res/GAMES.CONF b/res/GAMES.CONF index e39d2a8ff..af7df984f 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -229,7 +229,7 @@ 0001,LANCASTER=Lancaster 1000,LASER.BOUNCE=Laser Bounce 0001,LAZER.SILK=Lazer Silk -0000,LEMMINGS=Lemmings +0001,LEMMINGS=Lemmings 0001,LL=Lethal Labyrinth 0000,LP=Little Computer People 0001,LC=Lock 'n' Chase @@ -298,7 +298,7 @@ 0005,PICNIC.PARANOIA=Picnic Paranoia 0001,PM=Pie-Man 0001,PIG.PEN=Pig Pen -0110,PIPE.DREAM=Pipe Dream +0115,PIPE.DREAM=Pipe Dream 1000,PITFALL.II=Pitfall II 0000,PITSTOP.II=Pitstop II 1001,PLANETOIDS=Planetoids @@ -344,7 +344,7 @@ 0001,SHORT.CIRCUIT=Short Circuit 1001,SI=Shuttle Intercept 0006,SC=Situation Critical -1000,SKYFOX=Skyfox +1006,SKYFOX=Skyfox 0001,SNACK.ATTACK=Snack Attack 0001,SNAKE.BYTE=Snake Byte 0001,SNEAKERS=Sneakers @@ -378,10 +378,10 @@ 1001,STARBALL=Starball 1001,STARBLASTER=Starblaster 1003,STARGATE=Stargate -1000,STARGLIDER=Starglider +1006,STARGLIDER=Starglider 1000,STARMINES=Starmines 0000,STATION.5=Station 5 -0000,STELLAR.7=Stellar 7 +0006,STELLAR.7=Stellar 7 0004,SUCCESSION=Succession 0004,SU=Suicide! 0001,SUPER.BUNNY=Super Bunny diff --git a/src/prelaunch/lemmings.a b/src/prelaunch/lemmings.a index 117587f33..3591e7967 100644 --- a/src/prelaunch/lemmings.a +++ b/src/prelaunch/lemmings.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba +;(c) 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/LEMMINGS",plain @@ -12,7 +12,15 @@ sta $41B0 jsr $4000 ; decompress inc $C9 ; RNG requires non-zero - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $BA5E ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $8C8 !if * > $1C0 { diff --git a/src/prelaunch/pipe.dream.a b/src/prelaunch/pipe.dream.a index f9b7c4dd7..c86ca55bb 100644 --- a/src/prelaunch/pipe.dream.a +++ b/src/prelaunch/pipe.dream.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by qkumba +;(c) 2020, 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/PIPE.DREAM",plain @@ -14,6 +14,9 @@ my_vbl sta @copy_vbl+1 lda WaitForVBL+2 sta @copy_vbl+2 + lda MachineStatus + and #CHEATS_ENABLED + php ldy #0 @copy_vbl @@ -31,8 +34,20 @@ my_vbl sta $9D53 lda #>my_vbl sta $9D54 + plp + beq + + lda #callback + sta $8BC ++ jmp $881 +callback + lda #$A5 + sta $A453 ; patch - don't decrease time + jmp $B679 + !if * > $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/skyfox.a b/src/prelaunch/skyfox.a index ccf6e7c67..a664c719e 100755 --- a/src/prelaunch/skyfox.a +++ b/src/prelaunch/skyfox.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019-2021 by qkumba/Frank M. +;(c) 2019-2022 by qkumba/Frank M. !cpu 6502 !to "build/PRELAUNCH.INDEXED/SKYFOX",plain @@ -7,42 +7,70 @@ !source "src/prelaunch/common.a" + jmp + + +callback2 + jsr $BC03 + lda #$85 + ldx #$A5 + cmp $7FB5 + bne plane + stx $7FB5 ; patch - don't increase damage + stx $9327 ; patch - don't decrease fuel + +plane + cmp $9BC7 + bne nopatch + stx $156A ; patch - don't decrease fuel + stx $9281 ; patch - don't decrease fuel + stx $9BC7 ; patch - don't increase damage + +callback1 + sec + sbc #8 + cmp #2 + +nopatch + lda #0 + rts + ++ +ENABLE_ACCEL inc $80 ; requires a non-zero value for the RNG lda #$60 sta $7E3A jsr $4635 - lda #$82 ; READ_ROM_NO_WRITE - sta $101 - lda #$A6 - sta $104 - lda #$FA - sta $105 ; update TR hook to reboot - lda #0 + ldx #$82 ; READ_ROM_NO_WRITE + stx $101 + ldx #$A6 + stx $104 + ldx #$FA + stx $105 ; update TR hook to reboot sta $5FFC - lda #1 - sta $5FFD ; moved to LC $FFFC/D + sty $5FFD ; moved to LC $FFFC/D lda #$4C sta $6872 - lda #callback - sta $6874 + sty $6874 lda #$B0 sta $685B lda #$90 sta $6862 - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda # $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/starglider.a b/src/prelaunch/starglider.a index f1cebe47f..8009170bd 100644 --- a/src/prelaunch/starglider.a +++ b/src/prelaunch/starglider.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by qkumba +;(c) 2020, 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/STARGLIDER",plain @@ -7,7 +7,12 @@ !source "src/prelaunch/common.a" - +ENABLE_ACCEL + +READ_RAM2_NO_WRITE + jsr EnableAccelerator + lda MachineStatus + and #CHEATS_ENABLED + php + +READ_ROM_NO_WRITE lda #$60 sta $81FC jsr $800 ; decompress @@ -25,6 +30,19 @@ lda #$FA sta $105 ; update reset hook to reboot + plp + beq + + lda #$a5 + sta $76B3 ; patch - don't decrease fuel + sta $856B ; patch - don't increase damage + sta $8E13 ; patch - don't increase weapons + sta $9528 ; patch - don't increase damage + sta $9BC0 ; patch - don't increase damage + sta $9D34 ; patch - don't increase damage + sta $9D70 ; patch - don't increase damage + sta $9E37 ; patch - don't increase damage ++ + jmp $BA00 !if * > $1C0 { diff --git a/src/prelaunch/stellar.7.a b/src/prelaunch/stellar.7.a index ded519519..25dfcc7d8 100755 --- a/src/prelaunch/stellar.7.a +++ b/src/prelaunch/stellar.7.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019 by qkumba/Frank M. +;(c) 2019, 2022 by qkumba/Frank M. !cpu 6502 !to "build/PRELAUNCH.INDEXED/STELLAR.7",plain @@ -20,9 +20,25 @@ lda #$A4 sta $AE28 ; reset vector patch - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $AE72 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $AE27 +callback + jsr $AF60 + lda #$AD + sta $80D8 ; patch - don't decrease fuel + sta $8095 ; patch - don't increase damage + jmp $A440 !if * > $1C0 { !error "code is too large, ends at ", *