From b4343927a486632a9d0a70db5c8f37cbc977bd43 Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Wed, 26 Sep 2012 19:09:39 +0000 Subject: [PATCH] (MESS) msx.c: slightly simplified sram handling in conjunction with softlists. no whatsnew. --- hash/msx1_cart.xml | 12 +- hash/msx2_cart.xml | 1992 +++++++++++++++++----------------- src/mess/includes/msx_slot.h | 2 +- src/mess/machine/msx.c | 71 +- 4 files changed, 1057 insertions(+), 1020 deletions(-) diff --git a/hash/msx1_cart.xml b/hash/msx1_cart.xml index e99e91a07bb..d7d6b5cf502 100644 --- a/hash/msx1_cart.xml +++ b/hash/msx1_cart.xml @@ -22,6 +22,8 @@ Unless otherwise noted, the information in this list has not been verified by op + + @@ -202,10 +204,11 @@ Unless otherwise noted, the information in this list has not been verified by op - + + @@ -276,10 +279,11 @@ Unless otherwise noted, the information in this list has not been verified by op - + + --> @@ -501,6 +505,8 @@ Unless otherwise noted, the information in this list has not been verified by op + + @@ -530,6 +536,8 @@ Unless otherwise noted, the information in this list has not been verified by op + + diff --git a/hash/msx2_cart.xml b/hash/msx2_cart.xml index c0693492f1f..c903801c639 100644 --- a/hash/msx2_cart.xml +++ b/hash/msx2_cart.xml @@ -13,92 +13,63 @@ LZ93A13 (32 pin) - 8KB banks --> - - The Eidolon - 1985 - Lucasfilm - - - - - - - - - - - - - - Aoki Ookami to Shiroki Mejika - Genghis Khan + + Inemuri-ryuu Asada Tetsuya no A-kyuu Mahjong 1988 - Koei - + Pony Canyon + - - - - - - - - - - - Ashguine 2: Kokuu no Gajou - 1987 - Panasoft / T&E Soft - - - - - - + + + + + - - Ashguine: Fukushuu no Honoo - 1987 - Panasoft / Micro Cabin - + + Aleste + 1988 + Compile + - - + + - + - - Ashguine: Fukushuu no Honoo (Alt) - 1987 - Panasoft / Micro Cabin - + + Androgynus + 1988 + Nihon Telenet + - - + + + - - + + + + + + + A Ressha de Ikou - Take the A Train. + 1989 + Pony Canyon + + + + + + + + + @@ -117,299 +88,106 @@ LZ93A13 (32 pin) - 8KB banks - - Aleste - 1988 - Compile - - - - - - - - - - - Androgynus - 1988 - Telenet Japan - - - - - - - - - - - - - The Return of Ishtar - 1988 - Namco - - - - - - - - - - - - - Ishin no Arashi - 1989 - Koei - - - - - - - - - - - - - Ide Yousuke Meijin no Jissen Mahjong - 1988 - Pack in Video - - - - - - - - - - - - Inindou Datou Nobunaga - 1991 - Koei - - - - - - - - - - - - - Inemuri-ryuu Asada Tetsuya no A-kyuu Mahjong - 1988 - Pony Canyon - - - - - - - - - - - - - - Woody Poco + + Densetsu no Seisenshi Ashguine 1987 - dB-Soft - + Bit² + - - + - - + - - Urusei Yatsura + + Ashguine 2 - Kokuu no Gajou 1987 - Micro Cabin - + Panasoft / T&E Soft + + - - - - - - - - Ultima Exodus - 1987 - Pony Canyon - - - - - - + - - A Ressha de Ikou - Take the A Train. - 1989 - Pony Canyon - - - - - - - - - - - - - - F-15 Strike Eagle + + Ashguine - Fukushuu no Honoo 1987 - System Soft - + Panasoft / Micro Cabin + + - - - - - - - - - - Garakuta - 1988 - Wachi Software - - - - - - - - - - - - - - - Ogre - 1986 - Systemsoft - - - - - - - - - - - - Girly Block - 1988 - Telenet - - - - - - - - - - - - - KiKi KaiKai - 1986 - Sony - - - - - - - - - - - - - Kisei - 1987 - Sony - - - - - - - - - - - - - Gambler Jikochuushinha 2 - Jishou! Kyougou Janshi Hen - 1988 - Gamearts - - - - - - - - - - - - Quinpl - 1988 - Bit2 - - - + - - + - - Crimson + + Ashguine - Fukushuu no Honoo (Alt) + 1987 + Panasoft / Micro Cabin + + + + + + + + + + + + + Taiyou no Shinden - Asteka II + 1987 + Nihon Falcom + + + + + + + + + + + + + + + Borfes to 5-nin no Akuma - An Adventure Story 1987 Xtal Soft - + - - - - + + + + + + + + + + Bubble Bobble + 1987 + Taito + + + + + + @@ -429,211 +207,16 @@ LZ93A13 (32 pin) - 8KB banks - - - Final Mystery Murder Club - Satsujin Club - 1988 - Micro Cabin - + + Crimson + 1987 + Xtal Soft + - - - - - - - - Zanac EX - 1986 - Pony - - - - - - - - - - - - Sangokushi 2 - 1991 - Koei - - - - - - - - - - - - - - - Shiryou Sensen - War of the Dead - 1987 - Victor - - - - - - - - - - - - Suikoden - Tenmei no Chikai - 1989 - Koei - - - - - - - - - - - - - Scramble Formation - 1987 - Taito - - - - - - - - - - - - Zukkoke Yajikita Onmitsu Douchuu - 1987 - HAL - - - - - - - - - - - - Super Daisenryaku - 1988 - Micro Cabin - - - - - - - - - - - - - Super Triton - 1986 - Xain soft - - - - - - - - - - - - Super Runner - 1987 - Pony Canyon - - - - - - - - - - - - Seikima II Special - Akuma no Gyakushuu - 1987 - Sony - - - - - - - - - - - - - Xevious - Fardraut Saga - 1989 - Namco - - - - - - - - - - - - - Zoids - Chuuou Tairiku no Tatakai - 1988 - Toshiba EMI - - - - - - + @@ -650,11 +233,14 @@ LZ93A13 (32 pin) - 8KB banks + + + - Daisenryaku + Daisenryaku MSX2 1986 Micro Cabin @@ -665,35 +251,21 @@ LZ93A13 (32 pin) - 8KB banks - - - - - - Dynamite Bowl - 1987 - Toshiba EMI - - - - - - + - - Taiyou no Shinden - Asteka II + + Dragon Buster 1987 - Falcom - + Namco + - - - - - + + + + @@ -709,19 +281,7 @@ LZ93A13 (32 pin) - 8KB banks - - - - - Darwin 4078 - 1987 - Hudson Soft - - - - - - + @@ -740,77 +300,6 @@ LZ93A13 (32 pin) - 8KB banks - - Teitoku no Ketsudan - 1991 - Koei - - - - - - - - - - - - - Tetris - 1988 - BPS - - - - - - - - - - - - - Tengoku Yoitoko - 1987 - Taito - - - - - - - - - - - - Densetsu no Seisenshi Ashguine - 1987 - Bit2 - - - - - - - - - - - - Topple Zip - 1988 - Bothtec - - - - - - - - - Dragon Quest 1986 @@ -839,11 +328,26 @@ LZ93A13 (32 pin) - 8KB banks - - + + Darwin 4078 + 1987 + Hudson Soft + + + + + + + + + + + + + Dragon Slayer IV - Drasle Family 1987 - Falcom + Nihon Falcom @@ -854,175 +358,81 @@ LZ93A13 (32 pin) - 8KB banks - - Dragon Buster + + Dynamite Bowl 1987 - Namco - + Toshiba EMI + + + + + + + + + + + + + + The Eidolon + 1986 + PonyCa + + - + - - Ninja Kun - Ashura no Shou - 1987 - HAL - - - - - - - - - - - - Nobunaga no Yabou - Sengoku Gun'yuu Den - 1989 + + L'Empereur + 1990 Koei - + - + - + + + - - Nobunaga no Yabou - Zenkokuban - 1987 + + Europa Sensen + 1992 Koei - - - - - - - - - - - - - Nobunaga no Yabou - Bushou Fuuunroku - 1991 - Koei - + - + - + + + - - Hardball + + F-15 Strike Eagle 1987 - Sony + System Soft + - - + + - - - - - - - - Hydlide 3 - 1987 - T&E Soft - - - - - - - - - - - - - Pac-Mania - 1989 - Namco - - - - - - - - - - - - Bubble Bobble - 1987 - Taito - - - - - - - - - - - - - Victorious Nine II - Koukou Yakyuu Hen - 1987 - Taito - - - - - - - - - - - - Fire Ball - 1987 - Hummingbird Soft - - - - - - - - - - - - Famicle Parodic - 1988 - Bit2 - - - - - - + @@ -1030,13 +440,13 @@ LZ93A13 (32 pin) - 8KB banks Family Billiards 1987 - Pack-in-Video + Pack-In-Video - + @@ -1051,8 +461,35 @@ LZ93A13 (32 pin) - 8KB banks - - + + + + + + + Famicle Parodic + 1988 + Bit² + + + + + + + + + + + + Pro Yakyuu Family Stadium - Pennant Race + 1989 + Namco + + + + + + @@ -1071,6 +508,20 @@ LZ93A13 (32 pin) - 8KB banks + + Fire Ball + 1987 + HummingBird + + + + + + + + + + Fleet Commander II - Tasogare no Kaiiki 1990 @@ -1085,61 +536,95 @@ LZ93A13 (32 pin) - 8KB banks - - Project A2 - Shijou Saidai no Hyouteki + + Gambler Jikochuushinha 2 - Jishou! Kyougou Janshi Hen + 1988 + Game Arts + + + + + + + + + + + + Garakuta + 1988 + Wachi Software + + + + + + + + + + + + + + + Aoki Ookami to Shiroki Mejika - Genchou Hishi (Jpn) + 1992 + Koei + + + + + + + + + + + + + + + Aoki Ookami to Shiroki Mejika - Genghis Khan + 1988 + Koei + + + + + + + + + + + + + + + Girly Block + 1988 + The Links + + + + + + + + + + + + Hardball 1987 - Pony - + Sony - - - - - - - - - Professional Mahjong Gokuu - 1988 - ASCII - - - - - - - - - - - - - Pro Yakyuu Family Stadium - Pennant Race - 1989 - Namco - - - - - - - - - - - - Pro Yakyuu Fan - 1987 - Telenet - - - - - - + + @@ -1147,27 +632,126 @@ LZ93A13 (32 pin) - 8KB banks Hole in One Special 1987 - Hal + HAL Kenkyuujo - + - - Borfesu to Gonin no Akuma - An Adventure Story + + Hydlide 3 1987 - Xtal Soft - + T&E Soft + - - + + + + + + + + + + Ide Yousuke Meijin no Jissen Mahjong + 1988 + Pack-In Video + + + + - + + + + + + + Inindou - Datou Nobunaga + 1991 + Koei + + + + + + + + + + + + + + + Ishin no Arashi + 1989 + Koei + + + + + + + + + + + + + + + + + Kiki KaiKai + 1986 + Sony + + + + + + + + + + + + Kisei + 1987 + Sony + + + + + + + + + @@ -1186,15 +770,30 @@ LZ93A13 (32 pin) - 8KB banks - - Strategic Mars - 1989 - db-Soft + + Kyouto Ryuu no Tera Satsujin Jiken + 1988 + Taito + - - + + + + + + + + + + Lupin the Third - Cagliostro no Shiro + 1987 + Toho + + + + - + @@ -1216,20 +815,6 @@ LZ93A13 (32 pin) - 8KB banks --> - - Mississippi Satsujin Jiken - 1987 - Jaleco - - - - - - - - - - Maison Ikkoku 1987 @@ -1250,7 +835,7 @@ LZ93A13 (32 pin) - 8KB banks Micro Cabin - + @@ -1258,8 +843,23 @@ LZ93A13 (32 pin) - 8KB banks + + Mississippi Satsujin Jiken + 1987 + Jaleco + + + + + + + + + + + - Moero! Nettou Yakyuu'88 + Moero! Nettou Yakyuu '88 1988 Jaleco @@ -1286,58 +886,174 @@ LZ93A13 (32 pin) - 8KB banks - - Yaksa + + + + Final Mystery Murder Club - Satsujin Club + 1988 + Micro Cabin + + + + + + + + + + + + + Ninja Kun - Ashura no Shou 1987 - Wolf Team + HAL Kenkyuujo + - + - - + + - - Kyouto Ryuu no Tera Satsujin Jiken - 1988 - Taito - - - - - - - - - - - - Yuurei-kun - 1988 - system Sacom - - - - - - - - - - - - Europa Sensen - 1992 + + Nobunaga no Yabou - Sengoku Gunyuuden + 1989 Koei - + + + + + + + + + + + + + + + Nobunaga no Yabou - Zenkokuban + 1987 + Koei + + + + + + + + + + + + + + + Nobunaga no Yabou - Bushou Fuuunroku + 1991 + Koei + - + - + + + + + + + + + Ogre + 1986 + System Soft + + + + + + + + + + + + + Pac-Mania + 1989 + Namco + + + + + + + + + + + + + Professional Mahjong Gokuu + 1988 + ASCII + + + + + + + + + + + + + + + Project A2 - Shijou Saidai no Hyouteki + 1987 + Pony + + + + + + + + + + + + Pro Yakyuu Fan + 1987 + Telenet + + + + + + + + + + + + Quinpl + 1988 + Bit² + + + + + + + @@ -1345,7 +1061,7 @@ LZ93A13 (32 pin) - 8KB banks Rastan Saga 1988 - Tatio + Taito @@ -1356,45 +1072,18 @@ LZ93A13 (32 pin) - 8KB banks - - L'Empereur - 1990 - Koei - - - - - - - - - - - - - Return of Jelda - 1987 - Carry Lab - - - - - - - - - - - - Lupin the Third - Cagliostro no Shiro - 1987 - toho - + + + + Relics + 1986 + Bothtec + - - + + @@ -1413,17 +1102,31 @@ LZ93A13 (32 pin) - 8KB banks - - - Relics - 1986 - Bothtec - + + Return of Jelda + 1987 + Carry Lab + - - - - + + + + + + + + + + Romancia + 1986 + Nihon Falcom + + + + + + + @@ -1440,37 +1143,366 @@ LZ93A13 (32 pin) - 8KB banks + + - - Romancia - 1986 - Falcom - + + The Return of Ishtar + 1988 + Namco + - - + + + + + + + + + + + Sangokushi 2 + 1991 + Koei + + + + + + + + + + + + + + + Scramble Formation + 1987 + Taito + + + + + + + + + + + + Seikima II Special - Akuma no Gyakushuu + 1987 + Sony + + + + - - + - + + + Strategic Mars + 1989 + db-Soft + + + + + + + + + + + Suikoden - Tenmei no Chikai + 1989 + Koei + + + + + + + + + + + + + + + Super Daisenryaku + 1988 + Micro Cabin + + + + + + + + + + + + + + + Super Runner + 1987 + Pony Canyon + + + + + + + + + + + + + Super Triton + 1986 + Xain Soft + + + + + + + + + + + + Teitoku no Ketsudan + 1991 + Koei + + + + + + + + + + + + + + + Tengoku Yoitoko + 1987 + Taito + + + + + + + + + + + + Tetris + 1988 + BPS + + + + + + + + + + + + Topple Zip + 1988 + Bothtec + + + + + + + + + + + Ultima Exodus + 1987 + Pony Canyon + + + + + + + + + + + + + + + Urusei Yatsura + 1987 + Micro Cabin + + + + + + + + + + + + + + Victorious Nine II - Koukou Yakyuu Hen + 1987 + Nidecom + + + + + + + + + + + + Woody Poco + 1987 + dB-Soft + + + + + + + + + + + + + Xevious - Fardraut Saga + 1989 + Namco + + + + + + + + + + + + Yaksa + 1987 + Wolf Team + + + + + + + + + + + Yuurei-kun + 1988 + System Sacom + + + + + + + + + + + + Zanac EX + 1986 + Pony + + + + + + + + + + + + Zoids - Chuuou Tairiku no Tatakai + 1988 + Toshiba EMI + + + + + + + + + + + + Zukkoke Yajikita Onmitsu Douchuu + 1987 + HAL Kenkyuujo + + + + + + + + + + diff --git a/src/mess/includes/msx_slot.h b/src/mess/includes/msx_slot.h index 535180c4076..178516cd0e9 100644 --- a/src/mess/includes/msx_slot.h +++ b/src/mess/includes/msx_slot.h @@ -102,7 +102,7 @@ enum msx_slot_type { SLOT_RAM_MM, SLOT_CARTRIDGE1, SLOT_CARTRIDGE2, - SLOT_DISK_ROM2, + SLOT_DISK_ROM2, SLOT_END }; diff --git a/src/mess/machine/msx.c b/src/mess/machine/msx.c index 74bea8400e1..5cf4f8853b9 100644 --- a/src/mess/machine/msx.c +++ b/src/mess/machine/msx.c @@ -98,52 +98,49 @@ DEVICE_IMAGE_LOAD (msx_cart) /* Load software from software list */ /* TODO: Add proper SRAM (size) handling */ - const char *mapper = software_part_get_feature( (software_part*)image.part_entry(), "mapper" ); - const char *sram = software_part_get_feature( (software_part*)image.part_entry(), "sram" ); - - if ( mapper != NULL ) + const char *mapper = software_part_get_feature((software_part*)image.part_entry(), "mapper"); + if (mapper != NULL) { - /* TODO: Split out the SRAM recognition code and 8KB/16KB bank configuration */ - static const struct { const char *mapper_name; bool sram_present; int mapper_type; } mapper_types[] = + static const struct { const char *mapper_name; int mapper_type; } mapper_types[] = { - { "M60002-0125SP", false, SLOT_ASCII8 }, - { "M60002-0125SP", true, SLOT_ASCII8_SRAM }, - { "LZ93A13", false, SLOT_ASCII8 }, - { "LZ93A13", true, SLOT_ASCII8_SRAM }, - { "LZ93A13-16", false, SLOT_ASCII16 }, - { "LZ93A13-16", true, SLOT_ASCII16_SRAM }, - { "M60002-0125SP-16", false, SLOT_ASCII16 }, - { "M60002-0125SP-16", true, SLOT_ASCII16_SRAM }, - { "IREM TAM-S1", false, SLOT_RTYPE }, - { "MR6401", false, SLOT_ASCII16 }, - { "NEOS MR6401", false, SLOT_ASCII8 }, - { "BS6202", false, SLOT_ASCII8 }, - { "BS6101", false, SLOT_ASCII8 }, - { "BS6101-16", false, SLOT_ASCII16 }, + { "M60002-0125SP", SLOT_ASCII8 }, + { "LZ93A13", SLOT_ASCII8 }, + { "LZ93A13-16", SLOT_ASCII16 }, + { "M60002-0125SP-16", SLOT_ASCII16 }, + { "IREM TAM-S1", SLOT_RTYPE }, + { "MR6401", SLOT_ASCII16 }, + { "NEOS MR6401", SLOT_ASCII8 }, + { "BS6202", SLOT_ASCII8 }, + { "BS6101", SLOT_ASCII8 }, + { "BS6101-16", SLOT_ASCII16 }, + { "KONAMI-SCC", SLOT_KONAMI_SCC }, + { "KONAMI", SLOT_KONAMI }, + { "SUPERLODE", SLOT_MAJUTSUSHI }, + { "MAJUTSUSHI", SLOT_SUPERLOADRUNNER }, }; - - for ( int i = 0; i < ARRAY_LENGTH(mapper_types) && type < 0; i++ ) + + for (int i = 0; i < ARRAY_LENGTH(mapper_types) && type < 0; i++) { - if ( !mame_stricmp( mapper, mapper_types[i].mapper_name ) ) - { - if ( sram == NULL && ! mapper_types[i].sram_present ) - type = mapper_types[i].mapper_type; - - - if ( sram != NULL && mapper_types[i].sram_present ) - type = mapper_types[i].mapper_type; - } + if (!mame_stricmp(mapper, mapper_types[i].mapper_name)) + type = mapper_types[i].mapper_type; } - if ( -1 == type ) - logerror( "Mapper '%s' not recognized!\n", mapper ); + if (-1 == type) + logerror("Mapper '%s' not recognized!\n", mapper); } - UINT8 *rom_region = image.get_software_region( "rom" ); - size = size_aligned = image.get_software_region_length( "rom" ); + UINT8 *tmp_sram = image.get_software_region("sram"); + if (tmp_sram) + { + if (type == SLOT_ASCII8) type = SLOT_ASCII8_SRAM; + if (type == SLOT_ASCII16) type = SLOT_ASCII16_SRAM; + } - mem = auto_alloc_array( image.device().machine(), UINT8, size_aligned ); - memcpy( mem, rom_region, size_aligned ); + UINT8 *rom_region = image.get_software_region("rom"); + size = size_aligned = image.get_software_region_length("rom"); + + mem = auto_alloc_array(image.device().machine(), UINT8, size_aligned); + memcpy(mem, rom_region, size_aligned); } else {