diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 8124539ea..b4d49064e 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -173,6 +173,7 @@ 0001,FROGGER=Frogger 1001,FROGGER.II=Frogger II 0001,G.I.JOE=G I Joe +0001,GADGETZ=Gadgetz 0000,GALACTIC.ATTACK=Galactic Attack 0001,GALAXIAN=Galaxian 0001,GALAXY.GATES=Galaxy Gates @@ -266,6 +267,7 @@ 1001,MD=Mr. Do! 1001,MR=Mr. Robot 0001,MP=Ms. Pacman +0001,MUTANT=Mutant 0000,N.O.R.A.D=N O R A D 0004,NEON=Neon 0001,NEPTUNE=Neptune diff --git a/res/TITLE.HGR.UNPACKED/GADGETZ b/res/TITLE.HGR.UNPACKED/GADGETZ new file mode 100644 index 000000000..4a0472a45 Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/GADGETZ differ diff --git a/res/TITLE.HGR.UNPACKED/MUTANT b/res/TITLE.HGR.UNPACKED/MUTANT new file mode 100644 index 000000000..c3d7b57f5 Binary files /dev/null and b/res/TITLE.HGR.UNPACKED/MUTANT differ diff --git a/res/TITLE.HGR/GADGETZ b/res/TITLE.HGR/GADGETZ new file mode 100644 index 000000000..83a0d9f7a Binary files /dev/null and b/res/TITLE.HGR/GADGETZ differ diff --git a/res/TITLE.HGR/MUTANT b/res/TITLE.HGR/MUTANT new file mode 100644 index 000000000..80b8b90c5 Binary files /dev/null and b/res/TITLE.HGR/MUTANT differ diff --git a/res/dsk/gadgetz 20k file PRODOS (san inc pack).po b/res/dsk/gadgetz 20k file PRODOS (san inc pack).po new file mode 100644 index 000000000..ef096985d Binary files /dev/null and b/res/dsk/gadgetz 20k file PRODOS (san inc pack).po differ diff --git a/res/dsk/mutant 15k file PRODOS (san inc pack).po b/res/dsk/mutant 15k file PRODOS (san inc pack).po new file mode 100644 index 000000000..31836504c Binary files /dev/null and b/res/dsk/mutant 15k file PRODOS (san inc pack).po differ diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index e9708b0df..40ab43262 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 12002615 + !be24 12018768 !le16 5208 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index 4d09a68c1..3f7423619 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 11953637 + !be24 11969736 !le16 5343 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index f1e3cc33e..577492f20 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 11893774 + !be24 11909696 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 34603479c..172408d49 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 11906623 + !be24 11922595 !le16 4074 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index bda108aa9..4f1e9e232 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 11922711 + !be24 11938733 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 7dbef2f3d..4046aa634 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 11941293 + !be24 11957365 !le16 5880 diff --git a/src/index/count00.a b/src/index/count00.a index 3d34a467c..e738178c7 100644 --- a/src/index/count00.a +++ b/src/index/count00.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 274 +!word 276 diff --git a/src/index/count01.a b/src/index/count01.a index 5fe492618..f729cc016 100644 --- a/src/index/count01.a +++ b/src/index/count01.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 301 +!word 303 diff --git a/src/index/count10.a b/src/index/count10.a index 4c6051948..b5be88ae1 100644 --- a/src/index/count10.a +++ b/src/index/count10.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 389 +!word 391 diff --git a/src/index/count11.a b/src/index/count11.a index 9c2e78b45..a4b7b691e 100644 --- a/src/index/count11.a +++ b/src/index/count11.a @@ -3,4 +3,4 @@ ; ; This file is automatically generated ; -!word 431 +!word 433 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index 342fc8329..c84038fb6 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 12007823 + !be24 12023976 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index 19f52d608..7fd7267f7 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 12008577 + !be24 12024730 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 4a71726b5..6c7a1701a 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 12009025 + !be24 12025178 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index 41bc79c56..ccc88aa7b 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 11961126 + !be24 11977225 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index ddad97208..ab2121f31 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 12008309 + !be24 12024462 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index b70876911..c52dda202 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 12002556 + !be24 12018709 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index dc33fc48d..e80622088 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 12001022 + !be24 12017175 !le16 1437 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index 8bf31540f..5e9e86340 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 11986623 + !be24 12002776 !le16 537 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 7ee5ea41e..3a8eeee20 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 11958980 + !be24 11975079 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index 8b5c2e7c8..a0301cc92 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 11962726 - !le16 6464 + !be24 11978825 + !le16 6491 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index 0734364f4..2a1cca3b6 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 12008233 + !be24 12024386 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 47b31a8f8..d4daa49a0 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 12002459 + !be24 12018612 !le16 97 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index 24469ca6c..d5387c34e 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 12008376 + !be24 12024529 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index f55d2a6da..7086347b7 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 11987160 + !be24 12003313 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 9f455fa81..d624fac1c 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 11991671 + !be24 12007824 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 373f41c8a..5399503af 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 11993262 + !be24 12009415 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index e9d59b9a0..f69f0c8bd 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 11994315 + !be24 12010468 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 8faa286c0..6cfe575af 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 11997552 + !be24 12013705 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index e098e559a..1bc93c142 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 12000429 + !be24 12016582 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index 3d4e2a7ab..7ed8187ce 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 12000908 + !be24 12017061 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 28df96bd2..a16905fc1 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 12009328 + !be24 12025481 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index 5637bcf80..1a2c15d1a 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 11974146 + !be24 11990272 !le16 4283 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 82a6d25c5..3ecb12746 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 11978429 + !be24 11994555 !le16 2185 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 24bcafd0e..6224e7b2e 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 11947173 - !le16 6464 + !be24 11963245 + !le16 6491 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index 120aece44..c9c18622d 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 3728384 + !be24 3744256 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 08ba8f20e..9b473b838 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 3744768 + !be24 3760640 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index 7cb973e24..e4c0c95da 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 3736576 + !be24 3752448 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 3601868a5..a452c05a8 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 11885453 - !le16 8321 + !be24 11901325 + !le16 8371 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index 1696c1d41..9ace03cf5 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 11897428 - !le16 9195 + !be24 11913350 + !le16 9245 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 8830df8f4..779737510 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 11910697 - !le16 12014 + !be24 11926669 + !le16 12064 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index fc4ade8dd..e03b34f4d 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 11927956 - !le16 13337 + !be24 11943978 + !le16 13387 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 0c551c5f6..38722db07 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 11962368 + !be24 11978467 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index c69ab7b02..58a35fda4 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 11969190 + !be24 11985316 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 6bbdfcdbd..0626622b8 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 11980614 - !le16 6009 + !be24 11996740 + !le16 6036 diff --git a/src/prelaunch/gadgetz.a b/src/prelaunch/gadgetz.a new file mode 100644 index 000000000..46d530e3a --- /dev/null +++ b/src/prelaunch/gadgetz.a @@ -0,0 +1,28 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/GADGETZ",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $201A + jsr $2000 ; decompress title + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$AD + sta $922 ; patch - don't decrease lives + sta $116A ; patch - don't increase lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $822 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/mutant.a b/src/prelaunch/mutant.a new file mode 100644 index 000000000..3f005201a --- /dev/null +++ b/src/prelaunch/mutant.a @@ -0,0 +1,27 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/MUTANT",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $205F + jsr $2000 ; decompress title + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $8774 ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $8A73 + +!if * > $1C0 { + !error "code is too large, ends at ", * +}