mirror of
https://github.com/n64dev/cen64.git
synced 2024-06-22 22:12:45 -04:00
Cart DB updates
This commit is contained in:
parent
e340a74a26
commit
a109ac02de
10
cen64.c
10
cen64.c
|
@ -97,7 +97,15 @@ int cen64_main(int argc, const char **argv) {
|
|||
|
||||
if (cart.size >= 0x40 && (cart_info = cart_db_get_entry(cart.ptr)) != NULL) {
|
||||
printf("Detected cart: %s[%s] - %s\n", cart_info->rom_id, cart_info->regions, cart_info->description);
|
||||
switch (cart_info->save_type) {
|
||||
|
||||
enum cart_db_save_type save_type = cart_info->save_type;
|
||||
if (strcmp(cart_info->rom_id,"NK4") == 0) {
|
||||
// Special case for Japanese Kirby 64, which has different save types for different revisions
|
||||
uint8_t* rom = cart.ptr;
|
||||
if(rom[0x3e] == 'J' && rom[0x3f] < 2) save_type = CART_DB_SAVE_TYPE_SRAM_256KBIT;
|
||||
}
|
||||
|
||||
switch (save_type) {
|
||||
case CART_DB_SAVE_TYPE_EEPROM_4KBIT:
|
||||
if (options.eeprom_path == NULL) {
|
||||
printf("Warning: cart saves to 4kbit EEPROM, but none specified (see -eep4k)\n");
|
||||
|
|
|
@ -24,6 +24,7 @@ static const struct cart_db_entry cart_db_table[] = {
|
|||
{"CPS", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Pokemon Stadium (Japan)"},
|
||||
{"CZL", "EJ", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Legend of Zelda: Ocarina of Time (NTSC)"},
|
||||
{"N3D", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Doraemon 3: Nobita no Machi SOS!"},
|
||||
{"N3H", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Ganbare! Nippon! Olympics 2000"},
|
||||
{"NA2", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Virtual Pro Wrestling 2"},
|
||||
{"NAB", "JP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Air Boarder 64"},
|
||||
{"NAD", "E", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Worms Armageddon (USA)"},
|
||||
|
@ -41,6 +42,7 @@ static const struct cart_db_entry cart_db_table[] = {
|
|||
{"NBN", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Bakuretsu Muteki Bangaioh"},
|
||||
{"NBV", "EJ", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Bomberman 64: The Second Attack!"},
|
||||
{"NCC", "DEP", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Command & Conquer"},
|
||||
{"NCG", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Choro Q 64 2: Hacha-Mecha Grand Prix Race"},
|
||||
{"NCH", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Chopper Attack"},
|
||||
{"NCK", "E", CART_DB_SAVE_TYPE_FLASH_1MBIT, "NBA Courtside 2"},
|
||||
{"NCR", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Penny Racers"},
|
||||
|
@ -50,10 +52,11 @@ static const struct cart_db_entry cart_db_table[] = {
|
|||
{"NCX", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Custom Robo"},
|
||||
{"NCZ", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Custom Robo V2"},
|
||||
{"ND2", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Doraemon 2: Nobita to Hikari no Shinden"},
|
||||
{"ND3", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Akumajou Dracula Mokushiroku"},
|
||||
{"ND4", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Akumajou Dracula Mokushiroku Gaiden: Legend of Cornell"},
|
||||
{"ND3", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Akumajou Dracula Mokushiroku"},
|
||||
{"ND4", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Akumajou Dracula Mokushiroku Gaiden: Legend of Cornell"},
|
||||
{"ND6", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Densha de Go! 64"},
|
||||
{"NDA", "J", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Derby Stallion 64"},
|
||||
{"NDK", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Space Dynamites"},
|
||||
{"NDO", "EJP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Donkey Kong 64"},
|
||||
{"NDR", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Doraemon: Nobita to 3tsu no Seireiseki"},
|
||||
{"NDU", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Duck Dodgers"},
|
||||
|
@ -68,27 +71,32 @@ static const struct cart_db_entry cart_db_table[] = {
|
|||
{"NFU", "EP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Conker's Bad Fur Day"},
|
||||
{"NFW", "DEFJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "F-1 World Grand Prix"},
|
||||
{"NFX", "EJPU", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Star Fox 64"},
|
||||
{"NFY", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Kakutou Denshou: F-Cup Maniax"},
|
||||
{"NFZ", "P", CART_DB_SAVE_TYPE_SRAM_256KBIT, "F-Zero X (PAL)"},
|
||||
{"NG6", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Ganbare Goemon: Dero Dero Douchuu Obake Tenkomori"},
|
||||
{"NGC", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "GT 64: Championship Edition"},
|
||||
{"NGE", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "007: GoldenEye"},
|
||||
{"NGC", "EP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "GT 64: Championship Edition"},
|
||||
{"NGE", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "GoldenEye 007"},
|
||||
{"NGL", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Getter Love!!"},
|
||||
{"NGP", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Goemon: Mononoke Sugoroku"},
|
||||
{"NGT", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "City-Tour GP: Zen-Nihon GT Senshuken"},
|
||||
{"NGU", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Tsumi to Batsu: Hoshi no Keishousha"},
|
||||
{"NGV", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Glover"},
|
||||
{"NHA", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Bomber Man 64 (Japan)"},
|
||||
{"NHF", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "64 Hanafuda: Tenshi no Yakusoku"},
|
||||
{"NHP", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Heiwa Pachinko World 64"},
|
||||
{"NHY", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Hybrid Heaven (Japan)"},
|
||||
{"NIB", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Itoi Shigesato no Bass Tsuri No. 1 Kettei Ban!"},
|
||||
{"NIC", "E", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Indy Racing 2000"},
|
||||
{"NIJ", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Indiana Jones and the Infernal Machine"},
|
||||
{"NIM", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Ide Yosuke no Mahjong Juku"},
|
||||
{"NIR", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Utchan Nanchan no Hono no Challenger: Denryuu Ira Ira Bou"},
|
||||
{"NJ5", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Jikkyou Powerful Pro Yakyuu 5"},
|
||||
{"NJD", "E", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Jet Force Gemini (Kiosk Demo)"},
|
||||
{"NJF", "EJP", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Jet Force Gemini"},
|
||||
{"NJG", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Jinsei Game 64"},
|
||||
{"NJM", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Earthworm Jim 3D"},
|
||||
{"NK2", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Snowboard Kids 2"},
|
||||
{"NK4", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Kirby 64: The Crystal Shards"},
|
||||
{"NK4", "EJP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Kirby 64: The Crystal Shards"},
|
||||
{"NKA", "DEFJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Fighters Destiny"},
|
||||
{"NKG", "EP", CART_DB_SAVE_TYPE_SRAM_256KBIT, "MLB featuring Ken Griffey Jr."},
|
||||
{"NKI", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Killer Instinct Gold"},
|
||||
|
@ -100,6 +108,7 @@ static const struct cart_db_entry cart_db_table[] = {
|
|||
{"NM6", "E", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Mega Man 64"},
|
||||
{"NM8", "EJP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Mario Tennis"},
|
||||
{"NMF", "EJP", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Mario Golf"},
|
||||
{"NMG", "DEP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Monaco Grand Prix"},
|
||||
{"NMI", "DEFIPS", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Mission: Impossible"},
|
||||
{"NML", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Mickey's Speedway USA"},
|
||||
{"NMO", "E", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Monopoly"},
|
||||
|
@ -112,21 +121,22 @@ static const struct cart_db_entry cart_db_table[] = {
|
|||
{"NMX", "EJP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Excitebike 64"},
|
||||
{"NN6", "E", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Dr. Mario 64"},
|
||||
{"NNA", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Star Wars Episode I: Battle for Naboo"},
|
||||
{"NNB", "EP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "NBA Courtside"},
|
||||
{"NOB", "EJ", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Ogre Battle 64"},
|
||||
{"NOH", "E", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Transformers: Beast Wars Transmetals"},
|
||||
{"NNB", "EP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Kobe Bryant in NBA Courtside"},
|
||||
{"NOB", "EJ", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Ogre Battle 64: Person of Lordly Caliber"},
|
||||
{"NOS", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "64 Oozumou"},
|
||||
{"NP2", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Chou Kuukan Nighter Pro Yakyuu King 2"},
|
||||
{"NP3", "DEFIJPS", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Pokemon Stadium 2 (USA, PAL)"},
|
||||
{"NP3", "DEFIJPS", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Pokemon Stadium 2"},
|
||||
{"NP6", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Jikkyou Powerful Pro Yakyuu 6"},
|
||||
{"NPA", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Jikkyou Powerful Pro Yakyuu 2000"},
|
||||
{"NPD", "EJP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Perfect Dark"},
|
||||
{"NPE", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Jikkyou Powerful Pro Yakyuu Basic Ban 2001"},
|
||||
{"NPF", "DEFIJPSU", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Pokemon Snap"},
|
||||
{"NPG", "EJ", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Hey You, Pikachu!"},
|
||||
{"NPH", "E", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Pokemon Snap Station (Kiosk Demo)"},
|
||||
{"NPM", "P", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Premier Manager 64"},
|
||||
{"NPN", "DEFP", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Pokemon Puzzle League"},
|
||||
{"NPO", "DEFIPS", CART_DB_SAVE_TYPE_FLASH_1MBIT, "Pokemon Stadium (USA, PAL)"},
|
||||
{"NPP", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Parlor! Pro 64"},
|
||||
{"NPP", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Parlor! Pro 64: Pachinko Jikki Simulation Game"},
|
||||
{"NPS", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Jikkyou J.League 1999: Perfect Striker 2"},
|
||||
{"NPT", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Puyo Puyon Party"},
|
||||
{"NPW", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Pilotwings 64"},
|
||||
|
@ -141,15 +151,15 @@ static const struct cart_db_entry cart_db_table[] = {
|
|||
{"NRZ", "EP", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "Ridge Racer 64"},
|
||||
{"NS4", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Super Robot Taisen 64"},
|
||||
{"NS6", "EJ", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Star Soldier: Vanishing Earth"},
|
||||
{"NSA", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "AeroFighters Assault (PAL, Japan)"},
|
||||
{"NSA", "JP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "AeroFighters Assault (PAL, Japan)"},
|
||||
{"NSC", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Starshot: Space Circus Fever"},
|
||||
{"NSI", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Fushigi no Dungeon: Fuurai no Shiren 2"},
|
||||
{"NSM", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Super Mario 64"},
|
||||
{"NSN", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Snow Speeder"},
|
||||
{"NSQ", "DEP", CART_DB_SAVE_TYPE_FLASH_1MBIT, "StarCraft 64"},
|
||||
{"NSQ", "EP", CART_DB_SAVE_TYPE_FLASH_1MBIT, "StarCraft 64"},
|
||||
{"NSS", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Super Robot Spirits"},
|
||||
{"NSU", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Rocket: Robot on Wheels"},
|
||||
{"NSV", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "SpaceStation Silicon Valley "},
|
||||
{"NSV", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "SpaceStation Silicon Valley"},
|
||||
{"NSW", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Star Wars: Shadows of the Empire"},
|
||||
{"NT3", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Toukon Road 2"},
|
||||
{"NT6", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Tetris 64"},
|
||||
|
@ -167,14 +177,17 @@ static const struct cart_db_entry cart_db_table[] = {
|
|||
{"NUB", "J", CART_DB_SAVE_TYPE_EEPROM_16KBIT, "PD Ultraman Battle Collection 64"},
|
||||
{"NUM", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Nushi Zuri 64: Shiokaze ni Notte"},
|
||||
{"NUT", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Nushi Zuri 64"},
|
||||
{"NVB", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Bass Rush: ECOGEAR PowerWorm Championship"},
|
||||
{"NVL", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "V-Rally 99 (USA, PAL)"},
|
||||
{"NVP", "J", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Virtual Pro Wrestling 64"},
|
||||
{"NVY", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "V-Rally 99 (Japan)"},
|
||||
{"NW2", "EP", CART_DB_SAVE_TYPE_SRAM_256KBIT, "WCW/nWo Revenge"},
|
||||
{"NW4", "EP", CART_DB_SAVE_TYPE_FLASH_1MBIT, "WWF No Mercy"},
|
||||
{"NWL", "EP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Waialae Country Club"},
|
||||
{"NWC", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Wild Choppers"},
|
||||
{"NWL", "EP", CART_DB_SAVE_TYPE_SRAM_256KBIT, "Waialae Country Club: True Golf Classics"},
|
||||
{"NWQ", "E", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Rally Challenge 2000"},
|
||||
{"NWR", "EJP", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Wave Race 64"},
|
||||
{"NWT", "J", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Wetrix (Japan)"},
|
||||
{"NWU", "P", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Worms Armageddon (PAL)"},
|
||||
{"NWX", "EJP", CART_DB_SAVE_TYPE_SRAM_256KBIT, "WWF WrestleMania 2000"},
|
||||
{"NXO", "E", CART_DB_SAVE_TYPE_EEPROM_4KBIT, "Cruis'n Exotica"},
|
||||
|
|
Loading…
Reference in a new issue