diff --git a/res/GAMEHELP/M.I.R.V b/res/GAMEHELP/M.I.R.V new file mode 100644 index 000000000..4b19d57d4 --- /dev/null +++ b/res/GAMEHELP/M.I.R.V @@ -0,0 +1,18 @@ + + + Catch bombs as they fall + + Deliver to storage + + Truck holds a maximum + + of 10 bombs at a time + + + move < > move + + +S * * * * * * * * * * * * * toggle sound + +Esc* * * * * * * * * * * * * * * * start +[eof] diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 733afaa60..5cc8f9c1b 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -13,8 +13,9 @@ # 2=infinite weapons # 3=infinite lives & weapons # 4=infinite lives & time -# 5=invincibility -# 6=has in-game cheats +# 5=infinite time +# 6=invincibility +# 7=has in-game cheats # # all other values for A -> ignore entire line (allows inline comments) # A line beginning with '[' terminates the parsing @@ -39,8 +40,8 @@ 1001,APPLE.INVADER=Apple Invader 0001,APPLE.PANIC=Apple Panic 1001,AO=Apple-Oids -0006,AQUATRON=Aquatron -1006,AB=Arcade Boot Camp +0007,AQUATRON=Aquatron +1007,AB=Arcade Boot Camp 1000,ARCHON=Archon 0000,ARCHON.II=Archon II 1000,ARCTIC.FOX=Arctic Fox @@ -71,7 +72,7 @@ 1000,BEZARE=Bezare 1000,BEZOFF=Bezoff 0000,BT=Bill Budge's Trilogy -1006,BLACK.MAGIC=Black Magic +1007,BLACK.MAGIC=Black Magic 1000,BLISTER.BALL=Blister Ball 0000,BC=BlockChain 0000,BOA=Boa @@ -84,8 +85,8 @@ 0001,BB=Brainteaser Boulevard 1011,BRUCE.LEE=Bruce Lee 1001,BUBBLE.BOBBLE=Bubble Bobble -0006,BR=Buck Rogers: Planet of Zoom -0006,BUG.ATTACK=Bug Attack +0007,BR=Buck Rogers: Planet of Zoom +0007,BUG.ATTACK=Bug Attack 0001,BUG.BATTLE=Bug Battle 0003,BU=BurgerTime 0001,BUZZARD.BAIT=Buzzard Bait @@ -93,7 +94,7 @@ 0000,CALI.RAISINS=California Raisins 0001,CB=Cannonball Blitz 0001,CANYON.CLIMBER=Canyon Climber -0004,CG=Captain Goodnight +0005,CG=Captain Goodnight 0001,CAPTAIN.POWER=Captain Power 0002,CS=Castle Smurfenstein 0002,CW=Castle Wolfenstein @@ -104,7 +105,7 @@ 0001,CL=Championship Lode Runner 1001,CHIP.OUT=Chip Out 0000,CHIVALRY=Chivalry -1006,CHOPLIFTER=Choplifter +1007,CHOPLIFTER=Choplifter 0010,COLUMNS=Columns 0101,COMMANDO=Commando 0003,CONAN=Conan @@ -124,10 +125,10 @@ 0001,CUBIT=Cubit 0000,CYBER.STRIKE=Cyber Strike 0001,CYCLOD=Cyclod -0116,DG=D-Generation -0016,DANGEROUS.DAVE=Dangerous Dave -0116,DD.RETURNS=Dangerous Dave Returns -0116,DD.GOES.NUTZ=Dangerous Dave Goes Nutz +0117,DG=D-Generation +0017,DANGEROUS.DAVE=Dangerous Dave +0117,DD.RETURNS=Dangerous Dave Returns +0117,DD.GOES.NUTZ=Dangerous Dave Goes Nutz 0001,DU=Darkstar Unhinged 1000,DM=David's Midnight Magic 0110,DEATH.SWORD=Death Sword @@ -155,7 +156,7 @@ 0001,EVOLUTION=Evolution 0001,EXTERMINATOR=Exterminator 0001,FALCONS=Falcons -0005,FAT.CITY=Fat City +0006,FAT.CITY=Fat City 0000,FEDERATION=Federation 0001,FIREBIRD=Firebird 0000,FIREBUG=Firebug @@ -192,7 +193,7 @@ 1003,H.E.R.O=H E R O 0000,HADRON=Hadron 0001,HANDY.DANDY=Handy Dandy -0006,HARD.HAT.MACK=Hard Hat Mack +0007,HARD.HAT.MACK=Hard Hat Mack 0001,HEAD.ON=Head On 1111,HEAVY.BARREL=Heavy Barrel 0000,HIGH.RISE=High Rise @@ -202,7 +203,7 @@ 0000,IO=I.O. Silver 0101,IKARI.WARRIORS=Ikari Warriors 1000,I1=Impossible Mission -0116,I2=Impossible Mission II +0117,I2=Impossible Mission II 0111,INDIANA.JONES=Indiana Jones 1000,INFILTRATOR=Infiltrator 1000,INFILTRATOR.2=Infiltrator 2 @@ -211,17 +212,17 @@ 0001,JAWBREAKER=Jawbreaker 0001,JAWBREAKER.II=Jawbreaker II 0001,J.BIRD=J-Bird -0001,JELLYFISH=Jellyfish +0006,JELLYFISH=Jellyfish 0001,JOUST=Joust 0001,JUGGLER=Juggler 0001,JUMP.JET=Jump Jet 0001,JUMPMAN=Jumpman 0004,JUNGLE.HUNT=Jungle Hunt 1001,KAMIKAZE=Kamikaze -0005,KARATEKA=Karateka +0006,KARATEKA=Karateka 0001,KID.NIKI=Kid Niki 0001,KUNG.FU.MASTER=Kung Fu Master -0006,LABYRINTH=Labyrinth +0007,LABYRINTH=Labyrinth 0001,LADY.TUT=Lady Tut 0001,LA=Lamb Chops! 0001,LANCASTER=Lancaster @@ -231,34 +232,34 @@ 0001,LL=Lethal Labyrinth 0000,LP=Little Computer People 0001,LC=Lock 'n' Chase -0006,LODE.RUNNER=Lode Runner +0007,LODE.RUNNER=Lode Runner 1003,LOST.TOMB=Lost Tomb 0004,LUNAR.LEEPERS=Lunar Leepers -0000,M.I.R.V=M I R V +0001,M.I.R.V=M I R V 1000,MAD.BOMBER=Mad Bomber 0001,MAD.RAT=Mad Rat 0001,MANIC.MINER=Manic Miner -1000,MARAUDER=Marauder -1100,MARBLE.MADNESS=Marble Madness +1001,MARAUDER=Marauder +1105,MARBLE.MADNESS=Marble Madness 0001,MB=Mario Bros. 0001,MARS.CARS=Mars Cars 1001,MATING.ZONE=Mating Zone 0111,MS=Matterhorn Screamer 1000,MAXWELL.MANOR=Maxwell Manor -1000,MAZEBLOX=Mazeblox +1005,MAZEBLOX=Mazeblox 0000,MEGABOTS=Megabots 1001,MICRO.INVADERS=Micro Invaders 0001,MICROWAVE=Microwave -1006,MINER.2049ER=Miner 2049er +1007,MINER.2049ER=Miner 2049er 1001,MINER.II=Miner II 1001,MI=Ming's Challenge 0001,MINIT.MAN=Minit Man -0006,MINOTAUR=Minotaur -1005,MT=Mission on Thunderhead -0000,MONSTER.MASH=Monster Mash +0007,MINOTAUR=Minotaur +1006,MT=Mission on Thunderhead +0001,MONSTER.MASH=Monster Mash 0001,MZ=Montezuma's Revenge 0001,MOON.PATROL=Moon Patrol -0000,MOUSKATTACK=Mouskattack +0001,MOUSKATTACK=Mouskattack 0001,MC=Mr. Cool 1001,MD=Mr. Do! 1001,MR=Mr. Robot @@ -266,17 +267,17 @@ 0000,N.O.R.A.D=N O R A D 0000,NEON=Neon 0001,NEPTUNE=Neptune -0006,NT=Neu][ower +0007,NT=Neu][ower 1000,NEUTRONS=Neutrons 0000,NIBBLER=Nibbler -0006,NM=Night Mission Pinball +0007,NM=Night Mission Pinball 0000,NIGHT.STALKER=Night Stalker 0000,NI=Nightmare Gallery 0000,OM=O'Riley's Mine 0001,OID.ZONE=Oid Zone 1001,OI=Oil's Well 1000,ON.THE.RUN=On The Run -0006,ORBITRON=Orbitron +0007,ORBITRON=Orbitron 0000,OW=Out of This World 0000,OUTPOST=Outpost 0000,OUTWORLD=Outworld @@ -314,18 +315,18 @@ 0110,RAMPAGE=Rampage 0001,RANDAMN=Randamn 0000,RASTER.BLASTER=Raster Blaster -1005,RI=Realm of Impossibility -0006,REAR.GUARD=Rear Guard +1006,RI=Realm of Impossibility +0007,REAR.GUARD=Rear Guard 1000,RED.ALERT=Red Alert 1110,RENEGADE=Renegade 0000,REPTON=Repton -0006,RESCUE.RAIDERS=Rescue Raiders +0007,RESCUE.RAIDERS=Rescue Raiders 1000,RETRO.FEVER=Retro Fever 1000,RB=Retro-Ball 0000,RIBBIT=Ribbit 1000,ROACH.HOTEL=Roach Hotel 0000,ROADBLOCK=Roadblock -0116,ROBOCOP=Robocop +0117,ROBOCOP=Robocop 0000,ROBOT.BATTLE=Robot Battle 0000,ROBOTRON.2084=Robotron 2084 0001,ROUND.ABOUT=Round About @@ -334,9 +335,9 @@ 0002,SABOTAGE=Sabotage 0001,SAMMY.LIGHTFOOT=Sammy Lightfoot 0001,SARACEN=Saracen -0006,SEA.DRAGON=Sea Dragon +0007,SEA.DRAGON=Sea Dragon 0000,SEAFOX=Seafox -0006,SERPENTINE=Serpentine +0007,SERPENTINE=Serpentine 1000,SHAMUS=Shamus 0000,SHEILA=Sheila 0000,SHORT.CIRCUIT=Short Circuit @@ -346,7 +347,7 @@ 0000,SNACK.ATTACK=Snack Attack 0000,SNAKE.BYTE=Snake Byte 0001,SNEAKERS=Sneakers -0006,SNOGGLE=Snoggle +0007,SNOGGLE=Snoggle 0110,SO=Soko-Ban 1000,SOLO.FLIGHT=Solo Flight 1000,SPACE.EGGS=Space Eggs @@ -354,7 +355,7 @@ 0000,SPACE.QUARKS=Space Quarks 0000,SPACE.RAIDERS=Space Raiders 1000,SPACE.RESCUE=Space Rescue -0006,SPARE.CHANGE=Spare Change +0007,SPARE.CHANGE=Spare Change 0001,SPECTRE=Spectre 0100,SPELLWIELDER=Spellwielder 0000,SPIDER.RAID=Spider Raid @@ -389,9 +390,9 @@ 1001,SUPER.ZAXXON=Super Zaxxon 0000,SWASHBUCKLER=Swashbuckler 1000,SWORD.OF.SHEOL=Sword of Sheol -0005,TALON=Talon +0006,TALON=Talon 0001,TAPPER=Tapper -0115,TC=TechnoCop +0116,TC=TechnoCop 0000,TELEPORT=Teleport 0000,TERITORY=Teritory 0010,TETRIS=Tetris @@ -402,7 +403,7 @@ 0110,TS=The Chase on Tom S's Island 1000,THE.DAM.BUSTERS=The Dam Busters 1000,THE.GOONIES=The Goonies -0006,THE.HEIST=The Heist +0007,THE.HEIST=The Heist 1000,LG=The Last Gladiator 1111,THE.LAST.NINJA=The Last Ninja 1100,MM=The Movie Monster Game @@ -410,7 +411,7 @@ 0000,THE.SPACE.ARK=The Space Ark 0001,S2=The Spy Strikes Back 1000,VV=The Voyage of the Valkyrie -0015,THEXDER=Thexder +0016,THEXDER=Thexder 0000,THIEF=Thief 0001,THRESHOLD=Threshold 0001,THUNDER.BOMBS=Thunder Bombs @@ -425,7 +426,7 @@ 1000,TROLLS.TRIBS=Trolls and Tribulations 0001,TROMPERS=Trompers 1000,TSUNAMI=Tsunami -1006,TB=Tubeway ][ +1007,TB=Tubeway ][ 0000,TUNNEL.TERROR=Tunnel Terror 0001,TWERPS=Twerps 1001,UD=Up'n Down diff --git a/src/index/artwork.idx.a b/src/index/artwork.idx.a index 94e4fda49..f7aac4d6c 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 11419910 + !be24 11419645 !le16 4515 diff --git a/src/index/attract.idx.a b/src/index/attract.idx.a index d90ee5708..d5c324ea6 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 11371123 + !be24 11370858 !le16 5294 diff --git a/src/index/cache00.idx.a b/src/index/cache00.idx.a index d5945fbab..654c4106a 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 11311485 + !be24 11311220 !le16 3654 diff --git a/src/index/cache01.idx.a b/src/index/cache01.idx.a index 5d3ffffc6..6aa3aedae 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 11324266 + !be24 11324001 !le16 4064 diff --git a/src/index/cache10.idx.a b/src/index/cache10.idx.a index dfbb0bf22..9672eccf5 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 11340306 + !be24 11340041 !le16 5245 diff --git a/src/index/cache11.idx.a b/src/index/cache11.idx.a index 078c896b6..3a95d16d3 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 11358820 + !be24 11358555 !le16 5870 diff --git a/src/index/coverfade.idx.a b/src/index/coverfade.idx.a index 7fd1c96a0..555f7fecd 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 11424425 + !be24 11424160 !le16 410 diff --git a/src/index/credits.idx.a b/src/index/credits.idx.a index 86e85dc2a..076cfc612 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 11425179 + !be24 11424914 !le16 448 diff --git a/src/index/decrunch.idx.a b/src/index/decrunch.idx.a index 59b4605b7..a8fe02d67 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 11425627 + !be24 11425362 !le16 303 diff --git a/src/index/dfx.idx.a b/src/index/dfx.idx.a index fded909b3..dc1230082 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 11378563 + !be24 11378298 !le16 1242 diff --git a/src/index/dgr.fizzle.idx.a b/src/index/dgr.fizzle.idx.a index 7f729c48e..98e0ded3e 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 11424911 + !be24 11424646 !le16 67 diff --git a/src/index/dgr.idx.a b/src/index/dgr.idx.a index f83028577..2374174d5 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 11419851 + !be24 11419586 !le16 59 diff --git a/src/index/dhgr.idx.a b/src/index/dhgr.idx.a index be0f4a0ed..2f81ced64 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 11418366 + !be24 11418101 !le16 1404 diff --git a/src/index/dtitle.idx.a b/src/index/dtitle.idx.a index 23f2301c6..704bdad4e 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 11403983 + !be24 11403718 !le16 521 diff --git a/src/index/fx.idx.a b/src/index/fx.idx.a index 203444237..816021808 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 11376417 + !be24 11376152 !le16 2146 diff --git a/src/index/gamehelp.idx.a b/src/index/gamehelp.idx.a index d0ec62e91..2559aea97 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 11380163 + !be24 11379898 !le16 6433 diff --git a/src/index/gr.fizzle.idx.a b/src/index/gr.fizzle.idx.a index ac1a87032..e87172f19 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 11424835 + !be24 11424570 !le16 76 diff --git a/src/index/gr.idx.a b/src/index/gr.idx.a index 06bf3c4f8..b57a83440 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 11419770 + !be24 11419505 !le16 81 diff --git a/src/index/helptext.idx.a b/src/index/helptext.idx.a index f0bdffe0c..00201bc8a 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 11424978 + !be24 11424713 !le16 201 diff --git a/src/index/hgr0.idx.a b/src/index/hgr0.idx.a index f48e8ba5d..8af1f460e 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 11404504 + !be24 11404239 !le16 4511 diff --git a/src/index/hgr1.idx.a b/src/index/hgr1.idx.a index 9c0124f43..e2ae9ced7 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 11409015 + !be24 11408750 !le16 1591 diff --git a/src/index/hgr2.idx.a b/src/index/hgr2.idx.a index 57582b2d8..13a24fbbd 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 11410606 + !be24 11410341 !le16 1053 diff --git a/src/index/hgr3.idx.a b/src/index/hgr3.idx.a index 415dd4323..727c71288 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 11411659 + !be24 11411394 !le16 3237 diff --git a/src/index/hgr4.idx.a b/src/index/hgr4.idx.a index 7721ffb8c..7d6356a67 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 11414896 + !be24 11414631 !le16 2877 diff --git a/src/index/hgr5.idx.a b/src/index/hgr5.idx.a index d259a30f8..0d35306ff 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 11417773 + !be24 11417508 !le16 479 diff --git a/src/index/hgr6.idx.a b/src/index/hgr6.idx.a index e256ec655..95c08c71d 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 11418252 + !be24 11417987 !le16 114 diff --git a/src/index/joystick.idx.a b/src/index/joystick.idx.a index 7615fe744..aa8fc2a1a 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 11425930 + !be24 11425665 !le16 2370 diff --git a/src/index/miniattract0.idx.a b/src/index/miniattract0.idx.a index c6f751af0..2304b9285 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 11391552 + !be24 11391287 !le16 3642 diff --git a/src/index/miniattract1.idx.a b/src/index/miniattract1.idx.a index 4e74f72df..caa9eb017 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 11395194 + !be24 11394929 !le16 2795 diff --git a/src/index/prelaunch.idx.a b/src/index/prelaunch.idx.a index 3f328eeb0..aae4dac7a 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 11364690 + !be24 11364425 !le16 6433 diff --git a/src/index/res.cover.idx.a b/src/index/res.cover.idx.a index ea45f6507..4be6c9612 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 3699200 + !be24 3698688 !le16 8192 diff --git a/src/index/res.help.idx.a b/src/index/res.help.idx.a index 6763921ad..20d3d2d29 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 3715584 + !be24 3715072 !le16 8192 diff --git a/src/index/res.title.idx.a b/src/index/res.title.idx.a index f4affdeb2..828c09c63 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 3707392 + !be24 3706880 !le16 8192 diff --git a/src/index/search00.idx.a b/src/index/search00.idx.a index 8d08377cb..d4b99cb6a 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 11303202 + !be24 11302937 !le16 8283 diff --git a/src/index/search01.idx.a b/src/index/search01.idx.a index ae2fcea95..80e432e3b 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 11315139 + !be24 11314874 !le16 9127 diff --git a/src/index/search10.idx.a b/src/index/search10.idx.a index 457177d1d..ba135d02d 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 11328330 + !be24 11328065 !le16 11976 diff --git a/src/index/search11.idx.a b/src/index/search11.idx.a index 8888ed219..7c0be0d18 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 11345551 + !be24 11345286 !le16 13269 diff --git a/src/index/sfx.idx.a b/src/index/sfx.idx.a index 51371960d..47a7bf794 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 11379805 + !be24 11379540 !le16 358 diff --git a/src/index/slideshow.idx.a b/src/index/slideshow.idx.a index c32171499..a123b7af9 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 11386596 + !be24 11386331 !le16 4956 diff --git a/src/index/title.idx.a b/src/index/title.idx.a index 953447ca1..d7b6ccc23 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 11397989 + !be24 11397724 !le16 5994 diff --git a/src/macros.a b/src/macros.a index 104614aba..106557921 100755 --- a/src/macros.a +++ b/src/macros.a @@ -362,37 +362,49 @@ !macro RESET_VECTOR .addr { lda #<.addr sta $3F2 + !ifndef .addr { + !set emitted=1 lda #>.addr sta $3F3 eor #$A5 sta $3F4 + } else { + !ifdef emitted { + lda #>.addr + sta $3F3 + eor #$A5 + sta $3F4 + } else { + !if >.addr != 1 { + lda #>.addr + sta $3F3 + eor #$A5 + sta $3F4 + } + } + } } !macro RESET_AND_IRQ_VECTOR .addr { lda #<.addr sta $3F2 sta $3FE + !if >.addr != 1 { lda #>.addr sta $3F3 sta $3FF eor #$A5 sta $3F4 + } } ; for games that clobber $100-$105, the prelaunch code constructs a new reset vector ; somewhere else and sets its !macro NEW_RESET_VECTOR .addr { - lda #$2C - sta .addr - lda #$88 - sta .addr+1 - lda #$C0 - sta .addr+2 - lda #$6C ; JMP ($FFFC) points to 'Reenter' - sta .addr+3 - lda #$FC - sta .addr+4 - lda #$FF - sta .addr+5 + ldx #5 +- lda $100,x + sta .addr,x + dex + bpl - +RESET_VECTOR .addr } @@ -412,11 +424,13 @@ lda #<.addr sta $3F2 sta $FFFC + !if >.addr != 1 { lda #>.addr sta $3F3 sta $FFFD eor #$A5 sta $3F4 + } } ; for 64k games on ][+ which either hang or restart diff --git a/src/prelaunch/m.i.r.v.a b/src/prelaunch/m.i.r.v.a new file mode 100644 index 000000000..a7a1d89d5 --- /dev/null +++ b/src/prelaunch/m.i.r.v.a @@ -0,0 +1,37 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/M.I.R.V",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $864 + jsr $800 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $314 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + + jmp $8000 + +callback + jsr $867 + lda #$ad + sta $5FD0 ; patch - don't decrease lives + sta $5FF0 ; patch - don't increase lives + rts + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/prelaunch/marauder.a b/src/prelaunch/marauder.a index f6ef8434e..bd50c931c 100644 --- a/src/prelaunch/marauder.a +++ b/src/prelaunch/marauder.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/MARAUDER",plain @@ -13,15 +13,42 @@ sta $864 jsr $800 ; decompress - +NEW_RESET_VECTOR $1A0 + +NEW_RESET_VECTOR $3B0 lda #$2C sta $B5D1 sta $B5D4 sta $B5D9 ; reset vector fix - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback1 + sta $B5F9 + sta $B5B2 + sta $B608 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $B5B9 -!if * > $1A0 { +callback1 + lda #$a5 + sta $5FC6 ; patch - don't increase lives + sta $6E0B ; patch - don't decrease lives + jmp $6C00 + +callback2 + lda #$a5 + sta $8644 ; patch - don't decrease lives + jmp $800 + +!if * > $1C0 { !error "code is too large for reset vector hook, ends at ", * } diff --git a/src/prelaunch/marble.madness.a b/src/prelaunch/marble.madness.a index f5da56725..8ceb302e8 100644 --- a/src/prelaunch/marble.madness.a +++ b/src/prelaunch/marble.madness.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by qkumba +;(c) 2020, 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/MARBLE.MADNESS",plain @@ -24,7 +24,16 @@ callback lda #>reset sta $8DD5 sta $8DDD - +DISABLE_ACCEL + + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + dec $898F ; patch - don't decrease time ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $1000 !if * > $1C0 { diff --git a/src/prelaunch/mazeblox.a b/src/prelaunch/mazeblox.a index a712d262b..8d7c5b641 100644 --- a/src/prelaunch/mazeblox.a +++ b/src/prelaunch/mazeblox.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/MAZEBLOX",plain @@ -27,9 +27,35 @@ hook2 lda #hook4 + sta $BD08 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE jmp $A180 +hook4 + pla + pla + jsr $BD5F + jsr $BD09 + lda $B7EC + cmp #$13 + bne + + lda $B7ED + cmp #5 + bne + + lda #$AD + sta $1920 ; patch - don't decrease time ++ clc + rts + !if * > $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/monster.mash.a b/src/prelaunch/monster.mash.a index d5803baf7..d2f537e2f 100644 --- a/src/prelaunch/monster.mash.a +++ b/src/prelaunch/monster.mash.a @@ -1,5 +1,5 @@ ;license:MIT -;(c) 2020 by qkumba +;(c) 2020, 2022 by qkumba !cpu 6502 !to "build/PRELAUNCH.INDEXED/MONSTER.MASH",plain @@ -11,9 +11,39 @@ lda #$60 sta $A16 jsr $800 ; load DOS - +DISABLE_ACCEL + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #callback + sta $BD08 ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $B700 +callback + pla + pla + jsr $BD5A + jsr $BD09 + lda $BEA3 + cmp #5 + bne + + lda $407 + cmp #$21 + bne + + lda $408 + bne + + lda #$a5 + sta $6625 ; patch - don't decrease lives ++ + clc + rts + !if * > $1C0 { !error "code is too large, ends at ", * } diff --git a/src/prelaunch/mouskattack.a b/src/prelaunch/mouskattack.a new file mode 100644 index 000000000..fe1b3247b --- /dev/null +++ b/src/prelaunch/mouskattack.a @@ -0,0 +1,27 @@ +;license:MIT +;(c) 2022 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH.INDEXED/MOUSKATTACK",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$4C + sta $810 + jsr $800 ; decompress + +READ_RAM2_NO_WRITE + lda MachineStatus + and #CHEATS_ENABLED + beq + + lda #$ad + sta $58AC ; patch - don't decrease lives ++ + jsr DisableAccelerator + +READ_ROM_NO_WRITE + jmp $813 + +!if * > $1C0 { + !error "code is too large, ends at ", * +} diff --git a/src/ui.overlay.a b/src/ui.overlay.a index 4520adbf1..74a3eaf93 100644 --- a/src/ui.overlay.a +++ b/src/ui.overlay.a @@ -20,13 +20,14 @@ ReturnToPlay !byte $0D !text " to play" -kCheatsEnabled = 7 ; index of 'cheats enabled' string in following table +kCheatsEnabled = 8 ; index of 'cheats enabled' string in following table kCheatDescriptionLo !byte sInfiniteWeapons !byte >sInfiniteLivesAndWeapons !byte >sInfiniteLivesAndTime + !byte >sInfiniteTime !byte >sInvincibility !byte >sInGame !byte >sCheatsEnabled @@ -70,6 +72,13 @@ sInfiniteLivesAndTime !text "infinite lives & time" !text " " !byte $16 ; padlock character +sInfiniteTime + !byte 17 ; length + !byte $16 ; padlock character + !text " " + !text "infinite time" + !text " " + !byte $16 ; padlock character sInvincibility !byte 14 ; length !byte $16 ; padlock character