From 7923655446bae9040967f8aea690da625e22fe48 Mon Sep 17 00:00:00 2001 From: Fabio Priuli Date: Mon, 18 Mar 2013 12:49:02 +0000 Subject: [PATCH] (MESS) megadriv.c: added support for reset-base Codemaster 2-in-1 cart and documented even more carts. nw. --- hash/megadriv.xml | 1044 ++++++++++++++++++++++++++--------- src/mess/drivers/megadriv.c | 2 + src/mess/machine/md_rom.c | 35 ++ src/mess/machine/md_rom.h | 22 + src/mess/machine/md_slot.c | 1 + src/mess/machine/md_slot.h | 1 + 6 files changed, 830 insertions(+), 275 deletions(-) diff --git a/hash/megadriv.xml b/hash/megadriv.xml index 576bc985da8..558fc03947f 100644 --- a/hash/megadriv.xml +++ b/hash/megadriv.xml @@ -224,6 +224,12 @@ NOTE Electronic Arts + + + + + + @@ -381,9 +387,9 @@ NOTE Flying Edge - + - + @@ -407,9 +413,9 @@ NOTE Sunsoft - + - + @@ -434,7 +440,7 @@ NOTE - + @@ -460,9 +466,9 @@ NOTE Sega - + - + @@ -500,9 +506,9 @@ NOTE Virgin Games - + - + @@ -562,9 +568,9 @@ NOTE - + - + @@ -602,10 +608,10 @@ NOTE 1992 Data East - - + + - + @@ -637,7 +643,7 @@ NOTE - + @@ -663,9 +669,9 @@ NOTE Flying Edge - + - + @@ -819,9 +825,9 @@ NOTE Sega - + - + @@ -926,9 +932,9 @@ NOTE Infogrames - + - + @@ -1042,10 +1048,10 @@ NOTE 1993 Sega - - + + - + @@ -1056,7 +1062,7 @@ NOTE 1989 Sega - + @@ -1174,9 +1180,9 @@ NOTE Flying Edge - + - + @@ -1205,11 +1211,11 @@ NOTE - + - + @@ -1224,9 +1230,9 @@ NOTE Sega - + - + @@ -1241,9 +1247,9 @@ NOTE - + - + @@ -1254,10 +1260,10 @@ NOTE 1993 Electronic Arts - - + + - + @@ -1269,9 +1275,9 @@ NOTE TecMagik - + - + @@ -1283,9 +1289,9 @@ NOTE Flying Edge - + - + @@ -1365,9 +1371,9 @@ NOTE Sega - + - + @@ -1479,9 +1485,9 @@ NOTE - + - + @@ -1495,9 +1501,9 @@ NOTE - + - + @@ -1508,13 +1514,14 @@ NOTE Electronic Arts - + - + + - + @@ -1536,14 +1543,14 @@ NOTE - Paperboy 2 (Euro, USA) + Paperboy II (Euro, USA) 1992 Tengen - + - + @@ -1610,12 +1617,13 @@ NOTE - - + + 2 in 1 - Psycho Pinball & Micro Machines (Euro) 1993 Codemasters + @@ -1783,8 +1791,10 @@ NOTE 1994 Ocean + + - + @@ -2189,9 +2199,9 @@ NOTE Sega - + - + @@ -2294,8 +2304,10 @@ NOTE 1995 Sega + + - + @@ -2418,8 +2430,10 @@ NOTE 1994 Konami + + - + @@ -2489,8 +2503,10 @@ NOTE Flying Edge + + - + @@ -2525,8 +2541,10 @@ NOTE 1989 Sega + + - + @@ -2564,8 +2582,10 @@ NOTE 1994 Sega + + - + @@ -2684,8 +2704,14 @@ NOTE Sega + + + + + + - + @@ -3020,8 +3046,10 @@ NOTE 1991 Imageworks + + - + @@ -3318,8 +3346,10 @@ NOTE + + - + @@ -3848,8 +3878,10 @@ NOTE 1994 Acclaim Entertainment + + - + @@ -3976,6 +4008,19 @@ NOTE + Bonanza Bros. (Euro, USA, Kor, Rev. B) + 1991 + Sega + + + + + + + + + + Bonanza Bros. (Euro, Jpn, Rev. A) 1991 Sega @@ -3989,7 +4034,7 @@ NOTE - + Bonanza Bros. (Euro, Jpn) 1991 Sega @@ -4000,25 +4045,16 @@ NOTE - - Bonanza Bros. (USA, Kor) - 1991 - Sega - - - - - - - Bonkers (Euro, USA) 1994 Sega + + - + @@ -4210,8 +4246,10 @@ NOTE 1994 GameTek + + - + @@ -4322,7 +4360,7 @@ NOTE Electronic Arts - + @@ -4488,8 +4526,10 @@ NOTE 1992 Sega + + - + @@ -4588,8 +4628,10 @@ NOTE 1994 Konami + + - + @@ -4646,8 +4688,10 @@ NOTE 1992 Sega + + - + @@ -4660,8 +4704,10 @@ NOTE + + - + @@ -4848,8 +4894,10 @@ NOTE 1992 Sega + + - + @@ -4884,8 +4932,10 @@ NOTE 1992 Virgin Games + + - + @@ -4908,8 +4958,10 @@ NOTE 1993 Core Design + + - + @@ -5390,15 +5442,17 @@ NOTE - Columns (World, v1.1) + Columns (World, v1.1?) 1990 Sega + + - + @@ -5478,8 +5532,10 @@ NOTE 1995 Sega + + - + @@ -5691,8 +5747,10 @@ NOTE 1994 Virgin Games + + - + @@ -5740,8 +5798,10 @@ NOTE 1992 Virgin Games + + - + @@ -5776,8 +5836,10 @@ NOTE + + - + @@ -6118,8 +6180,10 @@ NOTE + + - + @@ -6129,8 +6193,10 @@ NOTE 1993 Sega + + - + @@ -6319,8 +6385,10 @@ NOTE 1993 Tengen + + - + @@ -6432,8 +6500,10 @@ NOTE 1991 Sega + + - + @@ -6583,7 +6653,7 @@ NOTE - + @@ -6671,8 +6741,14 @@ NOTE Virgin Interactive + + + + + + - + @@ -6764,8 +6840,10 @@ NOTE 1996 Sega + + - + @@ -6786,8 +6864,10 @@ NOTE 1991 Sega + + - + @@ -6911,8 +6991,10 @@ NOTE 1992 Sega + + - + @@ -6943,12 +7025,14 @@ NOTE - Double Dragon 3 - The Arcade Game (Euro, USA) + Double Dragon 3 - The Arcade Game (Euro, USA, Rev. A?) 1992 Flying Edge + + - + @@ -6969,8 +7053,10 @@ NOTE 1993 Sega + + - + @@ -7013,8 +7099,10 @@ NOTE 1993 Virgin Interactive + + - + @@ -7049,8 +7137,10 @@ NOTE 1994 Bandai + + - + @@ -7108,8 +7198,10 @@ NOTE 1992 Tengen + + - + @@ -7144,8 +7236,10 @@ NOTE 1993 Tengen + + - + @@ -7190,12 +7284,14 @@ NOTE - Dune II - Kampf um den Wustenplaneten (Ger) + Dune II - Kampf um den Wüstenplaneten (Ger) 1993 Virgin Interactive + + - + @@ -7275,8 +7371,10 @@ NOTE + + - + @@ -7300,8 +7398,10 @@ NOTE 1994 Sega + + - + @@ -7381,8 +7481,10 @@ NOTE 1991 Electronic Arts + + - + @@ -7483,8 +7585,10 @@ NOTE 1993 Sega + + - + @@ -7508,8 +7612,10 @@ NOTE 1994 Sega + + - + @@ -7702,8 +7808,10 @@ NOTE 1992 Flying Edge + + - + @@ -7739,8 +7847,10 @@ NOTE Sega + + - + @@ -8024,8 +8134,10 @@ NOTE 1992 Virgin Games + + - + @@ -8238,8 +8350,14 @@ NOTE Tengen + + + + + + - + @@ -8339,8 +8457,10 @@ NOTE 1991 Sega + + - + @@ -8581,12 +8701,15 @@ NOTE - Fever Pitch Soccer (Euro) + Fever Pitch (Euro) 1995 U.S. Gold + + + - + @@ -8749,8 +8872,10 @@ NOTE 1991 Sega + + - + @@ -8854,8 +8979,10 @@ NOTE 1991 Sega + + - + @@ -8876,8 +9003,10 @@ NOTE 1993 Taito + + - + @@ -8924,15 +9053,17 @@ NOTE - Forgotten Worlds (World, v1.1) + Forgotten Worlds (World, Rev. A) 1989 Sega + + - + @@ -9023,8 +9154,10 @@ NOTE + + - + @@ -9293,8 +9426,10 @@ NOTE 1992 Flying Edge + + - + @@ -9318,8 +9453,10 @@ NOTE + + - + @@ -9376,8 +9513,10 @@ NOTE Virgin Games + + - + @@ -9489,8 +9628,10 @@ NOTE + + - + @@ -9593,8 +9734,10 @@ NOTE 1992 Sega + + - + @@ -9818,8 +9961,10 @@ NOTE 1991 Sega + + - + @@ -9921,8 +10066,10 @@ NOTE 1993 Electronic Arts + + - + @@ -9979,8 +10126,10 @@ NOTE 1991 Sega + + - + @@ -10113,8 +10262,10 @@ NOTE 1994 U.S. Gold + + - + @@ -10169,8 +10320,10 @@ NOTE 1994 Konami + + - + @@ -10288,8 +10441,10 @@ NOTE 1994 U.S. Gold + + - + @@ -10299,8 +10454,10 @@ NOTE 1992 U.S. Gold + + - + @@ -10522,8 +10679,10 @@ NOTE 1995 U.S. Gold + + - + @@ -10640,8 +10799,10 @@ NOTE 1990 Taito + + - + @@ -10704,8 +10865,10 @@ NOTE 1993 Electronic Arts + + - + @@ -10838,8 +11001,10 @@ NOTE 1991 Virgin Games + + - + @@ -10874,8 +11039,10 @@ NOTE + + - + @@ -10899,8 +11066,10 @@ NOTE 1991 Electronic Arts + + - + @@ -10910,8 +11079,14 @@ NOTE 1992 Electronic Arts + + + + + + - + @@ -10970,8 +11145,10 @@ NOTE Electronic Arts + + - + @@ -11009,8 +11186,10 @@ NOTE + + - + @@ -11056,8 +11235,10 @@ NOTE 1994 Virgin Interactive + + - + @@ -11080,8 +11261,10 @@ NOTE 1993 Electronic Arts + + - + @@ -11116,8 +11299,10 @@ NOTE 1993 Sega + + - + @@ -11316,8 +11501,10 @@ NOTE 1994 Time Warner Interactive + + - + @@ -11338,8 +11525,10 @@ NOTE 1994 Vic Tokai + + - + @@ -11397,8 +11586,10 @@ NOTE 1993 Sega + + - + @@ -11535,12 +11726,14 @@ NOTE - Krusty's Super Fun House (Euro, USA, v1.1) + Krusty's Super Fun House (Euro, USA, Rev. A) 1992 Flying Edge + + - + @@ -11617,8 +11810,14 @@ NOTE Sega + + + + + + - + @@ -11749,8 +11948,10 @@ NOTE 1989 Sega + + - + @@ -11774,8 +11975,10 @@ NOTE 1994 Time Warner Interactive + + - + @@ -11797,8 +12000,10 @@ NOTE 1992 Sega + + - + @@ -11836,8 +12041,10 @@ NOTE 1994 Psygnosis + + - + @@ -12104,8 +12311,10 @@ NOTE 1997 Sega + + - + @@ -12137,8 +12346,10 @@ NOTE 1991 Sega + + - + @@ -12457,8 +12668,10 @@ NOTE + + - + @@ -12517,8 +12730,10 @@ NOTE 1994 Domark + + - + @@ -12550,8 +12765,10 @@ NOTE 1995 Sega + + - + @@ -12645,8 +12862,10 @@ NOTE 1993 Sega + + - + @@ -12693,8 +12912,10 @@ NOTE 1993 Sega + + - + @@ -12774,8 +12995,10 @@ NOTE 1992 Sega + + - + @@ -12883,8 +13106,10 @@ NOTE 1994 Time Warner Interactive + + - + @@ -12905,8 +13130,10 @@ NOTE 1994 Sony Imagesoft + + - + @@ -12940,8 +13167,10 @@ NOTE 1992 Virgin Games + + - + @@ -12951,8 +13180,10 @@ NOTE 1992 Virgin Games + + - + @@ -13015,8 +13246,10 @@ NOTE 1992 Sega + + - + @@ -13040,8 +13273,10 @@ NOTE + + - + @@ -13068,8 +13303,10 @@ NOTE + + - + @@ -13093,8 +13330,10 @@ NOTE 1994 Sony Imagesoft + + - + @@ -13247,8 +13486,10 @@ NOTE 1996 Midway + + - + @@ -13626,8 +13867,10 @@ NOTE + + - + @@ -13673,8 +13916,10 @@ NOTE 1994 Ocean + + - + @@ -13816,8 +14061,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1989 Sega + + - + @@ -14006,8 +14253,15 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + + + + + + - + @@ -14370,8 +14624,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Flying Edge + + - + @@ -14511,8 +14767,14 @@ Notice that these are not working on real hardware due to bugged code with VDP i Electronic Arts + + + + + + - + @@ -14536,8 +14798,14 @@ Notice that these are not working on real hardware due to bugged code with VDP i Electronic Arts + + + + + + - + @@ -15139,6 +15407,12 @@ Notice that these are not working on real hardware due to bugged code with VDP i Electronic Arts + + + + + + @@ -15152,6 +15426,12 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1995 Electronic Arts + + + + + + @@ -15406,8 +15686,15 @@ Notice that these are not working on real hardware due to bugged code with VDP i Electronic Arts + + + + + + + - + @@ -15619,8 +15906,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 U.S. Gold + + - + @@ -15838,8 +16127,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Sega + + - + @@ -15878,12 +16169,14 @@ Notice that these are not working on real hardware due to bugged code with VDP i - OutRun (Euro, USA) + OutRun (Euro, USA, Rev. A?) 1991 Sega + + - + @@ -15909,8 +16202,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Sega + + - + @@ -16106,8 +16401,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Fox Interactive + + - + @@ -16153,8 +16450,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1991 Tengen + + - + @@ -16193,8 +16492,15 @@ Notice that these are not working on real hardware due to bugged code with VDP i Sega + + + + + + + - + @@ -16695,8 +17001,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1995 Viacom New Media + + - + @@ -16838,8 +17146,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -16863,8 +17173,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Activision + + - + @@ -16990,8 +17302,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 U.S. Gold + + - + @@ -17001,8 +17315,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Electronic Arts + + - + @@ -17080,8 +17396,15 @@ Notice that these are not working on real hardware due to bugged code with VDP i Sega + + + + + + + - + @@ -17118,8 +17441,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Domark + + - + @@ -17198,8 +17523,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Konami + + - + @@ -17248,8 +17575,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Psygnosis + + - + @@ -17527,8 +17856,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Tengen + + - + @@ -17646,15 +17977,17 @@ Notice that these are not working on real hardware due to bugged code with VDP i - Rambo III (World, v1.1) + Rambo III (World, Rev. A) 1989 Sega - - + + + + @@ -17807,8 +18140,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i Sega + + - + @@ -17882,8 +18217,14 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1989 Sega + + + + + + - + @@ -18051,8 +18392,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Electronic Arts + + - + @@ -18076,8 +18419,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Sega + + - + @@ -18252,8 +18597,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Flying Edge + + - + @@ -18263,8 +18610,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Virgin Interactive + + - + @@ -18367,8 +18716,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Konami + + - + @@ -18913,8 +19264,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -18924,8 +19277,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1991 Electronic Arts + + - + @@ -19231,8 +19586,14 @@ Notice that these are not working on real hardware due to bugged code with VDP i Sega + + + + + + - + @@ -19470,8 +19831,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Flying Edge + + - + @@ -19494,8 +19857,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Flying Edge + + - + @@ -19604,8 +19969,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Sega + + - + @@ -20464,8 +20831,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Virgin Games + + - + @@ -20536,8 +20905,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -20583,8 +20954,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1996 Infogrames + + - + @@ -20879,8 +21252,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Acclaim Entertainment + + - + @@ -20901,8 +21276,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Tengen + + - + @@ -21174,8 +21551,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1995 Ubi Soft + + - + @@ -21202,8 +21581,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -21460,8 +21841,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1990 Sega + + - + @@ -21485,8 +21868,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1990 U.S. Gold + + - + @@ -21508,8 +21893,15 @@ Notice that these are not working on real hardware due to bugged code with VDP i Sega + + + + + + + - + @@ -21636,8 +22028,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Electronic Arts + + - + @@ -21757,8 +22151,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -21796,8 +22192,14 @@ Notice that these are not working on real hardware due to bugged code with VDP i Sega + + + + + + - + @@ -21838,8 +22240,14 @@ Notice that these are not working on real hardware due to bugged code with VDP i U.S. Gold + + + + + + - + @@ -21851,8 +22259,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1990 Sega + + - + @@ -21963,8 +22373,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1990 Sega + + - + @@ -22129,12 +22541,15 @@ Notice that these are not working on real hardware due to bugged code with VDP i - Superman - The Man of Steel (Euro) + Superman (Euro) 1993 Virgin Games + + + - + @@ -22298,8 +22713,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Electronic Arts + + - + @@ -22521,8 +22938,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Electronic Arts + + - + @@ -22752,8 +23171,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Konami + + - + @@ -22788,8 +23209,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Konami + + - + @@ -22879,8 +23302,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1991 Virgin Games + + - + @@ -22991,8 +23416,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Technosoft + + - + @@ -23124,8 +23551,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Konami + + - + @@ -23146,8 +23575,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Konami + + - + @@ -23254,8 +23685,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -23414,8 +23847,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1995 Domark + + - + @@ -23448,8 +23883,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i Sega + + - + @@ -23608,8 +24045,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -23644,8 +24083,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -23708,8 +24149,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -23719,8 +24162,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Data East + + - + @@ -23817,8 +24262,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Sega + + - + @@ -24041,8 +24488,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1995 Sega + + - + @@ -24445,10 +24894,21 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Acclaim Entertainment + + - + + @@ -24687,7 +25147,7 @@ Notice that these are not working on real hardware due to bugged code with VDP i Williams - + @@ -24815,8 +25275,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Psygnosis + + - + @@ -24848,8 +25310,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Acclaim Entertainment + + - + @@ -24862,8 +25326,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -24924,8 +25390,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Sega + + - + @@ -25168,8 +25636,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 U.S. Gold + + - + @@ -25190,8 +25660,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1990 Sega + + - + @@ -25249,8 +25721,14 @@ Notice that these are not working on real hardware due to bugged code with VDP i U.S. Gold + + + + + + - + @@ -25494,8 +25972,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Sega + + - + @@ -26064,8 +26544,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i + + - + @@ -26144,8 +26626,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Flying Edge + + - + @@ -26177,8 +26661,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Sega + + - + @@ -26457,8 +26943,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1992 Virgin Games + + - + @@ -26539,8 +27027,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1994 Empire Interactive + + - + @@ -26684,8 +27174,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1991 Sega + + - + @@ -26733,8 +27225,10 @@ Notice that these are not working on real hardware due to bugged code with VDP i 1993 Konami + + - + diff --git a/src/mess/drivers/megadriv.c b/src/mess/drivers/megadriv.c index d870e7aee26..09656412eaa 100644 --- a/src/mess/drivers/megadriv.c +++ b/src/mess/drivers/megadriv.c @@ -322,6 +322,8 @@ static SLOT_INTERFACE_START(md_cart) SLOT_INTERFACE_INTERNAL("rom_mm96", MD_SEPROM_MM96) // STM95 EEPROM SLOT_INTERFACE_INTERNAL("rom_stm95", MD_EEPROM_STM95) +// CodeMasters 2-in-1 (reset based) + SLOT_INTERFACE_INTERNAL("rom_cm2in1", MD_ROM_CM2IN1) // unique bankswitch SLOT_INTERFACE_INTERNAL("rom_ssf2", MD_ROM_SSF2) SLOT_INTERFACE_INTERNAL("rom_radica", MD_ROM_RADICA) diff --git a/src/mess/machine/md_rom.c b/src/mess/machine/md_rom.c index 1e9052f5c31..96bcc2dd742 100644 --- a/src/mess/machine/md_rom.c +++ b/src/mess/machine/md_rom.c @@ -23,6 +23,9 @@ const device_type MD_STD_ROM = &device_creator; const device_type MD_ROM_SRAM = &device_creator; const device_type MD_ROM_FRAM = &device_creator; +// BASE CARTS + BANKSWITCH AT RESET +const device_type MD_ROM_CM2IN1 = &device_creator; + // BASE CARTS + PROTECTION / BANKSWITCH const device_type MD_ROM_SSF2 = &device_creator; const device_type MD_ROM_BUGSLIFE = &device_creator; @@ -80,6 +83,11 @@ md_rom_ssf2_device::md_rom_ssf2_device(const machine_config &mconfig, const char { } +md_rom_cm2in1_device::md_rom_cm2in1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) + : md_std_rom_device(mconfig, MD_ROM_CM2IN1, "MD Codemasters 2in1", tag, owner, clock) +{ +} + md_rom_mcpirate_device::md_rom_mcpirate_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock) : md_std_rom_device(mconfig, MD_ROM_MCPIR, "MD Pirate Multicarts (Various)", tag, owner, clock) { @@ -229,6 +237,18 @@ void md_rom_ssf2_device::device_reset() m_lastdata = -1; } +void md_rom_cm2in1_device::device_start() +{ + m_base = -1; + save_item(NAME(m_base)); +} + +void md_rom_cm2in1_device::device_reset() +{ + m_base++; + m_base &= 1; +} + void md_rom_mcpirate_device::device_start() { save_item(NAME(m_bank)); @@ -485,6 +505,21 @@ WRITE16_MEMBER(md_rom_ssf2_device::write_a13) } } +/*------------------------------------------------- + CODEMASTERS 2 IN 1 (RESET BASED) + -------------------------------------------------*/ + +#define MD_ADDR_CM2IN1(a) (m_base == 0 ? ((a << 1) & 0x1fffff)/2 : (((a << 1) & 0x7ffff) + 0x200000)/2) + +READ16_MEMBER(md_rom_cm2in1_device::read) +{ + if (offset < 0x400000/2) + return m_rom[MD_ADDR_CM2IN1(offset)]; + else + return 0xffff; +} + + /*------------------------------------------------- PIRATE MULTICARTS -------------------------------------------------*/ diff --git a/src/mess/machine/md_rom.h b/src/mess/machine/md_rom.h index 0286ed84dde..08a7041c2fa 100644 --- a/src/mess/machine/md_rom.h +++ b/src/mess/machine/md_rom.h @@ -83,6 +83,27 @@ private: int m_lastoff, m_lastdata; }; +// ======================> md_rom_cm2in1_device + +class md_rom_cm2in1_device : public md_std_rom_device +{ +public: + // construction/destruction + md_rom_cm2in1_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock); + + // device-level overrides + virtual void device_start(); + virtual void device_reset(); + virtual void device_config_complete() { m_shortname = "md_rom_cm2in1"; } + + // reading and writing + virtual DECLARE_READ16_MEMBER(read); + +private: + int m_base; +}; + + // ======================> md_rom_mcpirate_device class md_rom_mcpirate_device : public md_std_rom_device @@ -559,6 +580,7 @@ private: extern const device_type MD_STD_ROM; extern const device_type MD_ROM_SRAM; extern const device_type MD_ROM_FRAM; +extern const device_type MD_ROM_CM2IN1; extern const device_type MD_ROM_BUGSLIFE; extern const device_type MD_ROM_CHINF3; extern const device_type MD_ROM_ELFWOR; diff --git a/src/mess/machine/md_slot.c b/src/mess/machine/md_slot.c index 744e9a6977f..b6a3a4d9950 100644 --- a/src/mess/machine/md_slot.c +++ b/src/mess/machine/md_slot.c @@ -253,6 +253,7 @@ static const md_slot slot_list[] = { PSOLAR, "rom_stm95"}, { SSF2, "rom_ssf2" }, + { CM_2IN1, "rom_cm2in1" }, { RADICA, "rom_radica" }, // { GAME_KANDUME, "rom_gkand" }, // what's needed by this? diff --git a/src/mess/machine/md_slot.h b/src/mess/machine/md_slot.h index ebb24db5ff1..40700fce9fa 100644 --- a/src/mess/machine/md_slot.h +++ b/src/mess/machine/md_slot.h @@ -42,6 +42,7 @@ enum // Various SSF2, /* Super Street Fighter 2 */ + CM_2IN1, /* CodeMasters 2in1 : Psycho Pinball + Micro Machines */ GAME_KANDUME, /* Game no Kandume Otokuyou */ RADICA, /* Radica TV games.. these probably should be a separate driver since they are a separate 'console' */