From b2b28f6288e0237953d6fb273e9da740e06575d7 Mon Sep 17 00:00:00 2001 From: 4am Date: Sun, 8 Mar 2020 16:12:36 -0400 Subject: [PATCH] add games.conf column in anticipation of DHGR titles --- res/games.conf | 2 +- src/parse.games.a | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/res/games.conf b/res/games.conf index e28b62c02..2cb254ad7 100755 --- 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.TYPHOON=Alien Typhoon 000,ANKH=Ankh 001,CIDER.SPIDER=Apple Cider Spider 001,APPLE.PANIC=Apple Panic 001,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,BATTLE.CRUISER=Battle Cruiser 001,BATTLEZONE=Battlezone 101,BCS.QUEST=BC's Quest For Tires 001,BEER.RUN=Beer Run 010,BEJEWELED=Bejeweled 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 010,CALI.GAMES=California Games 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 001,CONGO.BONGO=Congo Bongo 001,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 101,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 010,FLAPPLE.BIRD=Flapple Bird 000,FS2=Flight Simulator II 000,FLIP.OUT=Flip Out 111,FORCE.7=Force 7 100,FORMULA.1=Formula 1 Racer 001,FREE.FALL=Free Fall 001,FROGGER=Frogger 101,FROGGER.II=Frogger II 001,GALAXY.GATES=Galaxy Gates 101,GAMMA.GOBLINS=Gamma Goblins 001,GENETIC.DRIFT=Genetic Drift 001,GENIUS=Genius 001,GENIUS.2=Genius 2 001,GOLD.RUSH=Gold Rush 001,GORGON=Gorgon 001,GREMLINS=Gremlins 001,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 010,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 110,MARBLE.MADNESS=Marble Madness 001,MARIO.BROS=Mario Bros. 100,MINER.2049ER=Miner 2049er 101,MINGS.CHALLENGE=Ming's Challenge 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 100,ONE.ON.ONE=One on One 000,ORBITRON=Orbitron 000,ORILEYS.MINE=O'Riley's Mine 000,OOTW=Out of This World 000,OUTPOST=Outpost 000,PAC.MAN=Pac-Man 010,PAPERBOY=Paperboy 101,PENETRATOR=Penetrator 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=Pitstop II 000,PLASMANIA=Plasmania 110,PLATOON=Platoon 000,POLLYWOG=Pollywog 001,POOYAN=Pooyan 010,PRINCEUNP=Prince of Persia 110,QIX=Qix 100,QUADRANT.6112=Quadrant 6112 010,RADWARRIOR=Radwarrior 010,RAMPAGE=Rampage 001,RANDAMN=Randamn 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 100,SKYFOX=Skyfox 000,SNACK.ATTACK=Snack Attack 000,SNAKE.BYTE=Snake Byte 001,SNEAKERS=Sneakers 000,SNOGGLE=Snoggle 010,SOKO.BAN=Soko-Ban 100,SOLO.FLIGHT=Solo Flight 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 010,SS.BASEBALL=Street Sports Baseball 010,SS.BASKETBALL=Street Sports Basketball 010,SS.FOOTBALL=Street Sports Football 010,SS.SOCCER=Street Sports Soccer 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,SUMMER.GAMES=Summer Games 000,SUMMER.GAMES.II=Summer Games II 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 011,TECHNOCOP=TechnoCop 000,THEXDER=Thexder 000,THIEF=Thief 001,THRESHOLD=Threshold 000,THUNDERBOMBS=Thunder Bombs 100,TOMAHAWK=Tomahawk 000,TRACK.AND.FIELD=Track & Field 000,TRIAD=Triad 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 111,WINGS.OF.FURY=Wings of Fury 000,WINTER.GAMES=Winter Games 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 +0000,AGENT.USA=Agent U S A 1110,AIRHEART=Airheart 0001,ALCAZAR=Alcazar 1001,ALIEN.AMBUSH=Alien Ambush 0001,ALIEN.DOWNPOUR=Alien Downpour 0001,ALIEN.MUNCHIES=Alien Munchies 0001,ALIEN.TYPHOON=Alien Typhoon 0000,ANKH=Ankh 0001,CIDER.SPIDER=Apple Cider Spider 0001,APPLE.PANIC=Apple Panic 0001,AQUATRON=Aquatron 0000,ARGOS=Argos 1001,ARKANOID=Arkanoid 0001,ASTEROID.BLASTR=Asteroid Blaster 1001,AXIS.ASSASSIN=Axis Assassin 0000,AZTEC=Aztec 1111,BAD.DUDES=Bad Dudes 1000,BALLBLAZER=Ballblazer 1110,BATMAN=Batman 0001,BATTLE.CRUISER=Battle Cruiser 0001,BATTLEZONE=Battlezone 1001,BCS.QUEST=BC's Quest For Tires 0001,BEER.RUN=Beer Run 0100,BEJEWELED=Bejeweled 0000,BELLHOP=Bellhop 0001,BERZAP=Berzap 0000,BEYOND.WOLFEN=Beyond Castle Wolfenstein 0000,BUDGETRILOGY=Bill Budge's Trilogy 1000,BLACK.MAGIC=Black Magic 0000,BLISTER.BALL=Blister Ball 0000,BLOCKCHAIN=BlockChain 0001,BOLO=Bolo 0001,BOUNCING.KMNGAS=Bouncing Kamungas 0001,BRAINTEASERBLVD=Brainteaser Boulevard 1011,BRUCE.LEE=Bruce Lee 1001,BUBBLE.BOBBLE=Bubble Bobble 0001,BUCK.ROGERS=Buck Rogers: Planet of Zoom 0002,BURGERTIME=BurgerTime 0001,BUZZARD.BAIT=Buzzard Bait 0110,CALI.GAMES=California Games 0001,CANNONBALL.BLTZ=Cannonball Blitz 0001,CANYON.CLIMBER=Canyon Climber 0000,CAPTN.GOODNIGHT=Captain Goodnight 0000,WOLFEN84=Castle Wolfenstein 1001,CEILING.ZERO=Ceiling Zero 0001,CENTIPEDE=Centipede 0001,CHAMP.LODERUN=Championship Lode Runner 1000,CHOPLIFTER=Choplifter 0101,COMMANDO=Commando 0002,CONAN=Conan 0001,CONGO.BONGO=Congo Bongo 0001,CRAZY.MAZEY=Crazy Mazey 0001,CRIME.WAVE=Crime Wave 1001,CRISIS.MOUNTAIN=Crisis Mountain 0001,CROSSFIRE=Crossfire 0001,CUBIT=Cubit 0000,CYBERSTRIKE=Cyber Strike 0001,CYCLOD=Cyclod 1000,DAVIDS.MAGIC=David's Midnight Magic 0110,DEATH.SWORD=Death Sword 1001,DEFENDER=Defender 0110,D.GENERATION=D-Generation 0001,DIAMOND.MINE=Diamond Mine 0001,DIG.DUG=Dig Dug 1001,DINO.EGGS=Dino Eggs 1001,DONKEY.KONG=Donkey Kong 1001,DRELBS=Drelbs 0001,DROL=Drol 0000,DUNG.BEETLES=Dung Beetles 0001,EGGS.IT=Eggs-It 0000,EPOCH=Epoch 0001,FALCONS=Falcons 0001,FIREBIRD=Firebird 0100,FLAPPLE.BIRD=Flapple Bird 0000,FS2=Flight Simulator II 0000,FLIP.OUT=Flip Out 1101,FORCE.7=Force 7 1000,FORMULA.1=Formula 1 Racer 0001,FREE.FALL=Free Fall 0001,FROGGER=Frogger 1001,FROGGER.II=Frogger II 0001,GALAXY.GATES=Galaxy Gates 1001,GAMMA.GOBLINS=Gamma Goblins 0001,GENETIC.DRIFT=Genetic Drift 0001,GENIUS=Genius 0001,GENIUS.2=Genius 2 0001,GOLD.RUSH=Gold Rush 0001,GORGON=Gorgon 0001,GREMLINS=Gremlins 0001,GUARDIAN=Guardian 0000,GUMBALL=Gumball 0000,HADRON=Hadron 0001,HARD.HAT.MACK=Hard Hat Mack 0000,HEAD.ON=Head On 1110,HEAVY.BARREL=Heavy Barrel 1002,HERO=H E R O 0000,HIGH.RISE=High Rise 0000,HORIZON.V=Horizon V 0001,HUNGRYBOY=Hungry Boy 0000,HYPER.HEAD.ON=Hyper Head On 0100,IKARI.WARRIORS=Ikari Warriors 1000,IMPOSSIBLE.MISS=Impossible Mission 0110,INDIANA.JONES=Indiana Jones 1000,INTL.GRAN.PRIX=International Gran Prix 0001,JOUST=Joust 0000,JUGGLER=Juggler 0001,JUMPMAN=Jumpman 0000,JUNGLE.HUNT=Jungle Hunt 1000,KAMIKAZE=Kamikaze 0000,KARATEKA=Karateka 0001,KID.NIKI=Kid Niki 0000,LABYRINTH=Labyrinth 0001,LADY.TUT=Lady Tut 0001,LANCASTER=Lancaster 1000,LASER.BOUNCE=Laser Bounce 0001,LAZER.SILK=Lazer Silk 0001,LODE.RUNNER=Lode Runner 1000,LOST.TOMB=Lost Tomb 1000,MAD.BOMBER=Mad Bomber 1100,MARBLE.MADNESS=Marble Madness 0001,MARIO.BROS=Mario Bros. 1000,MINER.2049ER=Miner 2049er 1001,MINGS.CHALLENGE=Ming's Challenge 0001,MONTEZUMA=Montezuma's Revenge 0001,MOON.PATROL=Moon Patrol 0000,MR.COOL=Mr. Cool 1001,MR.DO=Mr. Do! 1001,MR.ROBOT=Mr. Robot 0001,MS.PACMAN=Ms. Pacman 0000,NIBBLER=Nibbler 1000,NIGHT.MISSION=Night Mission Pinball 0000,NIGHT.STALKER=Night Stalker 0000,NIGHTMARE=Nightmare Gallery 0000,NORAD=N O R A D 1000,ONE.ON.ONE=One on One 0000,ORBITRON=Orbitron 0000,ORILEYS.MINE=O'Riley's Mine 0000,OOTW=Out of This World 0000,OUTPOST=Outpost 0000,PAC.MAN=Pac-Man 0100,PAPERBOY=Paperboy 1001,PENETRATOR=Penetrator 0001,PEST.PATROL=Pest Patrol 1000,PHANTOMS.FIVE=Phantoms Five 0000,PHASER.FIRE=Phaser Fire 0000,PHOTAR=Photar 0000,PICNIC.PARANOIA=Picnic Paranoia 0000,PIEMAN=Pie-Man 0110,PIPEDREAM=Pipe Dream 1000,PITFALL.II=Pitfall II 0000,PITSTOP.II=Pitstop II 0000,PLASMANIA=Plasmania 1110,PLATOON=Platoon 0000,POLLYWOG=Pollywog 0001,POOYAN=Pooyan 0110,PRINCEUNP=Prince of Persia 1110,QIX=Qix 1000,QUADRANT.6112=Quadrant 6112 0110,RADWARRIOR=Radwarrior 0110,RAMPAGE=Rampage 0001,RANDAMN=Randamn 0000,RASTER.BLASTER=Raster Blaster 1000,RED.ALERT=Red Alert 1110,RENEGADE=Renegade 0000,REPTON=Repton 0000,RESCUE.RAIDERS=Rescue Raiders 0000,RIBBIT=Ribbit 0000,ROADBLOCK=Roadblock 0110,ROBOCOP=Robocop 0000,ROBOTRON=Robotron 2084 0000,RUSSKI.DUCK=Russki Duck 0000,SABOTAGE=Sabotage 0001,SAMMY.LIGHTFOOT=Sammy Lightfoot 0000,SEA.DRAGON=Sea Dragon 0000,SEAFOX=Seafox 0001,SERPENTINE=Serpentine 1000,SHAMUS=Shamus 0000,SHORT.CIRCUIT=Short Circuit 0000,SHUFFLEBOARD=Shuffleboard 0000,SITUATION.CRTCL=Situation Critical 1000,SKYFOX=Skyfox 0000,SNACK.ATTACK=Snack Attack 0000,SNAKE.BYTE=Snake Byte 0001,SNEAKERS=Sneakers 0000,SNOGGLE=Snoggle 0110,SOKO.BAN=Soko-Ban 1000,SOLO.FLIGHT=Solo Flight 1000,SPACE.EGGS=Space Eggs 0000,SPACE.QUARKS=Space Quarks 0000,SPACE.RAIDERS=Space Raiders 0000,SPARE.CHANGE=Spare Change 0000,SPDWAY.CLASSIC=Speedway Classic 0110,SPIDERBOT=Spiderbot 0000,SPIDER.RAID=Spider Raid 0000,SPY.HUNTER=Spy Hunter 0001,SPYS.DEMISE=Spy's Demise 0110,SS.BASEBALL=Street Sports Baseball 0110,SS.BASKETBALL=Street Sports Basketball 0110,SS.FOOTBALL=Street Sports Football 0110,SS.SOCCER=Street Sports Soccer 1000,STARBLASTER=Starblaster 0000,STAR.BLAZER=Star Blazer 1000,STARGATE=Stargate 0000,STAR.THIEF=Star Thief 0000,STELLAR.7=Stellar 7 0000,SUCCESSION=Succession 0000,SUICIDE=Suicide! 0000,SUMMER.GAMES=Summer Games 0000,SUMMER.GAMES.II=Summer Games II 0000,SWASHBUCKLER=Swashbuckler 0000,TAG.TEAM=Tag Team Wrestling 0001,TAPPER=Tapper 0111,TECHNOCOP=TechnoCop 0010,TETRIS=Tetris 0000,THE.BILESTOAD=The Bilestoad 0110,SUMMER.EDITION=The Games: Summer Edition 0110,WINTER.EDITION=The Games: Winter Edition 1000,GOONIES=The Goonies 0000,SPY.STRIKES.BAK=The Spy Strikes Back 0010,THEXDER=Thexder 0000,THIEF=Thief 0001,THRESHOLD=Threshold 0000,THUNDERBOMBS=Thunder Bombs 1000,TOMAHAWK=Tomahawk 0000,TRACK.AND.FIELD=Track & Field 0000,TRIAD=Triad 1001,TUBEWAY=Tubeway ][ 0000,TUNNEL.TERROR=Tunnel Terror 0001,TWERPS=Twerps 0001,UP.N.DOWN=Up'n Down 0110,VICTORY.ROAD=Victory Road 0000,VINDICATOR=Vindicator 0000,WARP.DESTROYER=Warp Destroyer 0001,WAVY.NAVY=Wavy Navy 1111,WINGS.OF.FURY=Wings of Fury 0000,WINTER.GAMES=Winter Games 1001,XEVIOUS=Xevious 1001,ZAXXON=Zaxxon 0000,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=1 if game has DHGR title, 0 is HGR # D=cheat mode category # 0=no cheats (yet!) # 1=infinite lives # 2=infinite lives & weapons # # all other values for A -> ignore entire line (allows inline comments) # A line beginning with '[' terminates the parsing # \ No newline at end of file diff --git a/src/parse.games.a b/src/parse.games.a index 6ac7b78f1..da07d8c3b 100644 --- a/src/parse.games.a +++ b/src/parse.games.a @@ -53,13 +53,17 @@ ParseGamesList @filterOnMemory jsr IncAndGetChar ; get second filter character ('1' if game requires 128K) cmp #$30 ; '0' -> no filtering on memory - beq @parseCheatsAvailable + beq @parseDHGRTitle cmp #$31 ; not '0' or '1' -> ignore entire line bne @skipLine bit zpMachineStatus bvc @skipLine ; game requires 128K but we only have 64K, so ignore entire line +@parseDHGRTitle + jsr IncAndGetChar ; get third character ('1' if game has DHGR title) + and #$01 + pha @parseCheatsAvailable - jsr IncAndGetChar ; get third character (cheat category, int) + jsr IncAndGetChar ; get fourth character (cheat category, int) and #$0F pha @swallowComma @@ -95,6 +99,7 @@ ParseGamesList pla ; pop cheat category dex ; X = new OKVS length - 1 sta gCheatsAvailable,x + pla ; pop DHGR title clc bcc @newkey ; always branches