diff --git a/res/games.conf b/res/games.conf index c39a42388..15ecb9be2 100644 --- a/res/games.conf +++ b/res/games.conf @@ -1 +1 @@ -000,AGENT.USA=Agent U S A 110,AIRHEART=Airheart 001,ALCAZAR=Alcazar 101,ALIEN.AMBUSH=Alien Ambush 001,ALIEN.DOWNPOUR=Alien Downpour 001,ALIEN.MUNCHIES=Alien Munchies 001,ALIEN.RAIN=Alien Rain 001,ALIEN.TYPHOON=Alien Typhoon 000,ANKH=Ankh 001,CIDER.SPIDER=Apple Cider Spider 001,APPLE.PANIC=Apple Panic 000,AQUATRON=Aquatron 000,ARGOS=Argos 101,ARKANOID=Arkanoid 001,ASTEROID.BLASTR=Asteroid Blaster 101,AXIS.ASSASSIN=Axis Assassin 000,AZTEC=Aztec 111,BAD.DUDES=Bad Dudes 100,BALLBLAZER=Ballblazer 110,BATMAN=Batman 001,BATTLEZONE=Battlezone 101,BCS.QUEST=BC's Quest For Tires 001,BEER.RUN=Beer Run 000,BELLHOP=Bellhop 001,BERZAP=Berzap 000,BEYOND.WOLFEN=Beyond Castle Wolfenstein 000,BUDGETRILOGY=Bill Budge's Trilogy 100,BLACK.MAGIC=Black Magic 000,BLISTER.BALL=Blister Ball 000,BLOCKCHAIN=BlockChain 001,BOLO=Bolo 001,BOUNCING.KMNGAS=Bouncing Kamungas 001,BRAINTEASERBLVD=Brainteaser Boulevard 101,BRUCE.LEE=Bruce Lee 101,BUBBLE.BOBBLE=Bubble Bobble 001,BUCK.ROGERS=Buck Rogers: Planet of Zoom 002,BURGERTIME=BurgerTime 001,BUZZARD.BAIT=Buzzard Bait 001,CANNONBALL.BLTZ=Cannonball Blitz 001,CANYON.CLIMBER=Canyon Climber 000,CAPTN.GOODNIGHT=Captain Goodnight 000,WOLFEN84=Castle Wolfenstein 101,CEILING.ZERO=Ceiling Zero 001,CENTIPEDE=Centipede 001,CHAMP.LODERUN=Championship Lode Runner 100,CHOPLIFTER=Choplifter 011,COMMANDO=Commando 002,CONAN=Conan 000,CRAZY.MAZEY=Crazy Mazey 001,CRIME.WAVE=Crime Wave 101,CRISIS.MOUNTAIN=Crisis Mountain 001,CROSSFIRE=Crossfire 001,CUBIT=Cubit 000,CYBERSTRIKE=Cyber Strike 001,CYCLOD=Cyclod 100,DAVIDS.MAGIC=David's Midnight Magic 010,DEATH.SWORD=Death Sword 101,DEFENDER=Defender 010,D.GENERATION=D-Generation 000,DIAMOND.MINE=Diamond Mine 001,DIG.DUG=Dig Dug 100,DINO.EGGS=Dino Eggs 101,DONKEY.KONG=Donkey Kong 100,DRELBS=Drelbs 001,DROL=Drol 000,DUNG.BEETLES=Dung Beetles 001,EGGS.IT=Eggs-It 000,EPOCH=Epoch 001,FALCONS=Falcons 000,FIREBIRD=Firebird 000,FS2=Flight Simulator II 000,FLIP.OUT=Flip Out 100,FORMULA.1=Formula 1 Racer 001,FREE.FALL=Free Fall 000,FROGGER=Frogger 100,FROGGER.II=Frogger II 100,GALAXIAN=Galaxian 000,GALAXY.GATES=Galaxy Gates 101,GAMMA.GOBLINS=Gamma Goblins 001,GENETIC.DRIFT=Genetic Drift 001,GOLD.RUSH=Gold Rush 001,GORGON=Gorgon 001,GREMLINS=Gremlins 000,GUARDIAN=Guardian 000,GUMBALL=Gumball 000,HADRON=Hadron 001,HARD.HAT.MACK=Hard Hat Mack 000,HEAD.ON=Head On 110,HEAVY.BARREL=Heavy Barrel 102,HERO=H E R O 000,HIGH.RISE=High Rise 000,HORIZON.V=Horizon V 001,HUNGRYBOY=Hungry Boy 000,HYPER.HEAD.ON=Hyper Head On 000,IKARI.WARRIORS=Ikari Warriors 100,IMPOSSIBLE.MISS=Impossible Mission 010,INDIANA.JONES=Indiana Jones 100,INTL.GRAN.PRIX=International Gran Prix 001,JOUST=Joust 000,JUGGLER=Juggler 001,JUMPMAN=Jumpman 000,JUNGLE.HUNT=Jungle Hunt 100,KAMIKAZE=Kamikaze 000,KARATEKA=Karateka 001,KID.NIKI=Kid Niki 000,LABYRINTH=Labyrinth 001,LADY.TUT=Lady Tut 001,LANCASTER=Lancaster 100,LASER.BOUNCE=Laser Bounce 001,LAZER.SILK=Lazer Silk 001,LODE.RUNNER=Lode Runner 100,LOST.TOMB=Lost Tomb 100,MAD.BOMBER=Mad Bomber 100,MARBLE.MADNESS=Marble Madness 001,MARIO.BROS=Mario Bros 100,MINER.2049ER=Miner 2049er 001,MONTEZUMA=Montezuma's Revenge 001,MOON.PATROL=Moon Patrol 000,MR.COOL=Mr. Cool 101,MR.DO=Mr. Do 101,MR.ROBOT=Mr. Robot 001,MS.PACMAN=Ms. Pacman 000,NIBBLER=Nibbler 100,NIGHT.MISSION=Night Mission Pinball 000,NIGHT.STALKER=Night Stalker 000,NIGHTMARE=Nightmare Gallery 000,NORAD=N O R A D 000,ORBITRON=Orbitron 000,ORILEYS.MINE=O'Riley's Mine 000,OOTW=Out Of This World 000,OUTPOST=Outpost 000,PAC.MAN=Pac-Man 000,PAPERBOY=Paperboy 001,PEST.PATROL=Pest Patrol 100,PHANTOMS.FIVE=Phantoms Five 000,PHASER.FIRE=Phaser Fire 000,PHOTAR=Photar 000,PICNIC.PARANOIA=Picnic Paranoia 000,PIEMAN=Pie-Man 010,PIPEDREAM=Pipe Dream 100,PITFALL.II=Pitfall II 000,PITSTOP.II=Pit Stop II 000,PLASMANIA=Plasmania 110,PLATOON=Platoon 000,POLLYWOG=Pollywog 001,POOYAN=Pooyan 010,PRINCEUNP=Prince of Persia 000,PUCK.MAN=Puckman 110,QIX=Qix 100,QUADRANT.6112=Quadrant 6112 010,RADWARRIOR=Radwarrior 010,RAMPAGE=Rampage 000,RASTER.BLASTER=Raster Blaster 100,RED.ALERT=Red Alert 110,RENEGADE=Renegade 000,REPTON=Repton 000,RESCUE.RAIDERS=Rescue Raiders 000,RIBBIT=Ribbit 000,ROADBLOCK=Roadblock 010,ROBOCOP=Robocop 000,ROBOTRON=Robotron 2084 000,RUSSKI.DUCK=Russki Duck 000,SABOTAGE=Sabotage 001,SAMMY.LIGHTFOOT=Sammy Lightfoot 000,SEA.DRAGON=Sea Dragon 000,SEAFOX=Seafox 001,SERPENTINE=Serpentine 100,SHAMUS=Shamus 000,SHORT.CIRCUIT=Short Circuit 000,SHUFFLEBOARD=Shuffleboard 000,SITUATION.CRTCL=Situation Critical 000,SNACK.ATTACK=Snack Attack 000,SNAKE.BYTE=Snake Byte 001,SNEAKERS=Sneakers 000,SNOGGLE=Snoggle 100,SPACE.EGGS=Space Eggs 000,SPACE.QUARKS=Space Quarks 000,SPACE.RAIDERS=Space Raiders 000,SPARE.CHANGE=Spare Change 000,SPDWAY.CLASSIC=Speedway Classic 010,SPIDERBOT=Spiderbot 000,SPIDER.RAID=Spider Raid 000,SPY.HUNTER=Spy Hunter 001,SPYS.DEMISE=Spy's Demise 100,STARBLASTER=Starblaster 000,STAR.BLAZER=Star Blazer 100,STARGATE=Stargate 000,STAR.THIEF=Star Thief 000,STELLAR.7=Stellar 7 000,SUCCESSION=Succession 000,SUICIDE=Suicide! 000,SWASHBUCKLER=Swashbuckler 000,TAG.TEAM=Tag Team Wrestling 001,TAPPER=Tapper 000,TETRIS=Tetris 000,THE.BILESTOAD=The Bilestoad 010,SUMMER.EDITION=The Games: Summer Edition 010,WINTER.EDITION=The Games: Winter Edition 100,GOONIES=The Goonies 000,SPY.STRIKES.BAK=The Spy Strikes Back 000,THEXDER=Thexder 010,THEXDER128K=Thexder (DHGR) 000,THIEF=Thief 001,THRESHOLD=Threshold 000,THUNDERBOMBS=Thunder Bombs 100,TOMAHAWK=Tomahawk 000,TRACK.AND.FIELD=Track & Field 101,TUBEWAY=Tubeway ][ 000,TUNNEL.TERROR=Tunnel Terror 001,TWERPS=Twerps 001,UP.N.DOWN=Up'n Down 010,VICTORY.ROAD=Victory Road 000,VINDICATOR=Vindicator 000,WARP.DESTROYER=Warp Destroyer 001,WAVY.NAVY=Wavy Navy 101,XEVIOUS=Xevious 101,ZAXXON=Zaxxon 000,ZENITH=Zenith [eof] # # 4cade master game list # # Format: # ABC,directory=name # # A=1 if game requires joystick, 0 if playable on keyboard # B=1 if game requires 128K, 0 if playable on 64K # C=cheat mode category # 0=no cheats (yet!) # 1=infinite lives # 2=infinite lives & weapons # # all other values for A or B -> ignore entire line (like this one!) # A line beginning with '[' terminates the parsing # \ No newline at end of file +000,AGENT.USA=Agent U S A 110,AIRHEART=Airheart 001,ALCAZAR=Alcazar 101,ALIEN.AMBUSH=Alien Ambush 001,ALIEN.DOWNPOUR=Alien Downpour 001,ALIEN.MUNCHIES=Alien Munchies 001,ALIEN.RAIN=Alien Rain 001,ALIEN.TYPHOON=Alien Typhoon 000,ANKH=Ankh 001,CIDER.SPIDER=Apple Cider Spider 001,APPLE.PANIC=Apple Panic 000,AQUATRON=Aquatron 000,ARGOS=Argos 101,ARKANOID=Arkanoid 001,ASTEROID.BLASTR=Asteroid Blaster 101,AXIS.ASSASSIN=Axis Assassin 000,AZTEC=Aztec 111,BAD.DUDES=Bad Dudes 100,BALLBLAZER=Ballblazer 110,BATMAN=Batman 001,BATTLEZONE=Battlezone 101,BCS.QUEST=BC's Quest For Tires 001,BEER.RUN=Beer Run 000,BELLHOP=Bellhop 001,BERZAP=Berzap 000,BEYOND.WOLFEN=Beyond Castle Wolfenstein 000,BUDGETRILOGY=Bill Budge's Trilogy 100,BLACK.MAGIC=Black Magic 000,BLISTER.BALL=Blister Ball 000,BLOCKCHAIN=BlockChain 001,BOLO=Bolo 001,BOUNCING.KMNGAS=Bouncing Kamungas 001,BRAINTEASERBLVD=Brainteaser Boulevard 101,BRUCE.LEE=Bruce Lee 101,BUBBLE.BOBBLE=Bubble Bobble 001,BUCK.ROGERS=Buck Rogers: Planet of Zoom 002,BURGERTIME=BurgerTime 001,BUZZARD.BAIT=Buzzard Bait 001,CANNONBALL.BLTZ=Cannonball Blitz 001,CANYON.CLIMBER=Canyon Climber 000,CAPTN.GOODNIGHT=Captain Goodnight 000,WOLFEN84=Castle Wolfenstein 101,CEILING.ZERO=Ceiling Zero 001,CENTIPEDE=Centipede 001,CHAMP.LODERUN=Championship Lode Runner 100,CHOPLIFTER=Choplifter 011,COMMANDO=Commando 002,CONAN=Conan 000,CRAZY.MAZEY=Crazy Mazey 001,CRIME.WAVE=Crime Wave 101,CRISIS.MOUNTAIN=Crisis Mountain 001,CROSSFIRE=Crossfire 001,CUBIT=Cubit 000,CYBERSTRIKE=Cyber Strike 001,CYCLOD=Cyclod 100,DAVIDS.MAGIC=David's Midnight Magic 010,DEATH.SWORD=Death Sword 101,DEFENDER=Defender 010,D.GENERATION=D-Generation 001,DIAMOND.MINE=Diamond Mine 001,DIG.DUG=Dig Dug 100,DINO.EGGS=Dino Eggs 101,DONKEY.KONG=Donkey Kong 101,DRELBS=Drelbs 001,DROL=Drol 000,DUNG.BEETLES=Dung Beetles 001,EGGS.IT=Eggs-It 000,EPOCH=Epoch 001,FALCONS=Falcons 001,FIREBIRD=Firebird 000,FS2=Flight Simulator II 000,FLIP.OUT=Flip Out 100,FORMULA.1=Formula 1 Racer 001,FREE.FALL=Free Fall 000,FROGGER=Frogger 100,FROGGER.II=Frogger II 100,GALAXIAN=Galaxian 000,GALAXY.GATES=Galaxy Gates 101,GAMMA.GOBLINS=Gamma Goblins 001,GENETIC.DRIFT=Genetic Drift 001,GOLD.RUSH=Gold Rush 001,GORGON=Gorgon 001,GREMLINS=Gremlins 000,GUARDIAN=Guardian 000,GUMBALL=Gumball 000,HADRON=Hadron 001,HARD.HAT.MACK=Hard Hat Mack 000,HEAD.ON=Head On 110,HEAVY.BARREL=Heavy Barrel 102,HERO=H E R O 000,HIGH.RISE=High Rise 000,HORIZON.V=Horizon V 001,HUNGRYBOY=Hungry Boy 000,HYPER.HEAD.ON=Hyper Head On 000,IKARI.WARRIORS=Ikari Warriors 100,IMPOSSIBLE.MISS=Impossible Mission 010,INDIANA.JONES=Indiana Jones 100,INTL.GRAN.PRIX=International Gran Prix 001,JOUST=Joust 000,JUGGLER=Juggler 001,JUMPMAN=Jumpman 000,JUNGLE.HUNT=Jungle Hunt 100,KAMIKAZE=Kamikaze 000,KARATEKA=Karateka 001,KID.NIKI=Kid Niki 000,LABYRINTH=Labyrinth 001,LADY.TUT=Lady Tut 001,LANCASTER=Lancaster 100,LASER.BOUNCE=Laser Bounce 001,LAZER.SILK=Lazer Silk 001,LODE.RUNNER=Lode Runner 100,LOST.TOMB=Lost Tomb 100,MAD.BOMBER=Mad Bomber 100,MARBLE.MADNESS=Marble Madness 001,MARIO.BROS=Mario Bros 100,MINER.2049ER=Miner 2049er 001,MONTEZUMA=Montezuma's Revenge 001,MOON.PATROL=Moon Patrol 000,MR.COOL=Mr. Cool 101,MR.DO=Mr. Do 101,MR.ROBOT=Mr. Robot 001,MS.PACMAN=Ms. Pacman 000,NIBBLER=Nibbler 100,NIGHT.MISSION=Night Mission Pinball 000,NIGHT.STALKER=Night Stalker 000,NIGHTMARE=Nightmare Gallery 000,NORAD=N O R A D 000,ORBITRON=Orbitron 000,ORILEYS.MINE=O'Riley's Mine 000,OOTW=Out Of This World 000,OUTPOST=Outpost 000,PAC.MAN=Pac-Man 000,PAPERBOY=Paperboy 001,PEST.PATROL=Pest Patrol 100,PHANTOMS.FIVE=Phantoms Five 000,PHASER.FIRE=Phaser Fire 000,PHOTAR=Photar 000,PICNIC.PARANOIA=Picnic Paranoia 000,PIEMAN=Pie-Man 010,PIPEDREAM=Pipe Dream 100,PITFALL.II=Pitfall II 000,PITSTOP.II=Pit Stop II 000,PLASMANIA=Plasmania 110,PLATOON=Platoon 000,POLLYWOG=Pollywog 001,POOYAN=Pooyan 010,PRINCEUNP=Prince of Persia 000,PUCK.MAN=Puckman 110,QIX=Qix 100,QUADRANT.6112=Quadrant 6112 010,RADWARRIOR=Radwarrior 010,RAMPAGE=Rampage 000,RASTER.BLASTER=Raster Blaster 100,RED.ALERT=Red Alert 110,RENEGADE=Renegade 000,REPTON=Repton 000,RESCUE.RAIDERS=Rescue Raiders 000,RIBBIT=Ribbit 000,ROADBLOCK=Roadblock 010,ROBOCOP=Robocop 000,ROBOTRON=Robotron 2084 000,RUSSKI.DUCK=Russki Duck 000,SABOTAGE=Sabotage 001,SAMMY.LIGHTFOOT=Sammy Lightfoot 000,SEA.DRAGON=Sea Dragon 000,SEAFOX=Seafox 001,SERPENTINE=Serpentine 100,SHAMUS=Shamus 000,SHORT.CIRCUIT=Short Circuit 000,SHUFFLEBOARD=Shuffleboard 000,SITUATION.CRTCL=Situation Critical 000,SNACK.ATTACK=Snack Attack 000,SNAKE.BYTE=Snake Byte 001,SNEAKERS=Sneakers 000,SNOGGLE=Snoggle 100,SPACE.EGGS=Space Eggs 000,SPACE.QUARKS=Space Quarks 000,SPACE.RAIDERS=Space Raiders 000,SPARE.CHANGE=Spare Change 000,SPDWAY.CLASSIC=Speedway Classic 010,SPIDERBOT=Spiderbot 000,SPIDER.RAID=Spider Raid 000,SPY.HUNTER=Spy Hunter 001,SPYS.DEMISE=Spy's Demise 100,STARBLASTER=Starblaster 000,STAR.BLAZER=Star Blazer 100,STARGATE=Stargate 000,STAR.THIEF=Star Thief 000,STELLAR.7=Stellar 7 000,SUCCESSION=Succession 000,SUICIDE=Suicide! 000,SWASHBUCKLER=Swashbuckler 000,TAG.TEAM=Tag Team Wrestling 001,TAPPER=Tapper 000,TETRIS=Tetris 000,THE.BILESTOAD=The Bilestoad 010,SUMMER.EDITION=The Games: Summer Edition 010,WINTER.EDITION=The Games: Winter Edition 100,GOONIES=The Goonies 000,SPY.STRIKES.BAK=The Spy Strikes Back 000,THEXDER=Thexder 010,THEXDER128K=Thexder (DHGR) 000,THIEF=Thief 001,THRESHOLD=Threshold 000,THUNDERBOMBS=Thunder Bombs 100,TOMAHAWK=Tomahawk 000,TRACK.AND.FIELD=Track & Field 101,TUBEWAY=Tubeway ][ 000,TUNNEL.TERROR=Tunnel Terror 001,TWERPS=Twerps 001,UP.N.DOWN=Up'n Down 010,VICTORY.ROAD=Victory Road 000,VINDICATOR=Vindicator 000,WARP.DESTROYER=Warp Destroyer 001,WAVY.NAVY=Wavy Navy 101,XEVIOUS=Xevious 101,ZAXXON=Zaxxon 000,ZENITH=Zenith [eof] # # 4cade master game list # # Format: # ABC,directory=name # # A=1 if game requires joystick, 0 if playable on keyboard # B=1 if game requires 128K, 0 if playable on 64K # C=cheat mode category # 0=no cheats (yet!) # 1=infinite lives # 2=infinite lives & weapons # # all other values for A or B -> ignore entire line (like this one!) # A line beginning with '[' terminates the parsing # \ No newline at end of file diff --git a/src/prelaunch/diamond.mine.a b/src/prelaunch/diamond.mine.a new file mode 100644 index 000000000..5b99244f7 --- /dev/null +++ b/src/prelaunch/diamond.mine.a @@ -0,0 +1,23 @@ +;license:MIT +;(c) 2019 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH/DIAMOND.MINE",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $9509 + jsr $4e90 ; decompress + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + inc $a47 ; patch - don't decrease lives + lda #$b5 + sta $942 ; patch - don't increase lives + sta $1112 ; patch - don't decrease lives ++ + +DISABLE_ACCEL + jmp $5f00 diff --git a/src/prelaunch/drelbs.a b/src/prelaunch/drelbs.a new file mode 100644 index 000000000..00819a804 --- /dev/null +++ b/src/prelaunch/drelbs.a @@ -0,0 +1,21 @@ +;license:MIT +;(c) 2019 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH/DRELBS",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $813 + jsr $800 ; decompress + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $1cb0 ; patch - don't decrease lives ++ + +DISABLE_ACCEL + jmp $8000 diff --git a/src/prelaunch/firebird.a b/src/prelaunch/firebird.a new file mode 100644 index 000000000..fb196b179 --- /dev/null +++ b/src/prelaunch/firebird.a @@ -0,0 +1,21 @@ +;license:MIT +;(c) 2019 by qkumba + +!cpu 6502 +!to "build/PRELAUNCH/FIREBIRD",plain +*=$106 + + !source "src/prelaunch/common.a" + + +ENABLE_ACCEL + lda #$60 + sta $334b + jsr $3300 ; decompress + +GET_MACHINE_STATUS + and #CHEATS_ENABLED + beq + + lda #$a5 + sta $ae53 ; patch - don't decrease lives ++ + +DISABLE_ACCEL + jmp $b000