mirror of
https://github.com/RetroDECK/Supermodel.git
synced 2025-04-10 19:15:14 +00:00
Added encryption keys, converted to cstdint types, fixed whitespace
This commit is contained in:
parent
c7ad13fb31
commit
0d989831ed
|
@ -49,7 +49,8 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
0x800000, // 8 MB of sample ROMs
|
0x800000, // 8 MB of sample ROMs
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board,
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -118,6 +119,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
||||||
2, // DSB2 MPEG board
|
2, // DSB2 MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0x29250e16, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -202,6 +204,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
||||||
2, // DSB2 MPEG board
|
2, // DSB2 MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0x29222cc4, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -286,6 +289,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_HANDBRAKE|GAME_INPUT_VIEWCHANGE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_HANDBRAKE|GAME_INPUT_VIEWCHANGE,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29290f17, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -349,6 +353,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_HANDBRAKE|GAME_INPUT_VIEWCHANGE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_HANDBRAKE|GAME_INPUT_VIEWCHANGE,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29290f17, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -412,6 +417,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_VIEWCHANGE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_VIEWCHANGE,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x2923aa91, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -482,6 +488,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_VIEWCHANGE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_VIEWCHANGE,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x2923aa91, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -552,6 +559,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29260e96, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -603,7 +611,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
{ "VROM", false, "mpr-20595.41", 0x1D4A2CAD, 0x400000, 2, 30, 32, false },
|
{ "VROM", false, "mpr-20595.41", 0x1D4A2CAD, 0x400000, 2, 30, 32, false },
|
||||||
|
|
||||||
// Sound ROMs
|
// Sound ROMs
|
||||||
{ "SndProg", false, "epr-20600a.21", 0xF0E7DB7E, 0x80000, 2, 0, 2, true },
|
{ "SndProg", false, "epr-20600a.21",0xF0E7DB7E, 0x80000, 2, 0, 2, true },
|
||||||
{ "Samples", false, "mpr-20576", 0x1EEB540B, 0x400000, 2, 0x000000, 2, true },
|
{ "Samples", false, "mpr-20576", 0x1EEB540B, 0x400000, 2, 0x000000, 2, true },
|
||||||
{ "Samples", false, "mpr-20578", 0xD222F2D4, 0x400000, 2, 0x400000, 2, true },
|
{ "Samples", false, "mpr-20578", 0xD222F2D4, 0x400000, 2, 0x400000, 2, true },
|
||||||
{ "Samples", false, "mpr-20577", 0x3B236187, 0x400000, 2, 0x800000, 2, true },
|
{ "Samples", false, "mpr-20577", 0x3B236187, 0x400000, 2, 0x800000, 2, true },
|
||||||
|
@ -628,6 +636,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -696,6 +705,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_HARLEY|GAME_INPUT_VIEWCHANGE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_HARLEY|GAME_INPUT_VIEWCHANGE,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -766,6 +776,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_HARLEY|GAME_INPUT_VIEWCHANGE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFTUPDOWN|GAME_INPUT_HARLEY|GAME_INPUT_VIEWCHANGE,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -836,6 +847,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_GUN1|GAME_INPUT_ANALOG_GUN2,
|
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_GUN1|GAME_INPUT_ANALOG_GUN2,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x292a2bc5, // security board encryption device
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -906,6 +918,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_VR4|GAME_INPUT_SHIFTUPDOWN,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_VR4|GAME_INPUT_SHIFTUPDOWN,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -974,6 +987,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_GUN1|GAME_INPUT_GUN2,
|
GAME_INPUT_COMMON|GAME_INPUT_GUN1|GAME_INPUT_GUN2,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -1048,6 +1062,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29266e45, // securiry board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -1106,6 +1121,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_GUN1|GAME_INPUT_ANALOG_GUN2,
|
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_GUN1|GAME_INPUT_ANALOG_GUN2,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x292b6a01, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -1176,6 +1192,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
||||||
1, // DSB1 MPEG board
|
1, // DSB1 MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
||||||
|
@ -1252,6 +1269,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
||||||
1, // DSB1 MPEG board
|
1, // DSB1 MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
||||||
|
@ -1328,6 +1346,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
||||||
1, // DSB1 MPEG board
|
1, // DSB1 MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
||||||
|
@ -1404,6 +1423,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
||||||
1, // DSB1 MPEG board
|
1, // DSB1 MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
||||||
|
@ -1486,6 +1506,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_VR4,
|
||||||
1, // DSB1 MPEG board
|
1, // DSB1 MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
// Fixed CROM (mirroring behavior here is special and handled manually by CModel3)
|
||||||
|
@ -1568,6 +1589,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_SKI,
|
GAME_INPUT_COMMON|GAME_INPUT_SKI,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -1642,6 +1664,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_SPIKEOUT,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_SPIKEOUT,
|
||||||
2, // DSB2 MPEG board
|
2, // DSB2 MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29236fc8, // securiy board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -1723,6 +1746,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_SPIKEOUT,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_SPIKEOUT,
|
||||||
2, // DSB2 MPEG board
|
2, // DSB2 MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x292f2b04, // securiy board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -1804,6 +1828,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_HANDBRAKE|GAME_INPUT_VIEWCHANGE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_HANDBRAKE|GAME_INPUT_VIEWCHANGE,
|
||||||
2, // DSB2 MPEG board
|
2, // DSB2 MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -1880,6 +1905,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_HANDBRAKE|GAME_INPUT_VIEWCHANGE,
|
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_SHIFT4|GAME_INPUT_HANDBRAKE|GAME_INPUT_VIEWCHANGE,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
true, // drive board
|
true, // drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -1951,6 +1977,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_JOYSTICK,
|
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_JOYSTICK,
|
||||||
2, // DSB2 MPEG board
|
2, // DSB2 MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x31272a01, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2024,6 +2051,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_JOYSTICK,
|
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_JOYSTICK,
|
||||||
2, // DSB2 MPEG board
|
2, // DSB2 MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x31272a01, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2097,6 +2125,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2171,6 +2200,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2245,6 +2275,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2319,6 +2350,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_TWIN_JOYSTICKS,
|
GAME_INPUT_COMMON|GAME_INPUT_TWIN_JOYSTICKS,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x292a0e97, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2395,6 +2427,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_TWIN_JOYSTICKS,
|
GAME_INPUT_COMMON|GAME_INPUT_TWIN_JOYSTICKS,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x292a0e97, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2471,6 +2504,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2545,6 +2579,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2619,6 +2654,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2693,6 +2729,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29234e96, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2767,6 +2804,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2841,6 +2879,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29222ac8, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2915,6 +2954,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x09222ac8, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -2989,6 +3029,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29222ac8, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -3063,6 +3104,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0x29222ac8, // security board encryption key
|
||||||
|
|
||||||
{
|
{
|
||||||
// Fixed CROM
|
// Fixed CROM
|
||||||
|
@ -3137,6 +3179,7 @@ const struct GameInfo g_Model3GameList[] =
|
||||||
0,
|
0,
|
||||||
0,
|
0,
|
||||||
false,
|
false,
|
||||||
|
0,
|
||||||
|
|
||||||
{
|
{
|
||||||
{ NULL, false, NULL, 0, 0, 0, 0, 0, false },
|
{ NULL, false, NULL, 0, 0, 0, 0, 0, false },
|
||||||
|
|
|
@ -85,6 +85,7 @@ struct GameInfo
|
||||||
unsigned inputFlags; // game input types
|
unsigned inputFlags; // game input types
|
||||||
int mpegBoard; // MPEG music board type: 0 = none, 1 = DSB1 (Z80), 2 = DSB2 (68K).
|
int mpegBoard; // MPEG music board type: 0 = none, 1 = DSB1 (Z80), 2 = DSB2 (68K).
|
||||||
bool driveBoard; // drive board (supported if true)
|
bool driveBoard; // drive board (supported if true)
|
||||||
|
uint32_t encryptionKey; // security board encryption device key (or 0 if not applicable)
|
||||||
|
|
||||||
// ROM files
|
// ROM files
|
||||||
struct ROMInfo ROM[48];
|
struct ROMInfo ROM[48];
|
||||||
|
|
|
@ -30,14 +30,13 @@
|
||||||
#include "Supermodel.h"
|
#include "Supermodel.h"
|
||||||
#include "Pkgs/unzip.h"
|
#include "Pkgs/unzip.h"
|
||||||
|
|
||||||
static bool isPowerOfTwo(long x)
|
static bool IsPowerOfTwo(long x)
|
||||||
{
|
{
|
||||||
while (((x & 1) == 0) && x > 1) // while x is even and > 1
|
while (((x & 1) == 0) && x > 1) // while x is even and > 1
|
||||||
x >>= 1;
|
x >>= 1;
|
||||||
return (x == 1);
|
return (x == 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Sega Bass Fishing
|
|
||||||
static struct GameInfo cromInfo =
|
static struct GameInfo cromInfo =
|
||||||
{
|
{
|
||||||
"crom.bin",
|
"crom.bin",
|
||||||
|
@ -53,6 +52,7 @@ static struct GameInfo cromInfo =
|
||||||
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1,
|
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1,
|
||||||
0, // no MPEG board
|
0, // no MPEG board
|
||||||
false, // no drive board
|
false, // no drive board
|
||||||
|
0, // no security board
|
||||||
{
|
{
|
||||||
{ NULL, false, NULL, 0, 0, 0, 0, 0, false }
|
{ NULL, false, NULL, 0, 0, 0, 0, 0, false }
|
||||||
}
|
}
|
||||||
|
@ -75,7 +75,7 @@ static GameInfo * LoadCROMDirect(const struct ROMMap *Map, const char *file)
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
if (!isPowerOfTwo(fileSize))
|
if (!IsPowerOfTwo(fileSize))
|
||||||
{
|
{
|
||||||
ErrorLog("CROM image size is not a power of 2.");
|
ErrorLog("CROM image size is not a power of 2.");
|
||||||
fclose(fp);
|
fclose(fp);
|
||||||
|
|
|
@ -28,6 +28,8 @@
|
||||||
#ifndef INCLUDED_ROMLOAD_H
|
#ifndef INCLUDED_ROMLOAD_H
|
||||||
#define INCLUDED_ROMLOAD_H
|
#define INCLUDED_ROMLOAD_H
|
||||||
|
|
||||||
|
#include <cstdint>
|
||||||
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
Data Structures
|
Data Structures
|
||||||
|
@ -46,7 +48,7 @@ struct ROMInfo
|
||||||
|
|
||||||
// Information used to identify files
|
// Information used to identify files
|
||||||
const char *fileName; // file name
|
const char *fileName; // file name
|
||||||
UINT32 crc; // CRC-32 checksum (same as zip format)
|
uint32_t crc; // CRC-32 checksum (same as zip format)
|
||||||
unsigned fileSize; // file size in bytes (must be the same as all other ROMs with same region ID)
|
unsigned fileSize; // file size in bytes (must be the same as all other ROMs with same region ID)
|
||||||
|
|
||||||
// Interleaving information
|
// Interleaving information
|
||||||
|
@ -69,7 +71,7 @@ struct ROMInfo
|
||||||
struct ROMMap
|
struct ROMMap
|
||||||
{
|
{
|
||||||
const char *region; // ROM region identifier
|
const char *region; // ROM region identifier
|
||||||
UINT8 *ptr; // pointer to memory region
|
uint8_t *ptr; // pointer to memory region
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -90,7 +92,7 @@ struct ROMMap
|
||||||
* src Source region to copy from.
|
* src Source region to copy from.
|
||||||
* srcSize Size of region to copy from.
|
* srcSize Size of region to copy from.
|
||||||
*/
|
*/
|
||||||
extern void CopyRegion(UINT8 *dest, unsigned destOffset, unsigned destSize, UINT8 *src, unsigned srcSize);
|
extern void CopyRegion(uint8_t *dest, unsigned destOffset, unsigned destSize, uint8_t *src, unsigned srcSize);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* LoadROMSetFromZIPFile(Map, GameList, zipFile):
|
* LoadROMSetFromZIPFile(Map, GameList, zipFile):
|
||||||
|
@ -112,8 +114,7 @@ extern void CopyRegion(UINT8 *dest, unsigned destOffset, unsigned destSize, UINT
|
||||||
* Pointer to GameInfo struct for loaded game if successful, NULL
|
* Pointer to GameInfo struct for loaded game if successful, NULL
|
||||||
* otherwise. Prints errors.
|
* otherwise. Prints errors.
|
||||||
*/
|
*/
|
||||||
extern const struct GameInfo * LoadROMSetFromZIPFile(const struct ROMMap *Map, const struct GameInfo *GameList, const char *zipFile,
|
extern const struct GameInfo * LoadROMSetFromZIPFile(const struct ROMMap *Map, const struct GameInfo *GameList, const char *zipFile, bool loadAll);
|
||||||
bool loadAll);
|
|
||||||
|
|
||||||
|
|
||||||
#endif // INCLUDED_ROMLOAD_H
|
#endif // INCLUDED_ROMLOAD_H
|
||||||
|
|
Loading…
Reference in a new issue