diff --git a/res/GAMEHELP/SHEILA b/res/GAMEHELP/SHEILA new file mode 100644 index 000000000..6afed7d5a --- /dev/null +++ b/res/GAMEHELP/SHEILA @@ -0,0 +1,17 @@ + Rescue the princess + + ; A +move < > move shoot S D shoot + / Z + + +Choose customised keyboard for full list + +Space * * * change size (get item first) + +ESC* * * * * * * * * * * * * * * * pause + +Q* * * * * * * * * * * * * * * * * sound + +T * * * * * * * * * * * * * time / score +[eof] diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 0361cdbb2..32f2b4d8a 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -336,30 +336,30 @@ 0001,SAMMY.LIGHTFOOT=Sammy Lightfoot 0001,SARACEN=Saracen 0007,SEA.DRAGON=Sea Dragon -0000,SEAFOX=Seafox +0003,SEAFOX=Seafox 0007,SERPENTINE=Serpentine -1000,SHAMUS=Shamus -0000,SHEILA=Sheila -0000,SHORT.CIRCUIT=Short Circuit -1000,SI=Shuttle Intercept -0000,SC=Situation Critical +1001,SHAMUS=Shamus +0006,SHEILA=Sheila +0001,SHORT.CIRCUIT=Short Circuit +1001,SI=Shuttle Intercept +0006,SC=Situation Critical 1000,SKYFOX=Skyfox -0000,SNACK.ATTACK=Snack Attack -0000,SNAKE.BYTE=Snake Byte +0001,SNACK.ATTACK=Snack Attack +0001,SNAKE.BYTE=Snake Byte 0001,SNEAKERS=Sneakers 0007,SNOGGLE=Snoggle 0110,SO=Soko-Ban 1000,SOLO.FLIGHT=Solo Flight 1000,SPACE.EGGS=Space Eggs 0000,SPACE.KADET=Space Kadet -0000,SPACE.QUARKS=Space Quarks +0001,SPACE.QUARKS=Space Quarks 0000,SPACE.RAIDERS=Space Raiders -1000,SPACE.RESCUE=Space Rescue +1004,SPACE.RESCUE=Space Rescue 0007,SPARE.CHANGE=Spare Change 0001,SPECTRE=Spectre 0100,SPELLWIELDER=Spellwielder 0000,SPIDER.RAID=Spider Raid -0110,SPIDERBOT=Spiderbot +0116,SPIDERBOT=Spiderbot 1001,SPINDIZZY=Spindizzy 1003,SPUTNIK.ATTACK=Sputnik Attack 0001,SPY.HUNTER=Spy Hunter @@ -371,25 +371,25 @@ 0001,STAR.BLAZER=Star Blazer 1000,STAR.CLONES=Star Clones 1001,STAR.CRUISER=Star Cruiser -0000,STAR.DANCE=Star Dance +0005,STAR.DANCE=Star Dance 0001,STAR.MAZE=Star Maze -0000,STAR.THIEF=Star Thief -1000,STARBALL=Starball -1000,STARBLASTER=Starblaster -1000,STARGATE=Stargate +0001,STAR.THIEF=Star Thief +1001,STARBALL=Starball +1001,STARBLASTER=Starblaster +1003,STARGATE=Stargate 1000,STARGLIDER=Starglider 1000,STARMINES=Starmines 0000,STATION.5=Station 5 0000,STELLAR.7=Stellar 7 -0000,SUCCESSION=Succession -0000,SU=Suicide! +0001,SUCCESSION=Succession +0004,SU=Suicide! 0001,SUPER.BUNNY=Super Bunny 0000,SUPER.HUEY=Super Huey -0000,SUPER.PUCKMAN=Super Puckman -0000,SUPER.TAXMAN.2=Super Taxman 2 +0001,SUPER.PUCKMAN=Super Puckman +0001,SUPER.TAXMAN.2=Super Taxman 2 1001,SUPER.ZAXXON=Super Zaxxon -0000,SWASHBUCKLER=Swashbuckler -1000,SWORD.OF.SHEOL=Sword of Sheol +0001,SWASHBUCKLER=Swashbuckler +1006,SWORD.OF.SHEOL=Sword of Sheol 0006,TALON=Talon 0001,TAPPER=Tapper 0116,TC=TechnoCop diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index c03ba0707..e64b8f0c8 100644 --- a/src/index/artwork.idx.a +++ b/src/index/artwork.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11436685 + !be24 11438058 !le16 4545 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 3a2f3cbde..eb50b28bf 100644 --- a/src/index/attract.idx.a +++ b/src/index/attract.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11387898 + !be24 11389271 !le16 5294 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index eba8416e8..c61f721f2 100644 --- a/src/index/cache00.idx.a +++ b/src/index/cache00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11328260 + !be24 11329633 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 463397c61..f28c9ec5c 100644 --- a/src/index/cache01.idx.a +++ b/src/index/cache01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11341041 + !be24 11342414 !le16 4064 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 3dbbf4a1f..2edd4c0d2 100644 --- a/src/index/cache10.idx.a +++ b/src/index/cache10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11357081 + !be24 11358454 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 21de42108..b13e373df 100644 --- a/src/index/cache11.idx.a +++ b/src/index/cache11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11375595 + !be24 11376968 !le16 5870 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index 79cdd1da9..2683a6163 100644 --- a/src/index/coverfade.idx.a +++ b/src/index/coverfade.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11441230 + !be24 11442603 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index 49c89d326..4a46032eb 100644 --- a/src/index/credits.idx.a +++ b/src/index/credits.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11441984 + !be24 11443357 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 66726c8ee..ed0d18cbe 100644 --- a/src/index/decrunch.idx.a +++ b/src/index/decrunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11442432 + !be24 11443805 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index f4fbadca0..c0bc6b73e 100644 --- a/src/index/dfx.idx.a +++ b/src/index/dfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11395338 + !be24 11396711 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index f86ab381a..3db195c0b 100644 --- a/src/index/dgr.fizzle.idx.a +++ b/src/index/dgr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11441716 + !be24 11443089 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index c4cfe4208..c8a0707e3 100644 --- a/src/index/dgr.idx.a +++ b/src/index/dgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11436626 + !be24 11437999 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 00f4053c5..169b81827 100644 --- a/src/index/dhgr.idx.a +++ b/src/index/dhgr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11435141 + !be24 11436514 !le16 1404 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index fb2ba7528..89a348222 100644 --- a/src/index/dtitle.idx.a +++ b/src/index/dtitle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11420758 + !be24 11422131 !le16 521 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index ab80e5fdd..c2c250797 100644 --- a/src/index/fx.idx.a +++ b/src/index/fx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11393192 + !be24 11394565 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index b969f7b6c..18479c5c1 100644 --- a/src/index/gamehelp.idx.a +++ b/src/index/gamehelp.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11396938 + !be24 11398311 !le16 6433 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index fdc1cf457..46a63fafd 100644 --- a/src/index/gr.fizzle.idx.a +++ b/src/index/gr.fizzle.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11441640 + !be24 11443013 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 4021dd919..874c79436 100644 --- a/src/index/gr.idx.a +++ b/src/index/gr.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11436545 + !be24 11437918 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 8f4ea4bf7..cad15a959 100644 --- a/src/index/helptext.idx.a +++ b/src/index/helptext.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11441783 + !be24 11443156 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 9eda7cea6..0ef49759a 100644 --- a/src/index/hgr0.idx.a +++ b/src/index/hgr0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11421279 + !be24 11422652 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index d11379316..92ca034b5 100644 --- a/src/index/hgr1.idx.a +++ b/src/index/hgr1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11425790 + !be24 11427163 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 5393ba8a2..8f97babc1 100644 --- a/src/index/hgr2.idx.a +++ b/src/index/hgr2.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11427381 + !be24 11428754 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 10211910e..b26543e97 100644 --- a/src/index/hgr3.idx.a +++ b/src/index/hgr3.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11428434 + !be24 11429807 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 6506da3b1..e6cbaecd5 100644 --- a/src/index/hgr4.idx.a +++ b/src/index/hgr4.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11431671 + !be24 11433044 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index a4030ebb5..de53bd39c 100644 --- a/src/index/hgr5.idx.a +++ b/src/index/hgr5.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11434548 + !be24 11435921 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index d44721658..1dfc8012c 100644 --- a/src/index/hgr6.idx.a +++ b/src/index/hgr6.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11435027 + !be24 11436400 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index f5aced341..e817f45b4 100644 --- a/src/index/joystick.idx.a +++ b/src/index/joystick.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11442735 + !be24 11444108 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index ede584ba2..0f6de9611 100644 --- a/src/index/miniattract0.idx.a +++ b/src/index/miniattract0.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11408327 + !be24 11409700 !le16 3642 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index ce2544697..d35a3f520 100644 --- a/src/index/miniattract1.idx.a +++ b/src/index/miniattract1.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11411969 + !be24 11413342 !le16 2795 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index e7e60b87f..0317fd1a6 100644 --- a/src/index/prelaunch.idx.a +++ b/src/index/prelaunch.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11381465 + !be24 11382838 !le16 6433 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index a676caaf4..d7a0125d4 100644 --- a/src/index/res.cover.idx.a +++ b/src/index/res.cover.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3700736 + !be24 3701760 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index ccaf59b9e..2229d3d01 100644 --- a/src/index/res.help.idx.a +++ b/src/index/res.help.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3717120 + !be24 3718144 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 7dfb36cf0..4d678f877 100644 --- a/src/index/res.title.idx.a +++ b/src/index/res.title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 3708928 + !be24 3709952 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index c5027d97e..f09c832d2 100644 --- a/src/index/search00.idx.a +++ b/src/index/search00.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11319977 + !be24 11321350 !le16 8283 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index e2edaed92..c905a524a 100644 --- a/src/index/search01.idx.a +++ b/src/index/search01.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11331914 + !be24 11333287 !le16 9127 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index cf1038472..ceaf5335d 100644 --- a/src/index/search10.idx.a +++ b/src/index/search10.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11345105 + !be24 11346478 !le16 11976 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index ae55b9ff8..32b06f01b 100644 --- a/src/index/search11.idx.a +++ b/src/index/search11.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11362326 + !be24 11363699 !le16 13269 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 5ef4f62fe..22cf5eec8 100644 --- a/src/index/sfx.idx.a +++ b/src/index/sfx.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11396580 + !be24 11397953 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index e10d9890a..f6074d9ba 100644 --- a/src/index/slideshow.idx.a +++ b/src/index/slideshow.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11403371 + !be24 11404744 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index b9fdaaad7..889c32c4b 100644 --- a/src/index/title.idx.a +++ b/src/index/title.idx.a @@ -4,5 +4,5 @@ ; This file is automatically generated ; !byte 0 - !be24 11414764 + !be24 11416137 !le16 5994 diff --git a/src/prelaunch/_FileInformation.txt b/src/prelaunch/_FileInformation.txt index 230073228..dc6db68f4 100644 --- a/src/prelaunch/_FileInformation.txt +++ b/src/prelaunch/_FileInformation.txt @@ -5,3 +5,4 @@ CAVRN.CHEAT=Type(06),AuxType(0200),Access(C3) CG.CHEAT=Type(06),AuxType(0300),Access(C3) KAMUNGAS.MB=Type(06),AuxType(0200),Access(C3) RESQ.RAIDERS.MB=Type(06),AuxType(0300),Access(C3) +SITCRIT.CHEAT=Type(06),AuxType(BC00),Access(C3) diff --git a/src/prelaunch/seafox.a b/src/prelaunch/seafox.a new file mode 100644 index 000000000..985b2c54d --- /dev/null +++ b/src/prelaunch/seafox.a @@ -0,0 +1,36 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SEAFOX",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $4939 + sta $495A + jsr $4900 ; decompress + +DISABLE_ACCEL + jsr $4000 + +ENABLE_ACCEL + jsr $BE06 ; decompress more + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $7881 ; patch - don't decrease torpedoes + dec $7929 ; patch - don't decrease torpedoes + lda #$ad + sta $6C2E ; patch - don't decrease lives + sta $7D34 ; patch - don't decrease fuel ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp ($20) + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/shamus.a b/src/prelaunch/shamus.a new file mode 100644 index 000000000..1ce72513d --- /dev/null +++ b/src/prelaunch/shamus.a @@ -0,0 +1,29 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SHAMUS",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $2018 + jsr $2000 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $7740 ; patch - don't decrease lives + sta $77EC ; patch - don't increase lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $747C + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/sheila.a b/src/prelaunch/sheila.a index ad0324d56..79dec7b25 100644 --- a/src/prelaunch/sheila.a +++ b/src/prelaunch/sheila.a @@ -17,9 +17,30 @@ inx stx $400C ; reset vector - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $611 ; patch - don't decrease weapon + sta $62A ; patch - don't decrease weapon + dec $470D ; patch - don't decrease time + lda #$ED + sta $6EBA + lda #$6F + sta $6EBB ; patch - don't decrease life ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE - jmp $4000 + lda #$4C + sta $405A + jsr $4000 + pha + lda #$A9 + sta $478 ; work around IIe firmware issue + pla + jmp $405D !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/short.circuit.a b/src/prelaunch/short.circuit.a new file mode 100644 index 000000000..675812b4e --- /dev/null +++ b/src/prelaunch/short.circuit.a @@ -0,0 +1,33 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SHORT.CIRCUIT",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $207C + jsr $2000 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + ldx #3 +- lda patch,x + sta $9441,x + dex + bpl - ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $A100 + +patch !byte $a9,1,$ea,$8d + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/shuttle.intercept.a b/src/prelaunch/shuttle.intercept.a new file mode 100644 index 000000000..d98af7de0 --- /dev/null +++ b/src/prelaunch/shuttle.intercept.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SI",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $401A + jsr $4000 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $6B18 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $6000 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/sitcrit.cheat.a b/src/prelaunch/sitcrit.cheat.a new file mode 100644 index 000000000..0d9c07fb9 --- /dev/null +++ b/src/prelaunch/sitcrit.cheat.a @@ -0,0 +1,59 @@ +;license:MIT +;(c) 2019-2020, 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH/SITCRIT.CHEAT",plain +*=$BC00 + + !source "src/constants.a" ; no code in these + !source "src/macros.a" + + +ENABLE_ACCEL + jsr $BD8E + +RESET_VECTOR reset + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + ldx #$A5 + lda $BE93 + cmp #'1' + beq hook1 + cmp #'2' + beq hook2 + cmp #'3' + bne + + +hook3 + stx $16B4 ; patch - don't decrease bombs + stx $1C57 ; patch - don't increase hits + stx $1CA5 ; patch - don't decrease fuel + beq + ; always + +hook1 + lda #$AD + sta $121C ; patch - don't decrease armor + sta $1562 ; patch - don't decrease armor + sta $1B5B ; patch - don't decrease armor + sta $1B6F ; patch - don't decrease armor + sta $1B75 ; patch - don't decrease armor + bne + ; always + +hook2 + lda $7AE8 + cmp #$E6 + bne + + stx $117E ; patch - don't decrease time + stx $160C ; patch - don't increase hits + stx $7AE8 ; patch - don't decrease fuel + stx $795C ; patch - don't decrease bombs + ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + lda #0 + rts + +reset + +READ_RAM1_NO_WRITE + jmp ($FFFC) diff --git a/src/prelaunch/situation.crtcl.a b/src/prelaunch/situation.crtcl.a index f0d306734..f45183b7a 100644 --- a/src/prelaunch/situation.crtcl.a +++ b/src/prelaunch/situation.crtcl.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019-2020 by qkumba +;(c) 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/SC",plain @@ -7,27 +7,22 @@ !source "src/prelaunch/common.a" - jmp + - -callback - +ENABLE_ACCEL - jsr $BD8E - +RESET_VECTOR reset - +DISABLE_ACCEL + +READ_RAM2_WRITE_RAM2 + jsr EnableAccelerator + +LOAD_FILE_AT sitcrit_cheat, 0 + +READ_ROM_NO_WRITE lda #0 - rts - -reset - +READ_RAM1_NO_WRITE - jmp ($FFFC) - -+ - lda #callback + lda #$BC sta $8C0 jmp $800 ; decompress +sitcrit_cheat + !byte sitcrit_cheat_e-sitcrit_cheat_b +sitcrit_cheat_b + !text "PRELAUNCH/SITCRIT.CHEAT" +sitcrit_cheat_e + !if * > $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/snack.attack.a b/src/prelaunch/snack.attack.a index 62e430d40..18f4864d8 100755 --- a/src/prelaunch/snack.attack.a +++ b/src/prelaunch/snack.attack.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/SNACK.ATTACK",plain @@ -22,6 +22,13 @@ ; re-patch reset vector +RESET_VECTOR $100 + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $1D3F ; patch - don't increase lives + sta $5C26 ; patch - don't decrease lives ++ jmp $7E00 !if * > $1C0 { diff --git a/src/prelaunch/snake.byte.a b/src/prelaunch/snake.byte.a index 6cd2f4a00..cf7d4dc51 100644 --- a/src/prelaunch/snake.byte.a +++ b/src/prelaunch/snake.byte.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019 by qkumba +;(c) 2019, 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/SNAKE.BYTE",plain @@ -7,14 +7,28 @@ !source "src/prelaunch/common.a" + +ENABLE_ACCEL + lda #$B9 + sta $842 lda #$60 sta $0858 jsr $0800 ; decompress + + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $7639 ; patch - don't increase lives + dec $78A8 ; patch - don't decrease lives ++ + jsr DisableAccelerator +LC_REBOOT - lda #0 - sta $7a11 - lda #1 - sta $7a19 + +READ_ROM_NO_WRITE + ldx #0 + stx $7a11 + inx + stx $7a19 + inc $7A26 jmp $7680 !if * > $1C0 { diff --git a/src/prelaunch/space.quarks.a b/src/prelaunch/space.quarks.a index fcd40465d..0718425a0 100755 --- a/src/prelaunch/space.quarks.a +++ b/src/prelaunch/space.quarks.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/SPACE.QUARKS",plain @@ -8,14 +8,24 @@ !source "src/prelaunch/common.a" +ENABLE_ACCEL - lda #$60 - sta $3E9D + lda #$4C + sta $3EC2 jsr $3E65 ; decompress/set reset vector +RESET_VECTOR $100 - +DISABLE_ACCEL - jmp $200 + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $1177 ; patch - don't increase lives + sta $1196 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $203 !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/space.rescue.a b/src/prelaunch/space.rescue.a index 3051bf586..bc0149cea 100644 --- a/src/prelaunch/space.rescue.a +++ b/src/prelaunch/space.rescue.a @@ -15,7 +15,18 @@ +NEW_RESET_VECTOR $200 ; game leaks stack - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $77A1 ; patch - don't decrease lives + sta $7938 ; patch - don't decrease lives + sta $8243 ; patch - don't increase lives + sta $8726 ; patch - don't decrease fuel ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $9500 diff --git a/src/prelaunch/spider.raid.a b/src/prelaunch/spider.raid.a index dc305cd0b..75fcff947 100644 --- a/src/prelaunch/spider.raid.a +++ b/src/prelaunch/spider.raid.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/SPIDER.RAID",plain @@ -20,7 +20,14 @@ sta $40F1 jsr $4000 - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $976A ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $4246 !if * > $1C0 { diff --git a/src/prelaunch/spiderbot.a b/src/prelaunch/spiderbot.a index fc069b8e7..8a059c697 100644 --- a/src/prelaunch/spiderbot.a +++ b/src/prelaunch/spiderbot.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by Frank M. +;(c) 2020, 2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/SPIDERBOT",plain @@ -7,8 +7,31 @@ !source "src/prelaunch/common.a" + +ENABLE_ACCEL inc $3F4 ; force reboot - jmp $6000 + lda #$60 + sta $6085 + jsr $6000 + lda #$60 + sta $843 + jsr $800 + ldx #$60 + stx $4047 + stx $407E + jsr $4000 + lda MachineStatus + and #CHEATS_ENABLED + php + jsr DisableAccelerator + jsr $4081 + jsr $404A + plp + beq + + lda #$ad + sta $DC4E ; patch - don't decrease power + sta $F8FC ; patch - don't decrease power ++ + jmp $3EE !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/star.dance.a b/src/prelaunch/star.dance.a index 2461c6eb6..91ee517b7 100644 --- a/src/prelaunch/star.dance.a +++ b/src/prelaunch/star.dance.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/STAR.DANCE",plain @@ -19,7 +19,15 @@ hook lda #0 lda #1 sta $700C ; reset vector fix - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $1272 ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $7000 !if * > $1C0 { diff --git a/src/prelaunch/star.thief.a b/src/prelaunch/star.thief.a new file mode 100644 index 000000000..bd729a2d8 --- /dev/null +++ b/src/prelaunch/star.thief.a @@ -0,0 +1,30 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/STAR.THIEF",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $5F12 + jsr $3A55 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$bd + sta $6B31 ; patch - don't decrease lives + sta $6DC2 ; patch - don't decrease lives + sta $70F2 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $6801 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/starball.a b/src/prelaunch/starball.a index d3d6f368d..bccc55911 100644 --- a/src/prelaunch/starball.a +++ b/src/prelaunch/starball.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/STARBALL",plain @@ -14,14 +14,40 @@ sta $A1E+2 jmp $800 ; decompress -hook lda #0 - sta $9E52 - lda #1 - sta $9E53 ; reset vector fix +hook ldx #0 + stx $9E52 + inx + stx $9E53 ; reset vector fix - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $BD08 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $9D84 +callback + pla + pla + jsr $BD5F + jsr $BD09 + lda $B7EC + cmp #$15 + bne + + ldx $B7ED + dex + bne + + lda #$ad + sta $96DE ; patch - don't decrease balls ++ clc + rts + !if * > $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/starblaster.a b/src/prelaunch/starblaster.a index 52b578945..7bbed05ab 100755 --- a/src/prelaunch/starblaster.a +++ b/src/prelaunch/starblaster.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019 by Frank M. +;(c) 2019, 2022 by Frank M. !cpu 6502 !to "build/PRELAUNCH.INDEXED/STARBLASTER",plain @@ -14,6 +14,15 @@ +NEW_RESET_VECTOR $280 + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $6277 ; patch - don't increase lives + sta $6955 ; patch - don't decrease lives + lda #$A1 + sta $FD ; fix checksum ++ jmp $6000 !if * > $1C0 { diff --git a/src/prelaunch/stargate.a b/src/prelaunch/stargate.a index e56023fd8..1ac9d9063 100644 --- a/src/prelaunch/stargate.a +++ b/src/prelaunch/stargate.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/STARGATE",plain @@ -26,7 +26,19 @@ lda #$A4 sta $47F4 ; reset vector (moved to $3F2/3/4) - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + ldx #$FF + stx $1946 ; patch - don't decrease people + inx + stx $1C11 ; patch - don't decrease lives + lda #$25 + sta $1E98 ; patch - don't decrease bombs ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $5000 diff --git a/src/prelaunch/succession.a b/src/prelaunch/succession.a new file mode 100644 index 000000000..097ebcbcc --- /dev/null +++ b/src/prelaunch/succession.a @@ -0,0 +1,31 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SUCCESSION",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $8789 + jsr $6F94 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $670D ; patch - don't decrease lives + sta $683D ; patch - don't increase time + sta $68A9 ; patch - don't decrease time + sta $6CC6 ; patch - don't increase lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $6000 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/suicide.a b/src/prelaunch/suicide.a new file mode 100644 index 000000000..bf8a03caf --- /dev/null +++ b/src/prelaunch/suicide.a @@ -0,0 +1,30 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SU",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $6030 + jsr $6000 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $4A60 ; patch - don't decrease lives + sta $4EEE ; patch - don't increase lives + dec $4B5B ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $1000 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/super.puckman.a b/src/prelaunch/super.puckman.a new file mode 100644 index 000000000..3cebe7066 --- /dev/null +++ b/src/prelaunch/super.puckman.a @@ -0,0 +1,30 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/SUPER.PUCKMAN",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $6823 + jsr $5ADC ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $B82 ; patch - don't decrease lives + sta $1BF3 ; patch - don't increase lives + sta $1C05 ; patch - don't increase lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $400 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/super.taxman.2.a b/src/prelaunch/super.taxman.2.a index 228f7f777..fe067d54a 100644 --- a/src/prelaunch/super.taxman.2.a +++ b/src/prelaunch/super.taxman.2.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/SUPER.TAXMAN.2",plain @@ -22,7 +22,17 @@ hook lda #0 lda #$2C ; annunciator fix - kills Gizmo/joyport support sta $666A ; but fixes ][+ 80-col softswitch and //c+ coloring - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $641A ; patch - don't increase lives + sta $67D7 ; patch - don't increase lives + sta $9549 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $4000 !if * > $1C0 { diff --git a/src/prelaunch/swashbuckler.a b/src/prelaunch/swashbuckler.a index e4d4c9373..e47ea12c4 100755 --- a/src/prelaunch/swashbuckler.a +++ b/src/prelaunch/swashbuckler.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019-2020 by Frank M. +;(c) 2019-2020, 2022 by Frank M., qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/SWASHBUCKLER",plain @@ -18,6 +18,13 @@ +NEW_RESET_VECTOR $BFF0 + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + lda #$ad + sta $115A ; patch - don't increase lives + sta $136B ; patch - don't decrease lives ++ jmp $1B34 !if * > $1C0 { diff --git a/src/prelaunch/sword.of.sheol.a b/src/prelaunch/sword.of.sheol.a index b953e14c5..8942b2292 100644 --- a/src/prelaunch/sword.of.sheol.a +++ b/src/prelaunch/sword.of.sheol.a @@ -16,7 +16,15 @@ inc $70 ; uninitialised variable - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $6BDE ; patch - don't decrease armour ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $50F !if * > $1C0 {