Files
greenchili2 20d59afb3f Fix first run crashing on Xbox One. Added savestate support. Rewind … (#87)
* Fix first run crashing on Xbox One.
* Added savestate support.
* Rewind works.  Fixes issue #83 and possibly #49.
* Added Disc Control menu.  Supports Disks, Tapes and M3U files (issue #66).
* Added in support for 5200 Super Carts.
* Better support for 5200 controller.
* Added Paddle support.
* Converted Core Options menu to v2.
* Moved some core options into submenus.
* Added controller mappings for Ports 2-4.
* Added options for Dual Stick and Swap Ports.  Fixes issue #76.
* Joystick/Console now controlled more easily with device type Atari Keyboard.
* Added 4 Hi-Res Artifacting modes.  Restart does something now.
* When core option changed only reboot if necessary.  Removed several hardcoded controller binds.  Fixed issue #29.  Joypad input ignored when virtual keyboard active.
* SIO Acceleration now defaults to enabled.  Fix for Bounty Bob (5200 & lift fix A800).
* Added Atari 800 carts to autodetect DB.
* Added more Carts to DB.
* Fixed Drive Index not being reset on 'restart'.
* Changed Atari Joystick default mappings to something more reasonable.
2023-07-31 23:35:21 +02:00

263 lines
11 KiB
C

#define a800 0 // STD_8, STD_16, XEGS_32
#define a800_40 1 // Bounty Bob
#define a800_WILL_64 2 // 64 KB Williams cartridge
#define a800_XE_07_64 3 // XEGS 64 KB cartridge (banks 0-7)
#define a800_XE_128 4 // XEGS 128 KB cartridge
//#define a800_XE_256 4 // XEGS 256 KB cartridge. Not sure if any exist.
//#define a800_XE_512 5 // XEGS 512 KB cartridge. Not sure if any exist.
//#define a800_XE_1024 6 // XEGS 1 MB cartridge. Not sure if any exist.
#define a800_MAX_128 5 // Atarimax 128 KB Flash cartridge
#define a800_MAX_1024 6 // Atarimax 1 MB Flash cartridge (old)
typedef struct {
int type;
char name[50];
int size;
ULONG crc;
} a800_rom;
a800_rom a800_game[] = {
{ a800,"3-D Tic-Tac-Toe",8192,0x1cf50ebe},
{ a800,"Abracadabra!",16384,0xa35c775d},
{ a800_XE_128,"Ace Of Aces",131072,0xebad3ddb},
{ a800,"Activision Decathlon",16384,0x7cc0118b},
{ a800,"Adventure Creator",16384,0x8746d9da},
{ a800_XE_128,"Airball",131072,0xa0ccb3c1},
{ a800,"Alf In Color Caves",16384,0x79df7f9d},
{ a800,"Alien Ambush",8192,0xad7bc30b},
{ a800,"Alien Garden",8192,0x3e27ed0f},
{ a800,"Alpha Shield",8192,0xa7ade454},
{ a800_MAX_1024,"Alternate Reality- The City (MF) (Proto)",1048576,0x52cbd474},
{ a800_MAX_1024,"Alternate Reality- The Dungeon (MF)v9",1048576,0x9fd8d4d3},
{ a800,"Ant Eater",8192,0xc7290722},
{ a800,"Archon- The Light And The Dark",32768,0x2636829f},
{ a800_MAX_128,"Arkanoid I, II, III (MF)",131072,0x70f7bbe5},
{ a800,"Asteroids",8192,0xf9fff4a4},
{ a800,"Astro Chase (First Star Software)",16384,0x18752991},
{ a800,"Astro Chase",16384,0x11f1c7fa},
{ a800,"Atlantis",8192,0xbe0b390c},
{ a800,"Attack At EP-CYG-4",163834,0xdca02ca0},
{ a800,"Attack Of The Mutant Camels",163834,0xc933d741},
{ a800_XE_07_64,"Ballblazer",65536,0x820e5ce5},
{ a800,"Baseball",16384,0x065c3fd2},
{ a800,"Basketball",8192,0x79934851},
{ a800_XE_07_64,"Battlezone",65536,0x692515f2},
{ a800,"BC's Quest For Tires",16384,0xdddc6e36},
{ a800,"Beamrider",16384,0x2b05b8df},
{ a800_MAX_128,"Beyond Castle Wolfenstein (MF)",131926,0xf454689b},
{ a800,"Blue Max",32768,0x003f41ac},
{ a800,"Blaster",16384,0xce1126a2},
{ a800,"Boulderdash",16384,0xaf778329},
{ a800,"Boulders And Bombs",16384,0xab2ec21c},
{ a800_40,"Bounty Bob Strikes Back!",40960,0x0d00f072},
{ a800,"Bristles",16384,0x4263d64d},
{ a800_XE_07_64,"Bruce Lee (Repro)",65536,0x255dfc59},
{ a800,"Buck Rogers - Planet Of Zoom",16384,0x84dd597c},
{ a800,"Captain Beeble",16384,0xad8400b1},
{ a800,"Carnival Massacre (CS)",16384,0xea764851},
{ a800,"Carnival Massacre",16384,0x1baf0c97},
{ a800,"Castle Crisis",32768,0x47acda14},
{ a800,"Castle Hassle",16384,0x5a9e938a},
{ a800,"Castles And Keys",16384,0xbe14c091},
{ a800,"Caverns Of Mars",16384,0x8b9b2f5e},
{ a800,"Centipede",8192,0x44bb1842},
{ a800,"Chess",8192,0x72860db1},
{ a800,"Chicken",8192,0x1ab4d8d8},
{ a800,"Choplifter! (Broderbund)",16384,0x3ebc05ff},
{ a800_XE_07_64,"Choplifter!",65536,0xd426eccc},
{ a800,"Claim Jumper",16384,0x1a333c4a},
{ a800,"Cloudburts",8192,0x259aa18b},
{ a800_XE_128,"Commando",131072,0x28288df4}, // falsely autodetected as an xex file
{ a800,"Computer Chess",8192,0x5ce06e94},
{ a800,"Computer War",16384,0x4922aac6},
{ a800_MAX_1024,"Conan (MF)",1048576,0x25feb642},
{ a800,"Congo Bongo",16384,0x7a588045},
{ a800,"Cosmic Life",16384,0x919eaaa9},
{ a800,"Cosmic Tunnels",16384,0xad56c2bf},
{ a800,"Crossfire",8192,0x4d7e0503},
{ a800,"Crystal Castles",32768,0x998fa803},
{ a800,"Dance Fantasy",8192,0xfaec94e7},
{ a800_XE_07_64,"Dark Chambers",65536,0xfa2f132c},
{ a800_XE_07_64,"David's Midnight Magic",65536,0xb7ca61a2},
{ a800,"Defender",16384,0x782a81e4},
{ a800,"Deluxe Invaders",8192,0x15dc9b31},
{ a800,"Demo Cart",16384,0x9bedcdf3},
{ a800,"Demon Attack",8192,0x91328072},
{ a800_XE_07_64,"Desert Falcon",65536,0xa8f9324d},
{ a800,"Diamond Mine",16384,0xd8f9b867},
{ a800,"Dig Dug (1983)",16384,0xfdbc57ed},
{ a800,"Dig Dug",16384,0x6d68114e},
{ a800,"Donkey Kong Jr.",16384,0xa4eb70ef},
{ a800,"Donkey Kong",16384,0xf2b76a27},
{ a800,"Dreadnaught Factor",8192,0xc26fbb5b},
{ a800,"Droids",8192,0x5bb0c159},
{ a800,"Ducks Ahoy",16384,0x4cdfceb9},
{ a800_WILL_64,"DynaKillers",65536,0xad050724},
{ a800,"Eastern Front (1941)",16384,0xccff4a03},
{ a800,"Enduro",8192,0xa538a1bb},
{ a800_MAX_128,"Eidolon- The (MF)",131072,0x46f363f7},
{ a800,"Embargo",8192,0x07b1560c},
{ a800,"Espial",16384,0x64946757},
{ a800,"E.T. Phone Home",16384,0xbce4ef51},
{ a800,"Fantastic Voyage",8192,0x7bde2593},
{ a800,"Fast Eddie",8192,0x53ac386a},
{ a800,"Fast Food",8192,0x77223249},
{ a800_XE_128,"Fight Night",131072,0x4440d167},
{ a800,"Final Legacy",16384,0x6bd0d8e4},
{ a800,"Final Orbit",8192,0x177007e9},
{ a800,"Firebird",8192,0xe3c0b5f1},
{ a800,"Flapper",16384,0x18803c52},
{ a800_XE_128,"Flight Simulator II",131072,0x10cfc489},
{ a800,"Flip And Flop",16384,0x8ae057be},
{ a800_MAX_1024,"Flob 1.0.3b",1048576,0xff236e36},
{ a800,"Food Fight",32767,0x4236f0ea},
{ a800,"Fort Apocalypse",16384,0xf79b33f0},
{ a800,"Fortune Hutner",8192,0x03255972},
{ a800,"Frogger II - Threeedeep!",16384,0xed35f49c},
{ a800,"Frogger",8192,0x40e9476c},
{ a800,"Galaxian",8192,0xd60027be},
{ a800,"Gateway To Apshai",16384,0x3a0c6eb0},
{ a800_XE_128,"G.A.T.O.",131072,0xab06a3f5},
{ a800_MAX_128,"Gauntlet (MF)",131072,0x48cface0},
{ a800,"Gold Mine",8192,0x8459b11e},
{ a800,"Gorf",8192,0x90d0c7d7},
{ a800,"Gridrunner",8192,0x752dd5fe},
{ a800,"Gyruss",16384,0x1da47d01},
{ a800,"H.E.R.O.",16384,0x6062d3ce},
{ a800,"Halftime Battlin Bands",16384,0x8d14b5d3},
{ a800_XE_07_64,"Hardball",65536,0xbf0c6df2},
{ a800,"Hypnotic Land",16384,0x4fb75909},
{ a800,"Into The Eagles Nest",32768,0xf31321c2},
{ a800,"James Bond 007",16384,0x19b4e3a1},
{ a800,"Jawbreaker II",8192,0xe2a63a2d},
{ a800_MAX_1024,"Jim Slide XL",1048576,0x5f74de4a},
{ a800,"Journey To The Planets",16384,0xdce59b65},
{ a800,"Joust",16384,0xf6ec618c},
{ a800,"Jumbo Jet Pilot",16384,0xf046332b},
{ a800_MAX_128,"Jumpman",131072,0x4b7beb03},
{ a800,"Jumpman Jr.",16384,0x6c79bbad},
{ a800,"Jungle Hunt",16384,0x1847a7d4},
{ a800,"K-Razy Antiks",8192,0x84ab21b0},
{ a800,"K-razy Kritters (K-Byte)",8192,0x50354927},
{ a800,"K-razy Kritters",8192,0xf854a3b4},
{ a800,"K-razy Shoot-Out (CBS)",8192,0x636a01f5},
{ a800,"K-razy Shoot-Out (K-Byte)",8192,0x4300f6ff},
{ a800,"K-Star Patrol",8192,0x44c71fae},
{ a800,"Kangaroo",16384,0x1ef94906},
{ a800_XE_128,"Karateka",131072,0x97646f16},
{ a800,"Keystone Kapers",8192,0x465e1763},
{ a800,"Kickback",8192,0x2480ed0a},
{ a800_MAX_128,"Koronis Rift (MF)",131072,0xd385b89c},
{ a800_XE_128,"Lode Runner",131072,0x7790f474},
{ a800_MAX_1024,"Lords Of Conquest (MF)",1048576,0x3d6c01bb},
{ a800_MAX_1024,"M.U.L.E. (MF)",1048576,0x0b84f03e},
{ a800,"Major League Hockey",8192,0x4ffbc999},
{ a800_XE_07_64,"Mario Bros. XE",65536,0x7ba07c34},
{ a800,"M.A.S.H.",8192,0xfa041093},
{ a800,"Matterhorn",16384,0xdcc308cf},
{ a800,"Megamania",8192,0xb3c5130c},
{ a800_XE_128,"Mean 18 (Proto)",131072,0x0ee74a89},
{ a800_XE_128,"Midi Maze (Proto)",131072,0x193a53f6},
{ a800,"Millipede",16384,0xfb7e45da},
{ a800,"Miner 2049er",16384,0x6b1478bf},
{ a800,"Missile Command",8192,0xd2e36392},
{ a800,"Mogul Maniac",16384,0x0c391600},
{ a800,"Monster Maze",16384,0x37049e57},
{ a800,"Moon Patrol",16384,0xb845edb8},
{ a800,"Mountain King",8192,0x79748c93},
{ a800,"Mr. Cool",8192,0x1345d10c},
{ a800,"Mr. Do's Castle",8192,0xf1b9a24a},
{ a800,"Mr. TNT",8192,0x701dbdea},
{ a800,"Mrs. Pac-Man",16384,0xf91d18cf},
{ a800_MAX_128,"Mysterious Adventures (MF)",131072,0xadd506c5},
{ a800,"Necromancer",16384,0x39250ff2},
{ a800,"Nightstrike",8192,0x61245a75},
{ a800,"Oil's Well",16384,0x030ecad6},
{ a800,"One-On-One - Dr J. Vs Larry Bird",32768,0xab060567},
{ a800_MAX_1024,"onEscape (121422) (MF)",1048576,0x083fb021},
{ a800,"Orc Attack",16384,0xfbfaefcd},
{ a800,"Ozzy's Orchard",16384,0x1554b983},
{ a800,"Pac-Man",8192,0x61cf6167},
{ a800_MAX_128,"Pac-Man Arcade",131072,0x19bc1482},
{ a800,"Pastfinder",16384,0x12694c3f},
{ a800,"Peanut Butter Panic",8192,0xcdeb7759},
{ a800,"Pengo",16384,0xd8a9fe0a},
{ a800,"Picnic Paranoia",16384,0xe386a621},
{ a800,"Pitfall! II - The Lost Caverns",16384,0x1668cf3b},
{ a800,"Pitfall!",8192,0xb58bdf1c},
{ a800,"Pitstop",16384,0xd49ebf91},
{ a800,"Plattermania",8192,0x6cef6f94},
{ a800,"Pole Position",16384,0x581570C4},
{ a800,"Pool 400",8192,0xa6c2130f},
{ a800,"Popeye",16384,0x00fce79a},
{ a800,"Porky's",16384,0x1733d3fc},
{ a800,"Powerstar",16384,0xdc0dca6e},
{ a800,"Princes And The Frog",8192,0x7ce79281},
{ a800_MAX_1024,"Prince of Persia 211206 (MF)",1048576,0x52df819c},
{ a800,"Protector II",16384,0x374f311f},
{ a800,"Q-bert",8192,0xff3f0472},
{ a800,"Qix",8192,0x967b8051},
{ a800,"Rack'em Up",16384,0x5335d935},
{ a800,"Rally Speedway",16384,0x0a0f6ea2},
{ a800,"Realsports Football",16384,0x5e8951f4},
{ a800,"Realsports Tennis",16384,0x9a34cbdc},
{ a800_XE_07_64,"Rescue On Fractalus",65536,0x1ca549ad},
{ a800,"Risk (Proto)",8192,0x688b0a0c},
{ a800,"River Raid",8192,0x6e601d81},
{ a800,"River Rescue",16384,0xc018c8a0},
{ a800,"Robotron 2084",16384,0x528fc44a},
{ a800,"Satan's Hollow",16384,0x0f7c7934},
{ a800_MAX_128,"Scott Adams Adventures (MF)",131072,0x5446bcb1},
{ a800,"Sea Chase",8192,0x99b5a1dd},
{ a800,"Sea Fox",16384,0x932cc9a8},
{ a800,"Serpentine",8192,0x1b555b41},
{ a800,"Shamus",16384,0xbd3f06ee},
{ a800,"Silicon Warrior",16384,0x0736c8ae},
{ a800,"Slime",16384,0x1babcad6},
{ a800,"Soccer",8192,0x784c7060},
{ a800_MAX_1024,"Space Harrier",1048576,0xca98abfc},
{ a800,"Space Invaders",8192,0x6c811a10},
{ a800,"Space Shuttle",16384,0x66832f68},
{ a800,"Spark Bugs",8192,0xf56eced2},
{ a800,"Speedway Blast",8192,0xf895cc47},
{ a800,"Spider City",8192,0x8f8c3841},
{ a800,"Springer",16384,0x81466b55},
{ a800,"Spy Hunter",16384,0x34df8ffc},
{ a800,"Squish Em",8192,0xe01600b8},
{ a800,"Stargate (Proto)",16384,0xf527b721},
{ a800,"Star Raiders II",32768,0x737d4196},
{ a800,"Star Raiders",8192,0x5ec023ba},
{ a800,"Star Trek - Strategic Operations Simulator",16384,0x9df169d9},
{ a800,"Star Wars - Arcade Game - The",16384,0xaea795f7},
{ a800,"Star Wars - Death Star Battle",16384,0xd9f5cac7},
{ a800,"Starion",16384,0x23faf9b3},
{ a800,"Submarine Commander",16384,0x77198b2b},
{ a800_MAX_1024,"Summer Games (MF)",1048576,0x92325dc3},
{ a800_XE_128,"Summer Games",131072,0x95e6932d},
{ a800,"Super Cobra",8192,0x2af38d2f},
{ a800,"Super Pac-Man (Early Proto)",16384,0xb985be78},
{ a800,"Super Pac-Man (Proto)",16384,0xb518dda8},
{ a800,"Super Zaxxon",16384,0x9e64e13b},
{ a800,"Survival Of The Fittest",8192,0x7f48fbc5},
{ a800_XE_07_64,"Tapper (Cart)",65536,0xeff12440},
{ a800_XE_07_64,"Thunderfox",65536,0xb15ccef2},
{ a800,"Topper",16384,0x0286eea6},
{ a800_XE_07_64,"Tower Toppler (Proto)",65536,0x6b5333bd},
{ a800,"Track And Field",16384,0x9e2484c8},
{ a800,"Turmoil",8192,0xfe48aadf},
{ a800,"Typo Attack",16384,0x89da4ff7},
{ a800,"Typo",8192,0x70585854},
{ a800_MAX_1024,"Ultima II - Revenge of the Enchantress",1048576,0xd2a6db16},
{ a800_MAX_1024,"Ultima III (MF)",1048576,0xb132a1da},
{ a800_MAX_1024,"Ultima IV (MF)",1048576,0x62b1571f},
{ a800,"Up'n Down",16384,0x53ea3bf6},
{ a800,"Wizard Of Wor",16384,0x8017e56a},
{ a800_MAX_128,"World Karate Championship (MF)",131072,0x83c87b17},
{ a800,"Worm War I",8291,0x79934b01},
{ a800_XE_128,"Xenophobe",131072,0x68466666},
{ a800,"Zaxxon",16384,0x21579706},
{ a800,"Zenji",16384,0xebc6ec2e},
{ a800,"Zone Ranger",16384,0x8f1e72e7},
{ -1,"",0,0},
} ;