diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 32f2b4d8a..8852f6e35 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -381,7 +381,7 @@ 1000,STARMINES=Starmines 0000,STATION.5=Station 5 0000,STELLAR.7=Stellar 7 -0001,SUCCESSION=Succession +0004,SUCCESSION=Succession 0004,SU=Suicide! 0001,SUPER.BUNNY=Super Bunny 0000,SUPER.HUEY=Super Huey @@ -393,41 +393,41 @@ 0006,TALON=Talon 0001,TAPPER=Tapper 0116,TC=TechnoCop -0000,TELEPORT=Teleport -0000,TERITORY=Teritory +0001,TELEPORT=Teleport +0001,TERITORY=Teritory 0010,TETRIS=Tetris 1001,TU=Tharolian Tunnels 0001,AF=The Asteroid Field 0000,THE.BILESTOAD=The Bilestoad -0000,CF=The Caverns of Freitag -0110,TS=The Chase on Tom S's Island +0006,CF=The Caverns of Freitag +0111,TS=The Chase on Tom S's Island 1000,THE.DAM.BUSTERS=The Dam Busters -1000,THE.GOONIES=The Goonies +1001,THE.GOONIES=The Goonies 0007,THE.HEIST=The Heist -1000,LG=The Last Gladiator +1001,LG=The Last Gladiator 1111,THE.LAST.NINJA=The Last Ninja -1100,MM=The Movie Monster Game -0000,THE.SNAPPER=The Snapper +1106,MM=The Movie Monster Game +0004,THE.SNAPPER=The Snapper 0000,THE.SPACE.ARK=The Space Ark 0001,S2=The Spy Strikes Back 1000,VV=The Voyage of the Valkyrie 0016,THEXDER=Thexder -0000,THIEF=Thief +0001,THIEF=Thief 0001,THRESHOLD=Threshold 0001,THUNDER.BOMBS=Thunder Bombs -1000,TIME.PILOT=Time Pilot +1001,TIME.PILOT=Time Pilot 0001,TITAN.CRONUS=Titan Cronus 1000,TOMAHAWK=Tomahawk -0000,TORAX=Torax +0001,TORAX=Torax 1000,TORPEDO.TERROR=Torpedo Terror -0000,TRACK.ATTACK=Track Attack -0000,TREASURE.DIVE=Treasure Dive +0004,TRACK.ATTACK=Track Attack +0001,TREASURE.DIVE=Treasure Dive 0000,TRIAD=Triad -1000,TROLLS.TRIBS=Trolls and Tribulations +1003,TROLLS.TRIBS=Trolls and Tribulations 0001,TROMPERS=Trompers -1000,TSUNAMI=Tsunami +1004,TSUNAMI=Tsunami 1007,TB=Tubeway ][ -0000,TUNNEL.TERROR=Tunnel Terror +0001,TUNNEL.TERROR=Tunnel Terror 0001,TWERPS=Twerps 1001,UD=Up'n Down 0110,VICTORY.ROAD=Victory Road diff --git a/res/dsk/the caverns of freitag 17k file PRODOS (san inc pack).po b/res/dsk/the caverns of freitag 17k file PRODOS (san inc pack).po index 79167c024..2bc908550 100644 Binary files a/res/dsk/the caverns of freitag 17k file PRODOS (san inc pack).po and b/res/dsk/the caverns of freitag 17k file PRODOS (san inc pack).po differ diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index e64b8f0c8..12b531c7f 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 11438058 + !be24 11439082 !le16 4545 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index eb50b28bf..e11334f2d 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 11389271 + !be24 11390295 !le16 5294 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index c61f721f2..8355e1930 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 11329633 + !be24 11330657 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index f28c9ec5c..cc136f898 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 11342414 + !be24 11343438 !le16 4064 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index 2edd4c0d2..0384cde6e 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 11358454 + !be24 11359478 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index b13e373df..bafb059ae 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 11376968 + !be24 11377992 !le16 5870 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index 2683a6163..b0ac99e36 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 11442603 + !be24 11443627 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index 4a46032eb..f2d6c3b84 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 11443357 + !be24 11444381 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index ed0d18cbe..00175f4ca 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 11443805 + !be24 11444829 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index c0bc6b73e..ff43d7455 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 11396711 + !be24 11397735 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 3db195c0b..b72d5911a 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 11443089 + !be24 11444113 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index c8a0707e3..6b3aa85b2 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 11437999 + !be24 11439023 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index 169b81827..72b3152df 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 11436514 + !be24 11437538 !le16 1404 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index 89a348222..fe4bc82ea 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 11422131 + !be24 11423155 !le16 521 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index c2c250797..27b712dec 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 11394565 + !be24 11395589 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index 18479c5c1..fe5423664 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 11398311 + !be24 11399335 !le16 6433 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 46a63fafd..92ead7c88 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 11443013 + !be24 11444037 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 874c79436..7825006c7 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 11437918 + !be24 11438942 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index cad15a959..e8d5367d7 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 11443156 + !be24 11444180 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index 0ef49759a..08670fb4e 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 11422652 + !be24 11423676 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 92ca034b5..23ea86dbe 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 11427163 + !be24 11428187 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 8f97babc1..cffb90b86 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 11428754 + !be24 11429778 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index b26543e97..f4bd31e00 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 11429807 + !be24 11430831 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index e6cbaecd5..052a842fa 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 11433044 + !be24 11434068 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index de53bd39c..6824dc2e6 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 11435921 + !be24 11436945 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 1dfc8012c..af7ba7e47 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 11436400 + !be24 11437424 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index e817f45b4..6e4931d04 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 11444108 + !be24 11445132 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 0f6de9611..aedb9ae6a 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 11409700 + !be24 11410724 !le16 3642 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index d35a3f520..b2a4b6585 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 11413342 + !be24 11414366 !le16 2795 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 0317fd1a6..a604c422e 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 11382838 + !be24 11383862 !le16 6433 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index d7a0125d4..8c009dae4 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 3701760 + !be24 3702784 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 2229d3d01..0c654985f 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 3718144 + !be24 3719168 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 4d678f877..552dfe58d 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 3709952 + !be24 3710976 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index f09c832d2..c8eb4a84f 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 11321350 + !be24 11322374 !le16 8283 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index c905a524a..19f93cb02 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 11333287 + !be24 11334311 !le16 9127 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index ceaf5335d..d34de3e65 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 11346478 + !be24 11347502 !le16 11976 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 32b06f01b..8dbe09dd7 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 11363699 + !be24 11364723 !le16 13269 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 22cf5eec8..b5242b697 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 11397953 + !be24 11398977 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index f6074d9ba..984faaa93 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 11404744 + !be24 11405768 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 889c32c4b..98fc30ef7 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 11416137 + !be24 11417161 !le16 5994 diff --git a/src/prelaunch/caverns.freitag.a b/src/prelaunch/caverns.freitag.a index e78708ec6..6fe250298 100644 --- a/src/prelaunch/caverns.freitag.a +++ b/src/prelaunch/caverns.freitag.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/CF",plain @@ -11,7 +11,17 @@ +NEW_RESET_VECTOR $280 - jmp $4000 + lda #$60 + sta $40AD + jsr $4000 + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + lda #$30 + sta $60C6 + sta $60C7 ; patch - don't decrease hits ++ + jmp $D566 !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/last.gladiator.a b/src/prelaunch/last.gladiator.a index 4c02dc0fc..3d59aeb5b 100644 --- a/src/prelaunch/last.gladiator.a +++ b/src/prelaunch/last.gladiator.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by qkumba +;(c) 2020, 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/LG",plain @@ -14,24 +14,31 @@ lda #$4C sta $BC00 - lda #$40 + lda #callback1 sta $BC02 - lda #callback2 + ldx #reset @@ -48,11 +55,11 @@ callback2 bne + lda $2D bne + - lda #$15 + lda #reset sta $5FF3 - lda #$FE + lda #(>reset xor $A5) xor $59 sta $5FF4 + rts } diff --git a/src/prelaunch/movie.monster.a b/src/prelaunch/movie.monster.a new file mode 100644 index 000000000..39f70dcfa --- /dev/null +++ b/src/prelaunch/movie.monster.a @@ -0,0 +1,51 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/MM",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $9C7 + jsr $800 ; find and load "DOS" + iny + sty $B719 + jsr $B700 + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $BD08 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $900 + +callback + pla + pla + jsr $BD44 + jsr $BD09 + lda $B790 + cmp #$12 + bne + + lda $B791 + cmp #$0b + bne + + lda $BD13 + cmp #$20 + bne + + lda #$a5 + sta $7CD6 ; patch - don't decrease endurance ++ clc + rts + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/teleport.a b/src/prelaunch/teleport.a index c9e58000f..621dcd90f 100644 --- a/src/prelaunch/teleport.a +++ b/src/prelaunch/teleport.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba +;(c) 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/TELEPORT",plain @@ -11,7 +11,16 @@ lda #$60 sta $548B jsr $52D1 ; decompress - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $41D1 ; patch - don't decrease lives + sta $507C ; patch - don't increase lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $803 !if * > $1C0 { diff --git a/src/prelaunch/teritory.a b/src/prelaunch/teritory.a new file mode 100644 index 000000000..196890e78 --- /dev/null +++ b/src/prelaunch/teritory.a @@ -0,0 +1,47 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/TERITORY",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #callback1 + sta $6066 + jmp $6000 ; decompress + +callback1 + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$4C + sta $56B6 + lda #callback2 + sta $56B8 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + lda #0 +jmp60 + jmp $60 + +callback2 + lda #$a5 + sta $4F70 ; patch - don't decrease lives + lda $c4 + bmi jmp60+1 ; patch - don't decrease time + dec $c4 + bne jmp60+1 ++ jmp $56BA + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/the.goonies.a b/src/prelaunch/the.goonies.a index 7499f3d59..feb5a2f34 100644 --- a/src/prelaunch/the.goonies.a +++ b/src/prelaunch/the.goonies.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2019 by qkumba +;(c) 2019, 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/THE.GOONIES",plain @@ -7,8 +7,29 @@ !source "src/prelaunch/common.a" + +ENABLE_ACCEL +USES_TEXT_PAGE_2 - jmp $1000 + lda #$60 + sta $1045 + jsr $1000 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $624 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + lda #0 + jmp $55C + +callback + lda #$ad + sta $9F1 ; patch - don't decrease lives + jmp $800 !if * > $1C0 { !error "code is too large, ends at ", * diff --git a/src/prelaunch/the.snapper.a b/src/prelaunch/the.snapper.a new file mode 100644 index 000000000..4edad2e47 --- /dev/null +++ b/src/prelaunch/the.snapper.a @@ -0,0 +1,30 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/THE.SNAPPER",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $2049 + jsr $2000 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $8AA ; patch - don't decrease lives + sta $1672 ; patch - don't increase lives + dec $920 ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp ($20) + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/thief.a b/src/prelaunch/thief.a new file mode 100644 index 000000000..b90067784 --- /dev/null +++ b/src/prelaunch/thief.a @@ -0,0 +1,29 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/THIEF",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $4BA3 + jsr $4B50 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $4873 ; patch - don't decrease lives + sta $6215 ; patch - don't increase lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $4000 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/time.pilot.a b/src/prelaunch/time.pilot.a new file mode 100644 index 000000000..147b0d0ec --- /dev/null +++ b/src/prelaunch/time.pilot.a @@ -0,0 +1,22 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/TIME.PILOT",plain +*=$106 + + !source "src/prelaunch/common.a" + + lda #$60 + sta $47CD + jsr $472D ; decompress + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + dec $A5E ; patch - don't decrease lives ++ + jmp $D566 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/tom.sawyer.a b/src/prelaunch/tom.sawyer.a new file mode 100644 index 000000000..90a6a4850 --- /dev/null +++ b/src/prelaunch/tom.sawyer.a @@ -0,0 +1,33 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/TS",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #callback + sta $2070 + jmp $2000 ; decompress + +callback + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $7301 ; patch - don't increase lives + sta $7322 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $4071 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/torax.a b/src/prelaunch/torax.a index af62cf301..ee2eb760a 100644 --- a/src/prelaunch/torax.a +++ b/src/prelaunch/torax.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba +;(c) 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/TORAX",plain @@ -11,7 +11,15 @@ lda #$60 sta $2086 jsr $2000 ; decompress - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $6183 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE ldy #$20 jmp $2088 diff --git a/src/prelaunch/track.attack.a b/src/prelaunch/track.attack.a index b118d97ee..6772fa69b 100644 --- a/src/prelaunch/track.attack.a +++ b/src/prelaunch/track.attack.a @@ -26,7 +26,19 @@ callback tax pla jsr $400 - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda $9FC + cmp #$C6 + bne + + lda #$A5 + sta $9FC + sta $10E4 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $800 !if * > $1C0 { diff --git a/src/prelaunch/treasure.dive.a b/src/prelaunch/treasure.dive.a index 34c755eaf..6067d4a57 100644 --- a/src/prelaunch/treasure.dive.a +++ b/src/prelaunch/treasure.dive.a @@ -33,7 +33,14 @@ callback_e lda #1 sta $BE60 - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $8521 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $D566 diff --git a/src/prelaunch/trolls.tribs.a b/src/prelaunch/trolls.tribs.a index 0ae6988cc..273da90d9 100644 --- a/src/prelaunch/trolls.tribs.a +++ b/src/prelaunch/trolls.tribs.a @@ -13,6 +13,15 @@ lda #1 sta $6056 +LC_REBOOT + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $60CB ; patch - don't decrease lives + sta $6564 ; patch - don't decrease weapon + sta $656D ; patch - don't decrease weapon + sta $8257 ; patch - don't increase lives ++ jmp $6000 !if * > $1C0 { diff --git a/src/prelaunch/tsunami.a b/src/prelaunch/tsunami.a index 5a0232480..212cf260a 100644 --- a/src/prelaunch/tsunami.a +++ b/src/prelaunch/tsunami.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2021 by qkumba +;(c) 2021-2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/TSUNAMI",plain @@ -11,7 +11,17 @@ lda #$4C sta $7703 jsr $6BEC ; decompress - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $17A8 ; patch - don't decrease lives + sta $1916 ; patch - don't increase lives + sta $1761 ; patch - don't decrease fuel ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $A0ED !if * > $1C0 { diff --git a/src/prelaunch/tunnel.terror.a b/src/prelaunch/tunnel.terror.a index eea49a050..d011acd35 100755 --- a/src/prelaunch/tunnel.terror.a +++ b/src/prelaunch/tunnel.terror.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/TUNNEL.TERROR",plain @@ -12,7 +12,17 @@ lda #$A4 sta $6E15 ; to $3F4 (doesn't change $3F2) - jmp $4000 + lda #$60 + sta $4026 + jsr $4000 + + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $E3A ; patch - don't decrease lives ++ + jmp $e00 !if * > $1C0 { !error "code is too large, ends at ", *