From 57bf121c06c1289d060a9824faf7716eaa765e0c Mon Sep 17 00:00:00 2001 From: smesgr9000 Date: Sat, 27 Apr 2024 09:59:36 +0200 Subject: [PATCH] replace 2600 cart selection code with code used in NES, COLV & INTV --- Cart_Reader/2600.ino | 282 ++---- Cart_Reader/7800.ino | 11 - sd/2600.txt | 1973 +++++++++++++++++++++++++++++++----------- 3 files changed, 1537 insertions(+), 729 deletions(-) diff --git a/Cart_Reader/2600.ino b/Cart_Reader/2600.ino index 3a7fb46..831640e 100644 --- a/Cart_Reader/2600.ino +++ b/Cart_Reader/2600.ino @@ -47,7 +47,6 @@ int a2600index; byte a2600[] = { 2, 4, 8, 12, 16, 32, 64 }; byte a2600mapper = 0; -byte new2600mapper; byte a2600size; // EEPROM MAPPING @@ -110,7 +109,6 @@ void a2600Menu() { case 0: // Select Cart setCart_2600(); - wait(); setup_2600(); break; @@ -686,6 +684,7 @@ void displayMapperSelect_2600(uint8_t index, boolean printInstructions) { #endif void setMapper_2600() { + byte new2600mapper; #if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) uint8_t b = 0; int i = 0; @@ -794,252 +793,87 @@ setmapper: // CART SELECT CODE //****************************************** -FsFile a2600csvFile; -char a2600game[36]; // title -char a2600mm[4]; // mapper -char a2600ll[4]; // linelength (previous line) -unsigned long a2600csvpos; // CSV File Position -char a2600cartCSV[] = "2600.txt"; // CSV List -char a2600csvEND[] = "EOF"; // CSV End Marker for scrolling +void setCart_2600() { + //go to root + sd.chdir(); -bool readLine_ATARI(FsFile& f, char* line, size_t maxLen) { - for (size_t n = 0; n < maxLen; n++) { - int c = f.read(); - if (c < 0 && n == 0) return false; // EOF - if (c < 0 || c == '\n') { - line[n] = 0; - return true; - } - line[n] = c; - } - return false; // line too long -} + char gamename[100]; + byte gameMapper; + byte gameSize; -bool readVals_ATARI(char* a2600game, char* a2600mm, char* a2600ll) { - char line[42]; - a2600csvpos = a2600csvFile.position(); - if (!readLine_ATARI(a2600csvFile, line, sizeof(line))) { - return false; // EOF or too long - } - char* comma = strtok(line, ","); - int x = 0; - while (comma != NULL) { - if (x == 0) - strcpy(a2600game, comma); - else if (x == 1) - strcpy(a2600mm, comma); - else if (x == 2) - strcpy(a2600ll, comma); - comma = strtok(NULL, ","); - x += 1; - } - return true; -} + // Select starting letter + byte myLetter = starting_letter(); -bool getCartListInfo_2600() { - bool buttonreleased = 0; - bool cartselected = 0; -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - display_Clear(); - println_Msg(F(" HOLD TO FAST CYCLE")); - display_Update(); -#else - Serial.println(F("HOLD BUTTON TO FAST CYCLE")); -#endif - delay(2000); -#if defined(ENABLE_OLED) - buttonVal1 = (PIND & (1 << 7)); // PD7 -#elif defined(ENABLE_LCD) - boolean buttonVal1 = (PING & (1 << 2)); //PG2 -#endif - if (buttonVal1 == LOW) { // Button Held - Fast Cycle - while (1) { // Scroll Game List - while (readVals_ATARI(a2600game, a2600mm, a2600ll)) { - if (strcmp(a2600csvEND, a2600game) == 0) { - a2600csvFile.seek(0); // Restart - } else { -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - display_Clear(); - println_Msg(F("CART TITLE:")); - println_Msg(FS(FSTRING_EMPTY)); - println_Msg(a2600game); - display_Update(); -#else - Serial.print(F("CART TITLE:")); - Serial.println(a2600game); -#endif -#if defined(ENABLE_OLED) - buttonVal1 = (PIND & (1 << 7)); // PD7 -#elif defined(ENABLE_LCD) - buttonVal1 = (PING & (1 << 2)); //PG2 -#endif - if (buttonVal1 == HIGH) { // Button Released - buttonreleased = 1; - break; - } - if (buttonreleased) { - buttonreleased = 0; // Reset Flag - break; - } - } - } -#if defined(ENABLE_OLED) - buttonVal1 = (PIND & (1 << 7)); // PD7 -#elif defined(ENABLE_LCD) - buttonVal1 = (PING & (1 << 2)); //PG2 -#endif - if (buttonVal1 == HIGH) // Button Released - break; - } - } -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - display.setCursor(0, 56); - println_Msg(F("FAST CYCLE OFF")); - display_Update(); -#else - Serial.println(FS(FSTRING_EMPTY)); - Serial.println(F("FAST CYCLE OFF")); - Serial.println(F("PRESS BUTTON TO STEP FORWARD")); - Serial.println(F("DOUBLE CLICK TO STEP BACK")); - Serial.println(F("HOLD TO SELECT")); - Serial.println(FS(FSTRING_EMPTY)); -#endif - while (readVals_ATARI(a2600game, a2600mm, a2600ll)) { - if (strcmp(a2600csvEND, a2600game) == 0) { - a2600csvFile.seek(0); // Restart - } else { -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) + // Open database + if (myFile.open("2600.txt", O_READ)) { + seek_first_letter_in_database(myFile, myLetter); + + // Display database + while (myFile.available()) { display_Clear(); - println_Msg(F("CART TITLE:")); + + get_line(gamename, &myFile, sizeof(gamename)); + + // Read mapper with three ascii character and subtract 48 to convert to decimal + gameMapper = ((myFile.read() - 48) * 100) + ((myFile.read() - 48) * 10) + (myFile.read() - 48); + + // Skip rest of line + myFile.seekCur(2); + + skip_line(&myFile); + + println_Msg(F("Select your cartridge")); println_Msg(FS(FSTRING_EMPTY)); - println_Msg(a2600game); - display.setCursor(0, 48); + println_Msg(gamename); + #if defined(ENABLE_OLED) print_STR(press_to_change_STR, 1); print_STR(right_to_select_STR, 1); #elif defined(ENABLE_LCD) print_STR(rotate_to_change_STR, 1); print_STR(press_to_select_STR, 1); +#elif defined(SERIAL_MONITOR) + println_Msg(F("U/D to Change")); + println_Msg(F("Space to Select")); #endif display_Update(); -#else - Serial.print(F("CART TITLE:")); - Serial.println(a2600game); -#endif - while (1) { // Single Step - uint8_t b = checkButton(); - if (b == 1) { // Continue (press) + + uint8_t b = 0; + while (1) { + // Check button input + b = checkButton(); + + // Next + if (b == 1) { break; } - if (b == 2) { // Reset to Start of List (doubleclick) - byte prevline = strtol(a2600ll, NULL, 10); - a2600csvpos -= prevline; - a2600csvFile.seek(a2600csvpos); + + // Previous + else if (b == 2) { + rewind_line(myFile, 6); break; } - if (b == 3) { // Long Press - Select Cart (hold) - new2600mapper = strtol(a2600mm, NULL, 10); - EEPROM_writeAnything(7, new2600mapper); - cartselected = 1; // SELECTION MADE -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - println_Msg(F("SELECTION MADE")); - display_Update(); -#else - Serial.println(F("SELECTION MADE")); -#endif + + // Selection + else if (b == 3) { + EEPROM_writeAnything(7, gameMapper); + for (int i = 0; i < a2600mapcount; i++) { + a2600index = i * 2; + if (gameMapper == pgm_read_byte(a2600mapsize + a2600index)) { + a2600size = pgm_read_byte(a2600mapsize + a2600index + 1); + EEPROM_writeAnything(8, a2600size); + break; + } + } + myFile.close(); break; } } - if (cartselected) { - cartselected = 0; // Reset Flag - return true; - } } - } -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - println_Msg(FS(FSTRING_EMPTY)); - println_Msg(FS(FSTRING_END_OF_FILE)); - display_Update(); -#else - Serial.println(FS(FSTRING_END_OF_FILE)); -#endif - - return false; -} - -void checkCSV_2600() { - if (getCartListInfo_2600()) { -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - display_Clear(); - println_Msg(FS(FSTRING_CART_SELECTED)); - println_Msg(FS(FSTRING_EMPTY)); - println_Msg(a2600game); - display_Update(); - // Display Settings - display.setCursor(0, 56); - print_Msg(F("CODE: ")); - println_Msg(new2600mapper, HEX); - display_Update(); -#else - Serial.println(FS(FSTRING_EMPTY)); - Serial.println(FS(FSTRING_CART_SELECTED)); - Serial.println(a2600game); - // Display Settings - Serial.print(F("CODE: ")); - Serial.println(new2600mapper, HEX); - Serial.println(FS(FSTRING_EMPTY)); -#endif } else { -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - display.setCursor(0, 56); - println_Msg(FS(FSTRING_NO_SELECTION)); - display_Update(); -#else - Serial.println(FS(FSTRING_NO_SELECTION)); -#endif + print_FatalError(F("Database file not found")); } } - -void checkSize_2600() { - EEPROM_readAnything(7, a2600mapper); - for (int i = 0; i < a2600mapcount; i++) { - a2600index = i * 2; - if (a2600mapper == pgm_read_byte(a2600mapsize + a2600index)) { - a2600size = pgm_read_byte(a2600mapsize + a2600index + 1); - EEPROM_writeAnything(8, a2600size); - break; - } - } -} - -void setCart_2600() { -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - display_Clear(); - println_Msg(a2600cartCSV); - display_Update(); -#endif - sd.chdir(); - sprintf(folder, "2600/CSV"); - sd.chdir(folder); // Switch Folder - a2600csvFile = sd.open(a2600cartCSV, O_READ); - if (!a2600csvFile) { -#if (defined(ENABLE_OLED) || defined(ENABLE_LCD)) - display_Clear(); - println_Msg(F("CSV FILE NOT FOUND!")); - display_Update(); -#else - Serial.println(F("CSV FILE NOT FOUND!")); -#endif - while (1) { - if (checkButton() != 0) - setup_2600(); - } - } - checkCSV_2600(); - a2600csvFile.close(); - - checkSize_2600(); -} #endif //****************************************** // End of File diff --git a/Cart_Reader/7800.ino b/Cart_Reader/7800.ino index 4f159d4..d2b454b 100644 --- a/Cart_Reader/7800.ino +++ b/Cart_Reader/7800.ino @@ -781,17 +781,6 @@ setmapper: //****************************************** // CART SELECT CODE //****************************************** -void checkSize_7800() { - EEPROM_readAnything(7, a7800mapper); - for (int i = 0; i < a7800mapcount; i++) { - a7800index = i * 3; - if (a7800mapper == pgm_read_byte(a7800mapsize + a7800index)) { - a7800size = pgm_read_byte(a7800mapsize + a7800index + 1); - EEPROM_writeAnything(8, a7800size); - break; - } - } -} void setCart_7800() { //go to root diff --git a/sd/2600.txt b/sd/2600.txt index 1b45bb8..e77a8d2 100644 --- a/sd/2600.txt +++ b/sd/2600.txt @@ -1,494 +1,1479 @@ -32 in 1,240,0 -3-D Tic-Tac-Toe,32,15 -Acid Drop,246,23 -Action Force,64,18 -Adventure,64,20 -Adventures of TRON,64,17 -Air Raid,64,26 -Air Raiders,64,16 -Airlock,64,19 -Air-Sea Battle,32,15 -AKA Space Adventure,64,22 -Alien,64,27 -Alpha Beam with Ernie,248,13 -Amidar,64,30 -Armor Ambush,64,14 -Artillery Duel,248,20 -Assault,64,23 -Asterix,248,15 -Asteroids,248,16 -Astroblast,64,18 -Atari Video Cube,64,18 -Atlantis,64,24 -Atlantis II,64,16 -Bachelor Party,64,19 -Bachelorette Party,64,22 -Backgammon,64,26 -Bank Heist,64,18 -Barnstorming,64,18 -Base Attack,64,20 -Basic Math,32,19 -BASIC Programming,64,18 -Basketball,32,25 -Battlezone,248,18 -Beamrider,248,19 -Beany Bopper,64,18 -Beat 'Em & Eat 'Em,64,20 -Berenstain Bears,248,26 -Bermuda,64,25 -Bermuda Triangle,64,15 -Berzerk,64,24 -Big Bird's Egg Catch,248,15 -Blackjack,32,29 -Blueprint,248,17 -BMX Air Master,246,18 -Bobby Is Going Home,64,23 -Boing!,64,27 -Bowling,32,14 -Boxing,32,15 -Brain Games,32,14 -Breakout,32,19 -Bridge,64,16 -Buck Rogers - Planet of Zoom,248,14 -Bugs,64,37 -Bump 'n' Jump,231,12 -Bumper Bash,64,22 -BurgerTime,231,19 -Burning Desire,64,19 -Cakewalk,64,22 -California Games,246,16 -Canyon Bomber,32,25 -Carnival,64,21 -Casino,64,16 -Cat Trax,64,14 -Cathouse Blues,64,16 -Centipede,248,22 -Challenge,248,18 -Challenge of.... Nexar,64,18 -Chase the Chuckwagon,64,30 -Checkers,32,28 -China Syndrome,64,16 -Chopper Command,64,22 -Chuck Norris Superkicks,248,23 -Circus Atari,64,32 -Coco Nuts,64,20 -Codebreaker,32,17 -Combat,32,19 -Commando,246,14 -Commando Raid,64,17 -Condor Attack,64,21 -Confrontation,64,21 -Congo Bongo,248,21 -Cookie Monster Munch,248,20 -Cosmic Ark,64,29 -Cosmic Commuter,64,18 -Cosmic Corridor,64,23 -Cosmic Creeps,64,23 -Cosmic Swarm,32,21 -Crackpots,64,20 -Crash Dive,64,17 -Crazy Climber,248,18 -Cross Force,64,22 -Crossbow,246,19 -Crypts of Chaos,64,17 -Crystal Castles,246,23 -Cubicolor,64,24 -Cubo Magico,64,17 -Custer's Revenge,64,19 -Dancing Plate,64,24 -Dark Cavern,64,21 -Dark Chambers,246,19 -Dark Mage,248,22 -Deadly Duck,64,18 -Death Trap,64,19 -Decathlon,254,18 -Defender,64,18 -Defender II,248,16 -Demolition Herby,64,20 -Demon Attack,64,24 -Demons to Diamonds,64,20 -Desert Falcon,246,26 -Dice Puzzle,64,22 -Dig Dug,246,19 -Dishaster,64,16 -Dodge 'Em,64,17 -Dolphin,64,17 -Donald Duck's Speedboat,248,15 -Donkey Kong,64,32 -Donkey Kong Jr,248,19 -Double Dragon,246,23 -Double Dunk,246,22 -Dragon Defender,64,20 -Dragonfire,64,23 -Dragster,32,18 -Dukes of Hazzard,246,16 -E.T.,248,25 -Earth Dies Screaming,64,13 -Eggomania,64,28 -Elevator Action,248,17 -Eli's Ladder,64,24 -Encounter at L-5,64,20 -Enduro,64,24 -Entombed,64,14 -Espial,63,16 -Exocet,64,14 -Extra Terrestrials,64,14 -Fantastic Voyage,64,26 -Farmyard Fun,64,24 -Fast Eddie,64,20 -Fast Food,64,18 -Fatal Run,244,17 -Fathom,248,18 -Fighter Pilot,246,15 -Final Approach,64,22 -Fire Fighter,64,22 -Fire Fly,64,20 -Fishing Derby,32,16 -Flag Capture,32,21 -Flash Gordon,64,20 -Football,32,20 -Forest,64,16 -Frankenstein's Monster,64,14 -Freeway,32,30 -Frisco,64,15 -Frog Pond,248,14 -Frogger,64,18 -Frogger II,224,15 -Frogs and Flies,64,19 -Front Line,248,23 -Frostbite,64,19 -G.I. Joe,64,17 -Galaxian,248,16 -Gamma Attack,32,17 -Gangster Alley,64,20 -Gas Hog,64,22 -Gauntlet,64,15 -Ghost Manor,248,16 -Ghostbusters,248,20 -Ghostbusters II,246,21 -Gigolo,64,24 -Glacier Patrol,64,14 -Glib,64,22 -Golf,32,12 -Gopher,64,12 -Gorf,64,14 -Grand Prix,246,12 -Gravitar,248,19 -Great Escape,64,17 -Gremlins,248,20 -Guardian,64,17 -Gyruss,224,16 -H.E.R.O.,248,15 -Halloween,64,17 -Hangman,64,17 -Harbor Escape,64,15 -Haunted House,64,21 -Hole Hunter,64,21 -Home Run,32,19 -Human Cannonball,32,16 -Hunt & Score,32,24 -I Want My Mommy,64,20 -Ice Hockey,64,23 -Ikari Warriors,246,18 -Indy 500,32,23 -Infiltrate,64,16 -International Soccer,64,18 -IQ 180,64,28 -James Bond 007,224,14 -Jaw Breaker,64,23 -Journey Escape,64,19 -Joust,248,22 -JoustPong,64,14 -Jr. Pac-Man,246,17 -Jungle Fever,64,20 -Jungle Hunt,248,20 -Kaboom!,32,20 -Kangaroo,248,15 -Karate,64,17 -Keystone Kapers,64,14 -King Kong,64,23 -Klax,246,17 -Knight on the Town,64,13 -Kool-Aid Man,64,26 -Krull,248,20 -Kung Fu Superkicks,248,14 -Kung-Fu Master,248,27 -Lady in Wading,64,23 -Laser Blast,32,22 -Laser Gates,64,19 -Lilly Advenure,64,19 -Lochjaw,64,22 -Lock 'n' Chase,64,15 -London Blitz,64,22 -Lost Luggage,64,20 -M.A.D.,64,20 -M.A.S.H,64,14 -MagiCard,192,15 -Malagai,64,17 -Mangia',64,15 -Marauder,64,15 -Marine Wars,64,16 -Mario Bros.,248,19 -Master Builder,64,20 -Masters of the Universe,231,22 -Math Gran Prix,64,32 -Maze Craze,64,22 -Mega Force,64,18 -MegaBoy,240,18 -MegaMania,64,16 -Midnight Magic,246,17 -Millipede,246,23 -Mind Maze,248,18 -Miner 2049er,63,18 -Miner 2049er Volume II,63,20 -Mines of Minos,64,30 -Miniature Golf,32,22 -Miss Piggy's Wedding,248,22 -Missile Command,64,29 -Missile Control,64,23 -Mission 3000 A.D.,64,23 -Mission Survive,64,25 -Mogul Maniac,64,23 -Montezuma's Revenge,224,20 -Moon Patrol,248,28 -Moonsweeper,248,20 -Motocross,64,20 -Motocross Racer,248,17 -MotoRodeo,246,24 -Mountain King,250,18 -Mouse Trap,64,22 -Mr. Do!,248,18 -Mr. Do!'s Castle,224,16 -Mr. Postman,64,25 -Ms. Pac-Man,248,19 -Music Machine,64,20 -My Golf,248,21 -Name This Game,64,16 -Night Driver,32,22 -Night Stalker,64,20 -Nightmare,64,21 -No Escape!,64,17 -Nuts,64,18 -Obelix,248,12 -Off the Wall,246,15 -Oink!,64,21 -Omega Race,250,13 -Open Sesame,64,19 -Oscar's Trash Race,248,19 -Othello,32,27 -Out of Control,64,15 -Outlaw,32,22 -Pac-Kong,64,14 -Pac-Man,64,16 -Panda Chase,64,15 -Parachute,64,19 -Pele's Soccer,64,17 -Pengo,248,21 -Pepsi Invaders,64,14 -Pete Rose Baseball,246,22 -Phantom Tank,64,27 -Pharaoh's Curse,64,20 -Philly Flasher,64,23 -Phoenix,248,22 -Pick 'n' Pile,246,16 -Picnic,64,22 -Piece o' Cake,64,14 -Pigs in Space,248,21 -Pitfall II,208,22 -Pitfall!,64,19 -Planet Patrol,64,16 -Plaque Attack,64,21 -Polaris,63,21 -Pole Position,248,15 -Polo,32,22 -Pompeii,64,12 -Pooyan,64,15 -Popeye,224,14 -Porky's,248,15 -Pressure Cooker,248,16 -Private Eye,248,24 -Pyramid War,64,20 -Q-bert,64,19 -Q-bert's Qubes,224,14 -Quadrun,248,23 -Quest for Quintana Roo,248,16 -Quick Step!,64,31 -Rabbit Transit,248,19 -Racing Car,64,23 -Racquetball,64,18 -Radar Lock,246,19 -Raft Rider,64,19 -Raiders of the Lost Ark,248,18 -Ram It,64,32 -Rampage!,246,14 -Raumpatrouille,64,17 -Reactor,64,22 -RealSports Baseball,248,15 -RealSports Boxing,246,28 -RealSports Football,248,26 -RealSports Soccer,248,28 -RealSports Tennis,248,26 -RealSports Volleyball,64,26 -Rescue Terra I,64,29 -Resgate Espacial,248,22 -Revenge of the Beefsteak Tomatoes,64,25 -Riddle of the Sphinx,64,41 -River Patrol,63,28 -River Raid,64,20 -River Raid II,246,18 -Road Runner,246,22 -Robin Hood,248,20 -Robot Tank,254,19 -Roc 'n Rope,248,19 -Room of Doom,64,20 -Rubik's Cube,64,20 -Save Our Ship,64,20 -Scuba Diver,64,21 -Sea Hawk,64,19 -Sea Hunt,64,16 -Sea Monster,64,16 -Seaquest,64,19 -Secret Quest,246,16 -Sentinel,246,21 -Shark Attack,64,17 -Shootin' Gallery,64,20 -Shuttle Orbiter,64,24 -Sir Lancelot,248,23 -Skate Boardin',248,21 -Skeet Shoot,32,23 -Ski Hunt,64,19 -Ski Run,64,16 -Skiing,32,15 -Sky Diver,32,14 -Sky Jinks,32,17 -Sky Skipper,64,17 -Slot Machine,32,19 -Slot Racers,32,20 -Smurf Rescue in Gargamels Castle,248,19 -Smurfs Save the Day,248,41 -Sneak 'n Peek,64,28 -Snoopy and the Red Baron,248,21 -Solar Fox,248,33 -Solar Storm,64,18 -Solaris,246,19 -Sorcerer,64,16 -Sorcerer's Apprentice,248,16 -Space Attack,64,30 -Space Canyon,64,20 -Space Cavern,64,20 -Space Invaders,64,20 -Space Jockey,32,22 -Space Shuttle,248,20 -Space Tunnel,64,22 -Space War,32,20 -Spacechase,64,17 -SpaceMaster X-7,64,18 -Spider Fighter,64,23 -Spider Maze,64,22 -Spider-Man,64,19 -Spike's Peak,248,18 -Spitfire Attack,64,21 -Springer,63,23 -Sprint Master,246,16 -Spy Hunter,248,22 -Squeeze Box,64,19 -Squirrel,64,19 -Sssnake,64,16 -Stampede,32,15 -Star Fox,64,16 -Star Raiders,248,16 -Star Ship,32,21 -Star Strike,64,17 -Star Trek,248,19 -Star Voyager,64,18 -Star Wars - Arcade Game,224,20 -Star Wars - Death Star Battle,224,32 -Star Wars - Empire Strikes Back,64,38 -Star Wars - Jedi Arena,64,39 -Stargate,246,30 -Stargunner,64,17 -StarMaster,64,18 -Steeplechase,32,18 -Stellar Track,64,20 -Strategy X,64,21 -Strawberry Shortcake,64,18 -Street Racer,32,28 -Stronghold,64,20 -Stunt Man,64,18 -Submarine Commander,64,17 -Sub-Scan,64,27 -Subterranea,248,16 -Summer Games,246,20 -Super Baseball,246,21 -Super Breakout,64,23 -Super Challenge Baseball,64,22 -Super Challenge Football,64,32 -Super Cobra,224,32 -Super Football,248,20 -Superman,64,23 -Surfer's Paradise,64,16 -Surround,32,25 -Survival Run,64,16 -SwordQuest - EarthWorld,248,20 -SwordQuest - FireWorld,248,32 -SwordQuest - WaterWorld,248,31 -Tac-Scan,64,32 -Tanks But No Tanks,64,16 -Tapeworm,64,26 -Tapper,248,16 -Tax Avoiders,248,15 -Taz,248,21 -Tempest,248,12 -Tennis,32,16 -Texas Chainsaw Massacre,64,14 -Threshold,64,31 -Thunderground,64,17 -Time Pilot,249,21 -Time Warp,64,19 -Title Match Pro Wrestling,248,17 -Tomarc the Barbarian,248,34 -Tomcat,246,29 -Tooth Protectors,224,15 -Towering Inferno,64,25 -Track and Field,246,24 -Treasure Below,64,24 -Treasure Island,64,22 -Trick Shot,64,23 -TRON - Deadly Discs,64,18 -Tunnel Runner,250,27 -Turmoil,64,22 -Tutankham,224,15 -Universal Chaos,64,18 -Up 'n Down,248,23 -Vanguard,248,19 -Venture,64,17 -Video Checkers,64,15 -Video Chess,64,22 -Video Jogger,64,19 -Video Life,32,20 -Video Olympics,32,18 -Video Pinball,64,22 -Video Reflex,64,21 -Vogel Flieh,64,20 -Vulture Attack,64,19 -Wabbit,64,22 -Walker,64,14 -Wall Ball,64,14 -Wall Break,64,17 -Wall-Defender,64,18 -Warlords,64,21 -Warplock,64,16 -Wing War,248,16 -Wings,250,17 -Winter Games,246,14 -Wizard of Wor,64,21 -Word Zapper,64,21 -World End,64,19 -Worm War I,64,17 -Xenophobe,246,18 -X-Man,64,18 -Yars' Revenge,64,13 -Zaxxon,248,21 -Zoo Fun,64,15 -Z-Tack,64,15 -EOF,0,0 +32 in 1 +240 + +3-D Tic-Tac-Toe +032 + +Acid Drop +246 + +Action Force +064 + +Adventure +064 + +Adventures of TRON +064 + +Air Raid +064 + +Air Raiders +064 + +Airlock +064 + +Air-Sea Battle +032 + +AKA Space Adventure +064 + +Alien +064 + +Alpha Beam with Ernie +248 + +Amidar +064 + +Armor Ambush +064 + +Artillery Duel +248 + +Assault +064 + +Asterix +248 + +Asteroids +248 + +Astroblast +064 + +Atari Video Cube +064 + +Atlantis +064 + +Atlantis II +064 + +Bachelor Party +064 + +Bachelorette Party +064 + +Backgammon +064 + +Bank Heist +064 + +Barnstorming +064 + +Base Attack +064 + +Basic Math +032 + +BASIC Programming +064 + +Basketball +032 + +Battlezone +248 + +Beamrider +248 + +Beany Bopper +064 + +Beat 'Em & Eat 'Em +064 + +Berenstain Bears +248 + +Bermuda +064 + +Bermuda Triangle +064 + +Berzerk +064 + +Big Bird's Egg Catch +248 + +Blackjack +032 + +Blueprint +248 + +BMX Air Master +246 + +Bobby Is Going Home +064 + +Boing! +064 + +Bowling +032 + +Boxing +032 + +Brain Games +032 + +Breakout +032 + +Bridge +064 + +Buck Rogers - Planet of Zoom +248 + +Bugs +064 + +Bump 'n' Jump +231 + +Bumper Bash +064 + +BurgerTime +231 + +Burning Desire +064 + +Cakewalk +064 + +California Games +246 + +Canyon Bomber +032 + +Carnival +064 + +Casino +064 + +Cat Trax +064 + +Cathouse Blues +064 + +Centipede +248 + +Challenge +248 + +Challenge of.... Nexar +064 + +Chase the Chuckwagon +064 + +Checkers +032 + +China Syndrome +064 + +Chopper Command +064 + +Chuck Norris Superkicks +248 + +Circus Atari +064 + +Coco Nuts +064 + +Codebreaker +032 + +Combat +032 + +Commando +246 + +Commando Raid +064 + +Condor Attack +064 + +Confrontation +064 + +Congo Bongo +248 + +Cookie Monster Munch +248 + +Cosmic Ark +064 + +Cosmic Commuter +064 + +Cosmic Corridor +064 + +Cosmic Creeps +064 + +Cosmic Swarm +032 + +Crackpots +064 + +Crash Dive +064 + +Crazy Climber +248 + +Cross Force +064 + +Crossbow +246 + +Crypts of Chaos +064 + +Crystal Castles +246 + +Cubicolor +064 + +Cubo Magico +064 + +Custer's Revenge +064 + +Dancing Plate +064 + +Dark Cavern +064 + +Dark Chambers +246 + +Dark Mage +248 + +Deadly Duck +064 + +Death Trap +064 + +Decathlon +254 + +Defender +064 + +Defender II +248 + +Demolition Herby +064 + +Demon Attack +064 + +Demons to Diamonds +064 + +Desert Falcon +246 + +Dice Puzzle +064 + +Dig Dug +246 + +Dishaster +064 + +Dodge 'Em +064 + +Dolphin +064 + +Donald Duck's Speedboat +248 + +Donkey Kong +064 + +Donkey Kong Jr +248 + +Double Dragon +246 + +Double Dunk +246 + +Dragon Defender +064 + +Dragonfire +064 + +Dragster +032 + +Dukes of Hazzard +246 + +E.T. +248 + +Earth Dies Screaming +064 + +Eggomania +064 + +Elevator Action +248 + +Eli's Ladder +064 + +Encounter at L-5 +064 + +Enduro +064 + +Entombed +064 + +Espial +063 + +Exocet +064 + +Extra Terrestrials +064 + +Fantastic Voyage +064 + +Farmyard Fun +064 + +Fast Eddie +064 + +Fast Food +064 + +Fatal Run +244 + +Fathom +248 + +Fighter Pilot +246 + +Final Approach +064 + +Fire Fighter +064 + +Fire Fly +064 + +Fishing Derby +032 + +Flag Capture +032 + +Flash Gordon +064 + +Football +032 + +Forest +064 + +Frankenstein's Monster +064 + +Freeway +032 + +Frisco +064 + +Frog Pond +248 + +Frogger +064 + +Frogger II +224 + +Frogs and Flies +064 + +Front Line +248 + +Frostbite +064 + +G.I. Joe +064 + +Galaxian +248 + +Gamma Attack +032 + +Gangster Alley +064 + +Gas Hog +064 + +Gauntlet +064 + +Ghost Manor +248 + +Ghostbusters +248 + +Ghostbusters II +246 + +Gigolo +064 + +Glacier Patrol +064 + +Glib +064 + +Golf +032 + +Gopher +064 + +Gorf +064 + +Grand Prix +246 + +Gravitar +248 + +Great Escape +064 + +Gremlins +248 + +Guardian +064 + +Gyruss +224 + +H.E.R.O. +248 + +Halloween +064 + +Hangman +064 + +Harbor Escape +064 + +Haunted House +064 + +Hole Hunter +064 + +Home Run +032 + +Human Cannonball +032 + +Hunt & Score +032 + +I Want My Mommy +064 + +Ice Hockey +064 + +Ikari Warriors +246 + +Indy 500 +032 + +Infiltrate +064 + +International Soccer +064 + +IQ 180 +064 + +James Bond 007 +224 + +Jaw Breaker +064 + +Journey Escape +064 + +Joust +248 + +JoustPong +064 + +Jr. Pac-Man +246 + +Jungle Fever +064 + +Jungle Hunt +248 + +Kaboom! +032 + +Kangaroo +248 + +Karate +064 + +Keystone Kapers +064 + +King Kong +064 + +Klax +246 + +Knight on the Town +064 + +Kool-Aid Man +064 + +Krull +248 + +Kung Fu Superkicks +248 + +Kung-Fu Master +248 + +Lady in Wading +064 + +Laser Blast +032 + +Laser Gates +064 + +Lilly Advenure +064 + +Lochjaw +064 + +Lock 'n' Chase +064 + +London Blitz +064 + +Lost Luggage +064 + +M.A.D. +064 + +M.A.S.H +064 + +MagiCard +192 + +Malagai +064 + +Mangia' +064 + +Marauder +064 + +Marine Wars +064 + +Mario Bros. +248 + +Master Builder +064 + +Masters of the Universe +231 + +Math Gran Prix +064 + +Maze Craze +064 + +Mega Force +064 + +MegaBoy +240 + +MegaMania +064 + +Midnight Magic +246 + +Millipede +246 + +Mind Maze +248 + +Miner 2049er +063 + +Miner 2049er Volume II +063 + +Mines of Minos +064 + +Miniature Golf +032 + +Miss Piggy's Wedding +248 + +Missile Command +064 + +Missile Control +064 + +Mission 3000 A.D. +064 + +Mission Survive +064 + +Mogul Maniac +064 + +Montezuma's Revenge +224 + +Moon Patrol +248 + +Moonsweeper +248 + +Motocross +064 + +Motocross Racer +248 + +MotoRodeo +246 + +Mountain King +250 + +Mouse Trap +064 + +Mr. Do! +248 + +Mr. Do!'s Castle +224 + +Mr. Postman +064 + +Ms. Pac-Man +248 + +Music Machine +064 + +My Golf +248 + +Name This Game +064 + +Night Driver +032 + +Night Stalker +064 + +Nightmare +064 + +No Escape! +064 + +Nuts +064 + +Obelix +248 + +Off the Wall +246 + +Oink! +064 + +Omega Race +250 + +Open Sesame +064 + +Oscar's Trash Race +248 + +Othello +032 + +Out of Control +064 + +Outlaw +032 + +Pac-Kong +064 + +Pac-Man +064 + +Panda Chase +064 + +Parachute +064 + +Pele's Soccer +064 + +Pengo +248 + +Pepsi Invaders +064 + +Pete Rose Baseball +246 + +Phantom Tank +064 + +Pharaoh's Curse +064 + +Philly Flasher +064 + +Phoenix +248 + +Pick 'n' Pile +246 + +Picnic +064 + +Piece o' Cake +064 + +Pigs in Space +248 + +Pitfall II +208 + +Pitfall! +064 + +Planet Patrol +064 + +Plaque Attack +064 + +Polaris +063 + +Pole Position +248 + +Polo +032 + +Pompeii +064 + +Pooyan +064 + +Popeye +224 + +Porky's +248 + +Pressure Cooker +248 + +Private Eye +248 + +Pyramid War +064 + +Q-bert +064 + +Q-bert's Qubes +224 + +Quadrun +248 + +Quest for Quintana Roo +248 + +Quick Step! +064 + +Rabbit Transit +248 + +Racing Car +064 + +Racquetball +064 + +Radar Lock +246 + +Raft Rider +064 + +Raiders of the Lost Ark +248 + +Ram It +064 + +Rampage! +246 + +Raumpatrouille +064 + +Reactor +064 + +RealSports Baseball +248 + +RealSports Boxing +246 + +RealSports Football +248 + +RealSports Soccer +248 + +RealSports Tennis +248 + +RealSports Volleyball +064 + +Rescue Terra I +064 + +Resgate Espacial +248 + +Revenge of the Beefsteak Tomatoes +064 + +Riddle of the Sphinx +064 + +River Patrol +063 + +River Raid +064 + +River Raid II +246 + +Road Runner +246 + +Robin Hood +248 + +Robot Tank +254 + +Roc 'n Rope +248 + +Room of Doom +064 + +Rubik's Cube +064 + +Save Our Ship +064 + +Scuba Diver +064 + +Sea Hawk +064 + +Sea Hunt +064 + +Sea Monster +064 + +Seaquest +064 + +Secret Quest +246 + +Sentinel +246 + +Shark Attack +064 + +Shootin' Gallery +064 + +Shuttle Orbiter +064 + +Sir Lancelot +248 + +Skate Boardin' +248 + +Skeet Shoot +032 + +Ski Hunt +064 + +Ski Run +064 + +Skiing +032 + +Sky Diver +032 + +Sky Jinks +032 + +Sky Skipper +064 + +Slot Machine +032 + +Slot Racers +032 + +Smurf Rescue in Gargamels Castle +248 + +Smurfs Save the Day +248 + +Sneak 'n Peek +064 + +Snoopy and the Red Baron +248 + +Solar Fox +248 + +Solar Storm +064 + +Solaris +246 + +Sorcerer +064 + +Sorcerer's Apprentice +248 + +Space Attack +064 + +Space Canyon +064 + +Space Cavern +064 + +Space Invaders +064 + +Space Jockey +032 + +Space Shuttle +248 + +Space Tunnel +064 + +Space War +032 + +Spacechase +064 + +SpaceMaster X-7 +064 + +Spider Fighter +064 + +Spider Maze +064 + +Spider-Man +064 + +Spike's Peak +248 + +Spitfire Attack +064 + +Springer +063 + +Sprint Master +246 + +Spy Hunter +248 + +Squeeze Box +064 + +Squirrel +064 + +Sssnake +064 + +Stampede +032 + +Star Fox +064 + +Star Raiders +248 + +Star Ship +032 + +Star Strike +064 + +Star Trek +248 + +Star Voyager +064 + +Star Wars - Arcade Game +224 + +Star Wars - Death Star Battle +224 + +Star Wars - Empire Strikes Back +064 + +Star Wars - Jedi Arena +064 + +Stargate +246 + +Stargunner +064 + +StarMaster +064 + +Steeplechase +032 + +Stellar Track +064 + +Strategy X +064 + +Strawberry Shortcake +064 + +Street Racer +032 + +Stronghold +064 + +Stunt Man +064 + +Submarine Commander +064 + +Sub-Scan +064 + +Subterranea +248 + +Summer Games +246 + +Super Baseball +246 + +Super Breakout +064 + +Super Challenge Baseball +064 + +Super Challenge Football +064 + +Super Cobra +224 + +Super Football +248 + +Superman +064 + +Surfer's Paradise +064 + +Surround +032 + +Survival Run +064 + +SwordQuest - EarthWorld +248 + +SwordQuest - FireWorld +248 + +SwordQuest - WaterWorld +248 + +Tac-Scan +064 + +Tanks But No Tanks +064 + +Tapeworm +064 + +Tapper +248 + +Tax Avoiders +248 + +Taz +248 + +Tempest +248 + +Tennis +032 + +Texas Chainsaw Massacre +064 + +Threshold +064 + +Thunderground +064 + +Time Pilot +249 + +Time Warp +064 + +Title Match Pro Wrestling +248 + +Tomarc the Barbarian +248 + +Tomcat +246 + +Tooth Protectors +224 + +Towering Inferno +064 + +Track and Field +246 + +Treasure Below +064 + +Treasure Island +064 + +Trick Shot +064 + +TRON - Deadly Discs +064 + +Tunnel Runner +250 + +Turmoil +064 + +Tutankham +224 + +Universal Chaos +064 + +Up 'n Down +248 + +Vanguard +248 + +Venture +064 + +Video Checkers +064 + +Video Chess +064 + +Video Jogger +064 + +Video Life +032 + +Video Olympics +032 + +Video Pinball +064 + +Video Reflex +064 + +Vogel Flieh +064 + +Vulture Attack +064 + +Wabbit +064 + +Walker +064 + +Wall Ball +064 + +Wall Break +064 + +Wall-Defender +064 + +Warlords +064 + +Warplock +064 + +Wing War +248 + +Wings +250 + +Winter Games +246 + +Wizard of Wor +064 + +Word Zapper +064 + +World End +064 + +Worm War I +064 + +Xenophobe +246 + +X-Man +064 + +Yars' Revenge +064 + +Zaxxon +248 + +Zoo Fun +064 + +Z-Tack +064 +