- Changes submitted by krom: cleaned up spacing in Games.cpp, optimized byte swapping functions in Supermodel.h, minor changes to fix compiler errors in gcc.

This commit is contained in:
Bart Trzynadlowski 2011-08-01 19:12:44 +00:00
parent 4c02a8af05
commit 2ca7898f1a
4 changed files with 564 additions and 565 deletions

View file

@ -43,7 +43,7 @@ const struct GameInfo Model3GameList[] =
1997,
0x10,
0x200000, // 2 MB of fixed CROM
TRUE, // 64 MB of banked CROM
TRUE, // 48 MB of banked CROM (Mirror)
0x2000000, // 32 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1,
@ -93,7 +93,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr-20285.41", 0x4AADC573, 0x200000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr-20313.21", 0x863A7857, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr-20313.21", 0x863A7857, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr-20268.22", 0x3631E93E, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr-20269.24", 0x105A3181, 0x400000, 2, 0x400000, 2, FALSE },
@ -109,7 +109,7 @@ const struct GameInfo Model3GameList[] =
1998,
0x21,
0x800000, // 8 MB of fixed CROM
FALSE, // 96 MB of banked CROM (do not mirror)
FALSE, // 96 MB of banked CROM (Do not Mirror)
0x4000000, // 64 MB of VROM
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_VR|GAME_INPUT_SHIFT4,
@ -176,7 +176,6 @@ const struct GameInfo Model3GameList[] =
{ "DSBMPEG","mpr-20889.ic22", 0x18EEC79E, 0x400000, 2, 0x800000, 2, FALSE },
{ "DSBMPEG","mpr-20890.ic24", 0xAAC96FA2, 0x400000, 2, 0xC00000, 2, FALSE },
{ NULL, NULL, 0, 0, 0, 0, 0, FALSE }
}
},
@ -189,7 +188,7 @@ const struct GameInfo Model3GameList[] =
1998,
0x21,
0x800000, // 8 MB of fixed CROM
FALSE, // do not mirror banked CROM
FALSE, // 64 MB of banked CROM (Do not Mirror)
0x4000000, // 64 MB of VROM
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_VR|GAME_INPUT_SHIFT4,
@ -268,9 +267,9 @@ const struct GameInfo Model3GameList[] =
1998,
0x21,
0x800000, // 8 MB of fixed CROM
TRUE, // 40 MB of banked CROM
TRUE, // 32 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
0xC00000, // 12 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE,
0, // no MPEG board
@ -312,7 +311,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr-21049.41", 0x91E8161A, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr-21066.21", 0xF7ED2582, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr-21066.21", 0xF7ED2582, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr-21031.22", 0x32F6B23A, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr-21033.24", 0x253D3C70, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr-21032.23", 0x3D3FF407, 0x400000, 2, 0x800000, 2, FALSE },
@ -329,9 +328,9 @@ const struct GameInfo Model3GameList[] =
1998,
0x21,
0x800000, // 8 MB of fixed CROM
TRUE, // 48 MB of banked CROM (mirror)
TRUE, // 48 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE,
0, // no MPEG board
@ -379,7 +378,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr22869.41", 0xC6D62634, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr22886.21", 0x374EC1C6, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr22886.21", 0x374EC1C6, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr22887.22", 0x7D04A867, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr22889.24", 0x4F9BA45D, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr22888.23", 0x018FCF22, 0x400000, 2, 0x800000, 2, FALSE },
@ -397,9 +396,9 @@ const struct GameInfo Model3GameList[] =
1998,
0x20,
0x800000, // 8 MB of fixed CROM
TRUE, // 64 MB of banked CROM (must be mirrored)
TRUE, // 64 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
0, // no MPEG board
@ -453,7 +452,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr-20595.41", 0x1D4A2CAD, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr-20600a.21",0xF0E7DB7E, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr-20600a.21",0xF0E7DB7E, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr-20576", 0x1EEB540B, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr-20578", 0xD222F2D4, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr-20577", 0x3B236187, 0x400000, 2, 0x800000, 2, FALSE },
@ -471,9 +470,9 @@ const struct GameInfo Model3GameList[] =
1998,
0x20,
0x800000, // 8 MB of fixed CROM
TRUE, // 40 MB of banked CROM
TRUE, // 40 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE,
0, // no MPEG board
@ -521,7 +520,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr-20392.41", 0x892208CB, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr-20397.21", 0x5B20B54A, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr-20397.21", 0x5B20B54A, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr-20373.22", 0xC684E8A3, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr-20375.24", 0x906ACE86, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr-20374.23", 0xFCF6EA21, 0x400000, 2, 0x800000, 2, FALSE },
@ -539,9 +538,9 @@ const struct GameInfo Model3GameList[] =
1998,
0x21,
0x800000, // 8 MB of fixed CROM
TRUE, // 48 MB of banked CROM (mirror)
TRUE, // 48 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_JOYSTICK,
0, // no MPEG board
@ -589,7 +588,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr21482.41", 0xE995F554, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr21487.21", 0xC2942448, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr21487.21", 0xC2942448, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr21463.22", 0x0E6d6C0E, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr21465.24", 0x1A62D925, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr21464.23", 0x8230C1DE, 0x400000, 2, 0x800000, 2, FALSE },
@ -607,8 +606,8 @@ const struct GameInfo Model3GameList[] =
1998,
0x15,
0x200000, // 2 MB of fixed CROM
TRUE, // 64 MB of banked CROM (needs to be mirrored)
0x2000000, // 32 MB of VROM (will need to be mirrored)
TRUE, // 48 MB of banked CROM (Mirror)
0x2000000, // 32 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_VR|GAME_INPUT_SHIFT4, // for now, Shift Up/Down mapped to Shift 3/4
0, // no MPEG board
@ -673,7 +672,7 @@ const struct GameInfo Model3GameList[] =
1997,
0x15,
0x200000, // 2 MB of fixed CROM
TRUE, // 64 MB of banked CROM (needs to be mirrored)
TRUE, // 64 MB of banked CROM (Mirror)
0x2000000, // 32 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_GUN1|GAME_INPUT_GUN2,
@ -745,9 +744,9 @@ const struct GameInfo Model3GameList[] =
1998,
0x21,
0x800000, // 8 MB of fixed CROM
TRUE, // 32 MB of banked CROM
TRUE, // 16 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE,
0, // no MPEG board
@ -783,7 +782,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr21422.41", 0xFECA77A5, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr21438.21", 0x6815AF9E, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr21438.21", 0x6815AF9E, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr21427.22", 0x884566F6, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr21428.24", 0x162D1E43, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr21431.23", 0x0EF8F7BB, 0x400000, 2, 0x800000, 2, FALSE },
@ -801,9 +800,9 @@ const struct GameInfo Model3GameList[] =
1998,
0x21,
0x800000, // 8 MB of fixed CROM
FALSE, // 96 MB of banked CROM (do not mirror)
0x4000000, // 64 MB of VROM (will need to be mirrored)
0x800000, // 8 MB of sample ROMs
FALSE, // 96 MB of banked CROM (Do not Mirror)
0x4000000, // 64 MB of VROM
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_JOYSTICK,
0, // no MPEG board
@ -851,14 +850,13 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr21113.41", 0x864BF325, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr21118.21", 0x598C00F0, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr21118.21", 0x598C00F0, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr21094.22", 0xC262B80A, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr21096.24", 0x0A0021A0, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr21095.23", 0x16D27A0A, 0x400000, 2, 0x800000, 2, FALSE },
{ "Samples","mpr21097.25", 0x0D8033FC, 0x400000, 2, 0xC00000, 2, FALSE },
{ NULL, NULL, 0, 0, 0, 0, 0, FALSE }
}
},
@ -870,8 +868,8 @@ const struct GameInfo Model3GameList[] =
1996,
0x15,
0x200000, // 2 MB of fixed CROM
TRUE, // 64 MB of banked CROM (needs to be mirrored)
0x2000000, // 32 MB of VROM (will need to be mirrored)
TRUE, // 48 MB of banked CROM (Mirror)
0x2000000, // 32 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_VR|GAME_INPUT_SHIFT4,
1, // DSB1 MPEG board
@ -941,8 +939,8 @@ const struct GameInfo Model3GameList[] =
1996,
0x15,
0x200000, // 2 MB of fixed CROM
TRUE, // 64 MB of banked CROM (needs to be mirrored)
0x2000000, // 32 MB of VROM (will need to be mirrored)
TRUE, // 64 MB of banked CROM (Mirror)
0x2000000, // 32 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_VR|GAME_INPUT_SHIFT4,
1, // DSB1 MPEG board
@ -997,7 +995,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr-19687.41", 0x776CE694, 0x200000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr-20096a.21",0x0FEF288B, 0x80000, 2, 0, 2, TRUE },
{ "SndProg","epr-20096a.21", 0x0FEF288B, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr-19670.22", 0xBD31CC06, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr-20101.24", 0x66D1E31F, 0x400000, 2, 0x400000, 2, FALSE },
{ "DSBProg","epr-19612.2", 0x13978FD4, 0x20000, 2, 0, 2, FALSE },
@ -1018,7 +1016,7 @@ const struct GameInfo Model3GameList[] =
1998,
0x20,
0x800000, // 8 MB of fixed CROM
TRUE, // 80 MB of banked CROM
TRUE, // 64 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE,
@ -1074,7 +1072,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr20351.41", 0x1FBD3E10, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr20356.21", 0x4E4015D0, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr20356.21", 0x4E4015D0, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr20334.22", 0xDE1D67CD, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr20335.24", 0x7300D0A2, 0x400000, 2, 0x400000, 2, FALSE },
@ -1092,7 +1090,7 @@ const struct GameInfo Model3GameList[] =
0x800000, // 8 MB of fixed CROM
FALSE, // 96 MB of banked CROM (Do not Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_FIGHTING,
2, // DSB2 MPEG board
@ -1146,16 +1144,16 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr21169.41", 0xAA3B2CC0, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr21218.21", 0x5821001A, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr21218.21", 0x5821001A, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr21150.22", 0x125201CE, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr21152.24", 0x0AFDEE87, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr21151.23", 0x599527B9, 0x400000, 2, 0x800000, 2, FALSE },
{ "Samples","mpr21153.25", 0x4155F307, 0x400000, 2, 0xC00000, 2, FALSE },
{ "DSBProg","epr21219.ic2", 0x4E042B21, 0x20000, 2, 0, 2, TRUE },
{ "DSBMPEG","mpr21170.ic18",0xF51F7CE3, 0x400000, 2, 0, 2, FALSE },
{ "DSBMPEG","mpr21171.ic20",0x8D3BD5B6, 0x400000, 2, 0x400000, 2, FALSE },
{ "DSBMPEG","mpr21172.ic22",0xBE221E27, 0x400000, 2, 0x800000, 2, FALSE },
{ "DSBMPEG","mpr21173.ic24",0xCA7226D6, 0x400000, 2, 0xC00000, 2, FALSE },
{ "DSBMPEG","mpr21170.ic18", 0xF51F7CE3, 0x400000, 2, 0x000000, 2, FALSE },
{ "DSBMPEG","mpr21171.ic20", 0x8D3BD5B6, 0x400000, 2, 0x400000, 2, FALSE },
{ "DSBMPEG","mpr21172.ic22", 0xBE221E27, 0x400000, 2, 0x800000, 2, FALSE },
{ "DSBMPEG","mpr21173.ic24", 0xCA7226D6, 0x400000, 2, 0xC00000, 2, FALSE },
{ NULL, NULL, 0, 0, 0, 0, 0, FALSE }
}
@ -1169,7 +1167,7 @@ const struct GameInfo Model3GameList[] =
1998,
0x20,
0x800000, // 8 MB of fixed CROM
TRUE, // 64 MB of banked CROM (needs to be mirrored)
TRUE, // 48 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_VEHICLE|GAME_INPUT_RALLY|GAME_INPUT_SHIFT4,
@ -1240,7 +1238,7 @@ const struct GameInfo Model3GameList[] =
1998,
0x21,
0x800000, // 8 MB of fixed CROM
TRUE, // 48 MB of banked CROM (mirror)
TRUE, // 48 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_ANALOG_JOYSTICK,
@ -1311,59 +1309,59 @@ const struct GameInfo Model3GameList[] =
1996,
0x10,
0x200000, // 2 MB of fixed CROM
TRUE, // 64 MB of banked CROM (needs to be mirrored)
0x2000000, // 32 MB of VROM (will need to be mirrored)
TRUE, // 64 MB of banked CROM (Mirror)
0x2000000, // 32 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_FIGHTING,
0, // no MPEG board
{
// Fixed CROM
{ "CROM", "epr-19230c.20", 0x736a9431, 0x80000, 2, 0x0600000, 8, TRUE },
{ "CROM", "epr-19229c.19", 0x731b6b78, 0x80000, 2, 0x0600002, 8, TRUE },
{ "CROM", "epr-19228c.18", 0x9c5727e2, 0x80000, 2, 0x0600004, 8, TRUE },
{ "CROM", "epr-19227c.17", 0xa7df4d75, 0x80000, 2, 0x0600006, 8, TRUE },
{ "CROM", "epr-19230c.20", 0x736A9431, 0x80000, 2, 0x0600000, 8, TRUE },
{ "CROM", "epr-19229c.19", 0x731B6B78, 0x80000, 2, 0x0600002, 8, TRUE },
{ "CROM", "epr-19228c.18", 0x9C5727E2, 0x80000, 2, 0x0600004, 8, TRUE },
{ "CROM", "epr-19227c.17", 0xA7DF4D75, 0x80000, 2, 0x0600006, 8, TRUE },
// Banked CROM0
{ "CROMxx", "mpr-19196.4", 0xf386b850, 0x400000, 2, 0x0000000, 8, TRUE },
{ "CROMxx", "mpr-19195.3", 0xbd5e27a3, 0x400000, 2, 0x0000002, 8, TRUE },
{ "CROMxx", "mpr-19196.4", 0xF386B850, 0x400000, 2, 0x0000000, 8, TRUE },
{ "CROMxx", "mpr-19195.3", 0xBD5E27A3, 0x400000, 2, 0x0000002, 8, TRUE },
{ "CROMxx", "mpr-19194.2", 0x66254702, 0x400000, 2, 0x0000004, 8, TRUE },
{ "CROMxx", "mpr-19193.1", 0x7bab33d2, 0x400000, 2, 0x0000006, 8, TRUE },
{ "CROMxx", "mpr-19193.1", 0x7BAB33D2, 0x400000, 2, 0x0000006, 8, TRUE },
// Banked CROM1
{ "CROMxx", "mpr-19200.8", 0x74941091, 0x400000, 2, 0x1000000, 8, TRUE },
{ "CROMxx", "mpr-19199.7", 0x9f80d6fe, 0x400000, 2, 0x1000002, 8, TRUE },
{ "CROMxx", "mpr-19198.6", 0xd8ee5032, 0x400000, 2, 0x1000004, 8, TRUE },
{ "CROMxx", "mpr-19197.5", 0xa22d76c9, 0x400000, 2, 0x1000006, 8, TRUE },
{ "CROMxx", "mpr-19199.7", 0x9F80D6FE, 0x400000, 2, 0x1000002, 8, TRUE },
{ "CROMxx", "mpr-19198.6", 0xD8EE5032, 0x400000, 2, 0x1000004, 8, TRUE },
{ "CROMxx", "mpr-19197.5", 0xA22D76C9, 0x400000, 2, 0x1000006, 8, TRUE },
// Banked CROM2
{ "CROMxx", "mpr-19204.12", 0x2f93310a, 0x400000, 2, 0x2000000, 8, TRUE },
{ "CROMxx", "mpr-19203.11", 0x0afa6334, 0x400000, 2, 0x2000002, 8, TRUE },
{ "CROMxx", "mpr-19202.10", 0xaaa086c6, 0x400000, 2, 0x2000004, 8, TRUE },
{ "CROMxx", "mpr-19201.9", 0x7c4a8c31, 0x400000, 2, 0x2000006, 8, TRUE },
{ "CROMxx", "mpr-19204.12", 0x2F93310A, 0x400000, 2, 0x2000000, 8, TRUE },
{ "CROMxx", "mpr-19203.11", 0x0AFA6334, 0x400000, 2, 0x2000002, 8, TRUE },
{ "CROMxx", "mpr-19202.10", 0xAAA086C6, 0x400000, 2, 0x2000004, 8, TRUE },
{ "CROMxx", "mpr-19201.9", 0x7C4A8C31, 0x400000, 2, 0x2000006, 8, TRUE },
// Banked CROM3
{ "CROMxx", "mpr-19208.16", 0x08f30f71, 0x400000, 2, 0x3000000, 8, TRUE },
{ "CROMxx", "mpr-19207.15", 0x2ce1612d, 0x400000, 2, 0x3000002, 8, TRUE },
{ "CROMxx", "mpr-19206.14", 0x71a98d73, 0x400000, 2, 0x3000004, 8, TRUE },
{ "CROMxx", "mpr-19205.13", 0x199c328e, 0x400000, 2, 0x3000006, 8, TRUE },
{ "CROMxx", "mpr-19208.16", 0x08F30F71, 0x400000, 2, 0x3000000, 8, TRUE },
{ "CROMxx", "mpr-19207.15", 0x2CE1612D, 0x400000, 2, 0x3000002, 8, TRUE },
{ "CROMxx", "mpr-19206.14", 0x71A98D73, 0x400000, 2, 0x3000004, 8, TRUE },
{ "CROMxx", "mpr-19205.13", 0x199C328E, 0x400000, 2, 0x3000006, 8, TRUE },
// Video ROM
{ "VROM", "mpr-19211.26", 0x9c8f5df1, 0x200000, 2, 0, 32, FALSE },
{ "VROM", "mpr-19211.26", 0x9C8F5DF1, 0x200000, 2, 0, 32, FALSE },
{ "VROM", "mpr-19212.27", 0x75036234, 0x200000, 2, 2, 32, FALSE },
{ "VROM", "mpr-19213.28", 0x67b123cf, 0x200000, 2, 4, 32, FALSE },
{ "VROM", "mpr-19214.29", 0xa6f5576b, 0x200000, 2, 6, 32, FALSE },
{ "VROM", "mpr-19215.30", 0xc6fd9f0d, 0x200000, 2, 8, 32, FALSE },
{ "VROM", "mpr-19216.31", 0x201bb1ed, 0x200000, 2, 10, 32, FALSE },
{ "VROM", "mpr-19217.32", 0x4dadd41a, 0x200000, 2, 12, 32, FALSE },
{ "VROM", "mpr-19218.33", 0xcff91953, 0x200000, 2, 14, 32, FALSE },
{ "VROM", "mpr-19219.34", 0xc610d521, 0x200000, 2, 16, 32, FALSE },
{ "VROM", "mpr-19220.35", 0xe62924d0, 0x200000, 2, 18, 32, FALSE },
{ "VROM", "mpr-19221.36", 0x24f83e3c, 0x200000, 2, 20, 32, FALSE },
{ "VROM", "mpr-19222.37", 0x61a6aa7d, 0x200000, 2, 22, 32, FALSE },
{ "VROM", "mpr-19223.38", 0x1a8c1980, 0x200000, 2, 24, 32, FALSE },
{ "VROM", "mpr-19224.39", 0x0a79a1bd, 0x200000, 2, 26, 32, FALSE },
{ "VROM", "mpr-19225.40", 0x91a985eb, 0x200000, 2, 28, 32, FALSE },
{ "VROM", "mpr-19213.28", 0x67B123CF, 0x200000, 2, 4, 32, FALSE },
{ "VROM", "mpr-19214.29", 0xA6F5576B, 0x200000, 2, 6, 32, FALSE },
{ "VROM", "mpr-19215.30", 0xC6FD9F0D, 0x200000, 2, 8, 32, FALSE },
{ "VROM", "mpr-19216.31", 0x201BB1ED, 0x200000, 2, 10, 32, FALSE },
{ "VROM", "mpr-19217.32", 0x4DADD41A, 0x200000, 2, 12, 32, FALSE },
{ "VROM", "mpr-19218.33", 0xCFF91953, 0x200000, 2, 14, 32, FALSE },
{ "VROM", "mpr-19219.34", 0xC610D521, 0x200000, 2, 16, 32, FALSE },
{ "VROM", "mpr-19220.35", 0xE62924D0, 0x200000, 2, 18, 32, FALSE },
{ "VROM", "mpr-19221.36", 0x24F83E3C, 0x200000, 2, 20, 32, FALSE },
{ "VROM", "mpr-19222.37", 0x61A6AA7D, 0x200000, 2, 22, 32, FALSE },
{ "VROM", "mpr-19223.38", 0x1A8C1980, 0x200000, 2, 24, 32, FALSE },
{ "VROM", "mpr-19224.39", 0x0A79A1BD, 0x200000, 2, 26, 32, FALSE },
{ "VROM", "mpr-19225.40", 0x91A985EB, 0x200000, 2, 28, 32, FALSE },
{ "VROM", "mpr-19226.41", 0x00091722, 0x200000, 2, 30, 32, FALSE },
// Sound ROMs
@ -1383,9 +1381,9 @@ const struct GameInfo Model3GameList[] =
1998,
0x20,
0x800000, // 8 MB of fixed CROM
TRUE, // 64 MB of banked CROM (needs to be mirrored)
TRUE, // 64 MB of banked CROM (Mirror)
0x4000000, // 64 MB of VROM
0x800000, // 8 MB of sample ROMs
0x1000000, // 16 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_TWIN_JOYSTICKS,
0, // no MPEG board
@ -1398,9 +1396,9 @@ const struct GameInfo Model3GameList[] =
// Banked CROM0
{ "CROMxx", "mpr-20650.4", 0x81F96649, 0x400000, 2, 0x0000000, 8, TRUE },
{ "CROMxx", "mpr-20649.3", 0xb8FD56BA, 0x400000, 2, 0x0000002, 8, TRUE },
{ "CROMxx", "mpr-20649.3", 0xB8FD56BA, 0x400000, 2, 0x0000002, 8, TRUE },
{ "CROMxx", "mpr-20648.2", 0x107309E0, 0x400000, 2, 0x0000004, 8, TRUE },
{ "CROMxx", "mpr-20647.1", 0xe8586380, 0x400000, 2, 0x0000006, 8, TRUE },
{ "CROMxx", "mpr-20647.1", 0xE8586380, 0x400000, 2, 0x0000006, 8, TRUE },
// Banked CROM1
{ "CROMxx", "mpr-20654.8", 0x763EF905, 0x400000, 2, 0x1000000, 8, TRUE },
@ -1439,7 +1437,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr-20682.41", 0x5B43250C, 0x400000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr-20687.21", 0xFA084DE5, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr-20687.21", 0xFA084DE5, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr-20663.22", 0x977EB6A4, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr-20665.24", 0x0EFC0CA8, 0x400000, 2, 0x400000, 2, FALSE },
{ "Samples","mpr-20664.23", 0x89220782, 0x400000, 2, 0x800000, 2, FALSE },
@ -1457,7 +1455,7 @@ const struct GameInfo Model3GameList[] =
1998,
0x20,
0x400000, // 2 MB of fixed CROM
TRUE, // 64 MB of banked CROM (needs to be mirrored)
TRUE, // 64 MB of banked CROM (Mirror)
0x2000000, // 32 MB of VROM
0x800000, // 8 MB of sample ROMs
GAME_INPUT_COMMON|GAME_INPUT_JOYSTICK1|GAME_INPUT_JOYSTICK2|GAME_INPUT_SOCCER,
@ -1513,7 +1511,7 @@ const struct GameInfo Model3GameList[] =
{ "VROM", "mpr-19802.41", 0xF2C3A7B7, 0x200000, 2, 30, 32, FALSE },
// Sound ROMs
{ "SndProg","epr-20921.21", 0x30F032A7, 0x80000, 2, 0x000000, 2, TRUE },
{ "SndProg","epr-20921.21", 0x30F032A7, 0x80000, 2, 0, 2, TRUE },
{ "Samples","mpr-20903.22", 0xE343E131, 0x400000, 2, 0x000000, 2, FALSE },
{ "Samples","mpr-20904.24", 0x21A91B84, 0x400000, 2, 0x400000, 2, FALSE },

View file

@ -422,7 +422,7 @@ void CDSB1::Reset(void)
#define DSB1_OFFSET_RAM 0 // 32KB Z80 RAM
#define DSB1_OFFSET_MPEG_LEFT 0x8000 // 1604 bytes (48 KHz max., 1/60th second, 2 extra = 2*(48000/60+2)) left MPEG buffer
#define DSB1_OFFSET_MPEG_RIGHT 0x8644 // 1604 bytes right MPEG buffer
#define DSB1_MEMORY_POOL_SIZE (0x8000+0x644+0x644)
#define DSB1_MEMORY_POOL_SIZE (0x8000 + 0x644 + 0x644)
BOOL CDSB1::Init(const UINT8 *progROMPtr, const UINT8 *mpegROMPtr)
{
@ -809,7 +809,7 @@ void CDSB2::Reset(void)
#define DSB2_OFFSET_RAM 0 // 128KB 68K RAM
#define DSB2_OFFSET_MPEG_LEFT 0x20000 // 1604 bytes (48 KHz max., 1/60th second, 2 extra = 2*(48000/60+2)) left MPEG buffer
#define DSB2_OFFSET_MPEG_RIGHT 0x20644 // 1604 bytes right MPEG buffer
#define DSB2_MEMORY_POOL_SIZE (0x20000+0x644+0x644)
#define DSB2_MEMORY_POOL_SIZE (0x20000 + 0x644 + 0x644)
BOOL CDSB2::Init(const UINT8 *progROMPtr, const UINT8 *mpegROMPtr)
{

View file

@ -178,6 +178,10 @@ void OutputAudio(unsigned numSamples, INT16 *leftBuffer, INT16 *rightBuffer)
{
//printf("OutputAudio(%u)\n", numSamples);
UINT32 bytesRemaining;
UINT32 bytesToCopy;
INT16 *src;
// Number of samples should never be more than max number of samples per frame
if (numSamples > SAMPLES_PER_FRAME)
numSamples = SAMPLES_PER_FRAME;
@ -224,7 +228,7 @@ void OutputAudio(unsigned numSamples, INT16 *leftBuffer, INT16 *rightBuffer)
writeWrapped = true;
}
INT16 *src = mixBuffer;
src = mixBuffer;
INT8 *dst1;
INT8 *dst2;
UINT32 len1;
@ -249,8 +253,8 @@ void OutputAudio(unsigned numSamples, INT16 *leftBuffer, INT16 *rightBuffer)
}
// Copy chunk to write position in buffer
UINT32 bytesRemaining = numBytes;
UINT32 bytesToCopy = (bytesRemaining > len1 ? len1 : bytesRemaining);
bytesRemaining = numBytes;
bytesToCopy = (bytesRemaining > len1 ? len1 : bytesRemaining);
memcpy(dst1, src, bytesToCopy);
// Adjust for number of bytes copied

View file

@ -169,6 +169,7 @@ extern void InfoLog(const char *fmt, ...);
#include "Model3/DSB.h"
#include "Model3/Model3.h"
/******************************************************************************
Helpful Macros and Inlines
******************************************************************************/
@ -187,16 +188,12 @@ extern void InfoLog(const char *fmt, ...);
*/
static inline UINT16 FLIPENDIAN16(UINT16 d)
{
return(((d >> 8) & 0x00FF) |
((d << 8) & 0xFF00));
return ((d>>8) | (d<<8));
}
static inline UINT32 FLIPENDIAN32(UINT32 d)
{
return(((d >> 24) & 0x000000FF) |
((d >> 8) & 0x0000FF00) |
((d << 8) & 0x00FF0000) |
((d << 24) & 0xFF000000));
return ((d>>24) | ((d<<8)&0x00FF0000) | ((d>>8)&0x0000FF00) | (d<<24));
}
#endif // INCLUDED_SUPERMODEL_H