diff --git a/res/GAMES.CONF b/res/GAMES.CONF index 0a031659f..325079a79 100755 --- a/res/GAMES.CONF +++ b/res/GAMES.CONF @@ -1 +1 @@ -0000,AGENT.USA=Agent U S A 1110,AIRHEART 0001,ALCAZAR 1001,ALIEN.AMBUSH=Alien Ambush 0001,ALIEN.DOWNPOUR=Alien Downpour 0001,ALIEN.MUNCHIES=Alien Munchies 0001,ALIEN.TYPHOON=Alien Typhoon 0000,ANKH 0001,CIDER.SPIDER=Apple Cider Spider 0001,APPLE.PANIC=Apple Panic 0001,AQUATRON 0000,ARGOS 1001,ARKANOID 0001,ASTEROID.BLASTR=Asteroid Blaster 1001,AXIS.ASSASSIN=Axis Assassin 0000,AZTEC 1111,BAD.DUDES=Bad Dudes 1000,BALLBLAZER 1110,BATMAN 0001,BATTLE.CRUISER=Battle Cruiser 0001,BATTLEZONE 1001,BCS.QUEST=BC's Quest For Tires 0001,BEER.RUN=Beer Run 0100,BEJEWELED 0000,BELLHOP 0001,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 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 0001,CHAMP.LODERUN=Championship Lode Runner 1000,CHOPLIFTER 0101,COMMANDO 0002,CONAN 0001,CONGO.BONGO=Congo Bongo 0001,CRAZY.MAZEY=Crazy Mazey 0001,CRIME.WAVE=Crime Wave 1001,CRISIS.MOUNTAIN=Crisis Mountain 0001,CROSSFIRE 0001,CUBIT 0000,CYBERSTRIKE=Cyber Strike 0001,CYCLOD 1000,DAVIDS.MAGIC=David's Midnight Magic 0110,DEATH.SWORD=Death Sword 1001,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 0001,DROL 0000,DUNG.BEETLES=Dung Beetles 0001,EGGS.IT=Eggs-It 0000,EPOCH 0001,FALCONS 0001,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 1001,FROGGER.II=Frogger II 0000,FUJI.SPEED.WAY=Fuji Crowded Speedway 0001,GALAXY.GATES=Galaxy Gates 1001,GAMMA.GOBLINS=Gamma Goblins 0101,GAUNTLET 0001,GENETIC.DRIFT=Genetic Drift 0001,GENIUS 0001,GENIUS.2=Genius 2 0001,GOLD.RUSH=Gold Rush 0001,GORGON 0001,GREMLINS 0001,GUARDIAN 0000,GUMBALL 0000,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 0000,JUGGLER 0001,JUMPMAN 0000,JUNGLE.HUNT=Jungle Hunt 1000,KAMIKAZE 0000,KARATEKA 0001,KID.NIKI=Kid Niki 0000,LABYRINTH 0001,LADY.TUT=Lady Tut 0001,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,MINER.2049.II=Miner 2049er II 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 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 0000,ORILEYS.MINE=O'Riley's Mine 0000,OOTW=Out of This World 0000,OUTPOST 0000,PAC.MAN=Pac-Man 0100,PAPERBOY 1001,PENETRATOR 0001,PEST.PATROL=Pest Patrol 1000,PHANTOMS.FIVE=Phantoms Five 0000,PHASER.FIRE=Phaser Fire 0000,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 1110,PLATOON 0000,POLLYWOG 0001,POOYAN 0110,PRINCEUNP=Prince of Persia 1110,QIX 1000,QUADRANT.6112=Quadrant 6112 0110,RADWARRIOR=Radwarrior 0110,RAMPAGE 0001,RANDAMN 0000,RASTER.BLASTER=Raster Blaster 1000,RED.ALERT=Red Alert 1110,RENEGADE=Renegade 0000,REPTON 0000,RESCUE.RAIDERS=Rescue Raiders 0000,RIBBIT 0000,ROADBLOCK 0110,ROBOCOP 0000,ROBOTRON=Robotron 2084 0000,RUSSKI.DUCK=Russki Duck 0000,SABOTAGE 0001,SAMMY.LIGHTFOOT=Sammy Lightfoot 0000,SEA.DRAGON=Sea Dragon 0000,SEAFOX 0001,SERPENTINE 1000,SHAMUS 0000,SHORT.CIRCUIT=Short Circuit 0000,SHUFFLEBOARD=Shuffleboard 0000,SITUATION.CRTCL=Situation Critical 1000,SKYFOX 0000,SNACK.ATTACK=Snack Attack 0000,SNAKE.BYTE=Snake Byte 0001,SNEAKERS 0000,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 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 0000,STAR.THIEF=Star Thief 0000,STATION.5=Station 5 0000,STELLAR.7=Stellar 7 0000,SUCCESSION 0000,SUICIDE=Suicide! 0000,SUMMER.GAMES=Summer Games 0000,SUMMER.GAMES.II=Summer Games II 1001,SUPER.ZAXXON=Super Zaxxon 0000,SWASHBUCKLER 0000,TAG.TEAM=Tag Team Wrestling 0001,TAPPER 0113,TECHNOCOP=TechnoCop 0010,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 0000,THIEF 0001,THRESHOLD 0000,THUNDERBOMBS=Thunder Bombs 1000,TOMAHAWK 0000,TRACK.AND.FIELD=Track & Field 0000,TRIAD 1001,TUBEWAY=Tubeway ][ 0000,TUNNEL.TERROR=Tunnel Terror 0001,TWERPS 0001,UP.N.DOWN=Up'n Down 0110,VICTORY.ROAD=Victory Road 0000,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 1001,ZAXXON 0000,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 # 3=invincibility # # all other values for A -> ignore entire line (allows inline comments) # A line beginning with '[' terminates the parsing # \ No newline at end of file +0000,AGENT.USA=Agent U S A 1110,AIRHEART 0001,ALCAZAR 1001,ALIEN.AMBUSH 0001,ALIEN.DOWNPOUR 0001,ALIEN.MUNCHIES 0001,ALIEN.TYPHOON 0000,ANKH 0001,CIDER.SPIDER=Apple Cider Spider 0001,APPLE.PANIC 0001,AQUATRON 0000,ARGOS 1001,ARKANOID 0001,ASTEROID.BLASTR=Asteroid Blaster 1001,AXIS.ASSASSIN 0000,AZTEC 1111,BAD.DUDES 1000,BALLBLAZER 1110,BATMAN 0001,BATTLE.CRUISER 0001,BATTLEZONE 1001,BCS.QUEST=BC's Quest For Tires 0001,BEER.RUN 0100,BEJEWELED 0000,BELLHOP 0001,BERZAP 0000,BEYOND.WOLFEN=Beyond Castle Wolfenstein 0000,BUDGETRILOGY=Bill Budge's Trilogy 1000,BLACK.MAGIC 0000,BLISTER.BALL 0000,BLOCKCHAIN=BlockChain 0001,BOLO 0001,BOUNCING.KMNGAS=Bouncing Kamungas 0001,BRAINTEASERBLVD=Brainteaser Boulevard 1011,BRUCE.LEE 1001,BUBBLE.BOBBLE 0001,BUCK.ROGERS=Buck Rogers: Planet of Zoom 0002,BURGERTIME=BurgerTime 0001,BUZZARD.BAIT 0110,CALI.GAMES=California Games 0001,CANNONBALL.BLTZ=Cannonball Blitz 0001,CANYON.CLIMBER 0000,CAPTN.GOODNIGHT=Captain Goodnight 0000,WOLFEN84=Castle Wolfenstein 1001,CEILING.ZERO 0001,CENTIPEDE 0001,CHAMP.LODERUN=Championship Lode Runner 1000,CHOPLIFTER 0101,COMMANDO 0002,CONAN 0001,CONGO.BONGO 0001,CRAZY.MAZEY 0001,CRIME.WAVE 1001,CRISIS.MOUNTAIN 0001,CROSSFIRE 0001,CUBIT 0000,CYBERSTRIKE=Cyber Strike 0001,CYCLOD 1000,DAVIDS.MAGIC=David's Midnight Magic 0110,DEATH.SWORD 1001,DEFENDER 0110,D.GENERATION=D-Generation 0001,DIAMOND.MINE 0001,DIG.DUG 1001,DINO.EGGS 1001,DONKEY.KONG 1001,DRELBS 0001,DROL 0000,DUNG.BEETLES 0001,EGGS.IT=Eggs-It 0000,EPOCH 0001,FALCONS 0001,FIREBIRD 0100,FLAPPLE.BIRD 0000,FS2=Flight Simulator II 0000,FLIP.OUT 1101,FORCE.7 1000,FORMULA.1=Formula 1 Racer 0001,FREE.FALL 0001,FROGGER 1001,FROGGER.II=Frogger II 0000,FUJI.SPEED.WAY=Fuji Crowded Speedway 0001,GALAXY.GATES 1001,GAMMA.GOBLINS 0101,GAUNTLET 0001,GENETIC.DRIFT 0001,GENIUS 0001,GENIUS.2 0001,GOLD.RUSH 0001,GORGON 0001,GREMLINS 0001,GUARDIAN 0000,GUMBALL 0000,HADRON 0001,HARD.HAT.MACK 0000,HEAD.ON 1110,HEAVY.BARREL 1002,HERO=H E R O 0000,HIGH.RISE 0000,HORIZON.V 0001,HUNGRYBOY 0000,HYPER.HEAD.ON 0100,IKARI.WARRIORS 1000,IMPOSSIBLE.MISS=Impossible Mission 0110,INDIANA.JONES 1000,INTL.GRAN.PRIX=International Gran Prix 0001,JOUST 0000,JUGGLER 0001,JUMPMAN 0000,JUNGLE.HUNT 1000,KAMIKAZE 0000,KARATEKA 0001,KID.NIKI 0000,LABYRINTH 0001,LADY.TUT 0001,LANCASTER 1000,LASER.BOUNCE 0001,LAZER.SILK 0001,LODE.RUNNER 1000,LOST.TOMB 1000,MAD.BOMBER 1100,MARBLE.MADNESS 0001,MARIO.BROS=Mario Bros. 1000,MINER.2049ER 1001,MINER.2049.II=Miner 2049er II 1001,MINGS.CHALLENGE=Ming's Challenge 0001,MONTEZUMA=Montezuma's Revenge 0001,MOON.PATROL 0000,MR.COOL=Mr. Cool 1001,MR.DO=Mr. Do! 1001,MR.ROBOT=Mr. Robot 0001,MS.PACMAN=Ms. Pacman 0000,NIBBLER 1000,NIGHT.MISSION=Night Mission Pinball 0000,NIGHT.STALKER 0000,NIGHTMARE=Nightmare Gallery 0000,NORAD=N O R A D 1000,ONE.ON.ONE=One on One 0000,ORBITRON 0000,ORILEYS.MINE=O'Riley's Mine 0000,OOTW=Out of This World 0000,OUTPOST 0000,PAC.MAN=Pac-Man 0100,PAPERBOY 1001,PENETRATOR 0001,PEST.PATROL 1000,PHANTOMS.FIVE 0000,PHASER.FIRE 0000,PHOTAR 0000,PICNIC.PARANOIA 0000,PIEMAN=Pie-Man 0110,PIPEDREAM=Pipe Dream 1000,PITFALL.II=Pitfall II 0000,PITSTOP.II=Pitstop II 0000,PLASMANIA 1110,PLATOON 0000,POLLYWOG 0001,POOYAN 0110,PRINCEUNP=Prince of Persia 1110,QIX 1000,QUADRANT.6112 0110,RADWARRIOR 0110,RAMPAGE 0001,RANDAMN 0000,RASTER.BLASTER 1000,RED.ALERT 1110,RENEGADE 0000,REPTON 0000,RESCUE.RAIDERS 0000,RIBBIT 0000,ROADBLOCK 0110,ROBOCOP 0000,ROBOTRON=Robotron 2084 0000,RUSSKI.DUCK 0000,SABOTAGE 0001,SAMMY.LIGHTFOOT 0000,SEA.DRAGON 0000,SEAFOX 0001,SERPENTINE 1000,SHAMUS 0000,SHORT.CIRCUIT 0000,SHUFFLEBOARD 0000,SITUATION.CRTCL=Situation Critical 1000,SKYFOX 0000,SNACK.ATTACK 0000,SNAKE.BYTE 0001,SNEAKERS 0000,SNOGGLE 0110,SOKO.BAN=Soko-Ban 1000,SOLO.FLIGHT 1000,SPACE.EGGS 0000,SPACE.QUARKS 0000,SPACE.RAIDERS 0000,SPARE.CHANGE 0000,SPDWAY.CLASSIC=Speedway Classic 0110,SPIDERBOT 0000,SPIDER.RAID 0000,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 0000,STAR.BLAZER 1000,STARGATE 0000,STAR.THIEF 0000,STATION.5 0000,STELLAR.7 0000,SUCCESSION 0000,SUICIDE=Suicide! 0000,SUMMER.GAMES 0000,SUMMER.GAMES.II=Summer Games II 1001,SUPER.ZAXXON 0000,SWASHBUCKLER 0000,TAG.TEAM=Tag Team Wrestling 0001,TAPPER 0113,TECHNOCOP=TechnoCop 0010,TETRIS 0000,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 0000,THIEF 0001,THRESHOLD 0000,THUNDERBOMBS=Thunder Bombs 1000,TOMAHAWK 0000,TRACK.AND.FIELD=Track & Field 0000,TRIAD 1001,TUBEWAY=Tubeway ][ 0000,TUNNEL.TERROR 0001,TWERPS 0001,UP.N.DOWN=Up'n Down 0110,VICTORY.ROAD 0000,VINDICATOR 0000,WARP.DESTROYER 0001,WAVY.NAVY 1111,WINGS.OF.FURY=Wings of Fury 0000,WINTER.GAMES 1001,XEVIOUS 1001,ZAXXON 0000,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 # 3=invincibility # # 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/constants.a b/src/constants.a index e32164f56..0ab585523 100644 --- a/src/constants.a +++ b/src/constants.a @@ -6,10 +6,10 @@ ; YE OLDE GRAND UNIFIED MEMORY MAP ; ; LC RAM BANK 1 -; D000..E694 - persistent data structures (per-game cheat categories, +; D000..E27D - persistent data structures (per-game cheat categories, ; gGlobalPrefsStore, gGamesListStore) ; ...unused... -; EAB9..FFF9 - main program code +; EAAC..FFF9 - main program code ; FFFA..FFFF - NMI, reset, IRQ vectors ; ; LC RAM BANK 2 diff --git a/src/glue.launch.a b/src/glue.launch.a index 459de435f..25604e7c5 100644 --- a/src/glue.launch.a +++ b/src/glue.launch.a @@ -106,12 +106,19 @@ GetGameDisplayName sty @len sty gValLen lda #$24 ; BIT opcode - sta @or + sta @or ; first character remains capitalized ldy #1 - lda (SAVE), y + cmp #$2E + bne @or + lda #$20 ; convert '.' to ' ' @or ora #$20 ; SMC (opcode) sta gValLen, y - lda #$09 ; OR opcode + cmp #$20 + bne + + lda #$24 ; first character after ' ' remains capitalized + +HIDE_NEXT_2_BYTES ++ lda #$09 ; OR opcode sta @or @next iny @len=*+1