mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
hooked up the 315-5881 to the vs298 / vs299 sets in model3.c, note this actually *fixes* them, allowing you to kick off, with the old simulation the game would hang (same as with no simulation, so I guess it was hooked up incorrectly?)
This commit is contained in:
parent
38d121129e
commit
01d81b7bca
@ -1673,34 +1673,7 @@ WRITE64_MEMBER(model3_state::network_w)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static const UINT16 vs299_prot_data[] =
|
|
||||||
{
|
|
||||||
0xc800, 0x4a20, 0x5041, 0x4e41, 0x4920, 0x4154, 0x594c, 0x4220,
|
|
||||||
0x4152, 0x4953, 0x204c, 0x5241, 0x4547, 0x544e, 0x4e49, 0x2041,
|
|
||||||
0x4547, 0x4d52, 0x4e41, 0x2059, 0x4e45, 0x4c47, 0x4e41, 0x2044,
|
|
||||||
0x454e, 0x4854, 0x5245, 0x414c, 0x444e, 0x2053, 0x5246, 0x4e41,
|
|
||||||
0x4543, 0x4320, 0x4c4f, 0x4d4f, 0x4942, 0x2041, 0x4150, 0x4152,
|
|
||||||
0x5547, 0x5941, 0x4220, 0x4c55, 0x4147, 0x4952, 0x2041, 0x5053,
|
|
||||||
0x4941, 0x204e, 0x5243, 0x414f, 0x4954, 0x2041, 0x4542, 0x474c,
|
|
||||||
0x5549, 0x204d, 0x494e, 0x4547, 0x4952, 0x2041, 0x4153, 0x4455,
|
|
||||||
0x2049, 0x4f4b, 0x4552, 0x2041, 0x4544, 0x4d4e, 0x5241, 0x204b,
|
|
||||||
0x4f52, 0x414d, 0x494e, 0x2041, 0x4353, 0x544f, 0x414c, 0x444e,
|
|
||||||
0x5520, 0x4153, 0x5320, 0x554f, 0x4854, 0x4641, 0x4952, 0x4143,
|
|
||||||
0x4d20, 0x5845, 0x4349, 0x204f, 0x5559, 0x4f47, 0x4c53, 0x5641,
|
|
||||||
0x4149, 0x4620, 0x5f43, 0x4553, 0x4147
|
|
||||||
};
|
|
||||||
|
|
||||||
static const UINT16 swt_prot_data[] =
|
|
||||||
{
|
|
||||||
0xffff,
|
|
||||||
0x3d3d, 0x3d3d, 0x203d, 0x5453, 0x5241, 0x5720, 0x5241, 0x2053,
|
|
||||||
0x3d3d, 0x3d3d, 0x0a3d, 0x6f43, 0x7970, 0x6952, 0x6867, 0x2074,
|
|
||||||
0x4553, 0x4147, 0x4520, 0x746e, 0x7265, 0x7270, 0x7369, 0x7365,
|
|
||||||
0x202c, 0x744c, 0x2e64, 0x410a, 0x756d, 0x6573, 0x656d, 0x746e,
|
|
||||||
0x5220, 0x4426, 0x4420, 0x7065, 0x2e74, 0x2320, 0x3231, 0x4b0a,
|
|
||||||
0x7461, 0x7573, 0x6179, 0x7573, 0x4120, 0x646e, 0x206f, 0x2026,
|
|
||||||
0x614b, 0x6f79, 0x6f6b, 0x5920, 0x6d61, 0x6d61, 0x746f, 0x0a6f,
|
|
||||||
};
|
|
||||||
|
|
||||||
static const UINT16 fvipers2_prot_data[] =
|
static const UINT16 fvipers2_prot_data[] =
|
||||||
{
|
{
|
||||||
@ -1763,22 +1736,7 @@ READ64_MEMBER(model3_state::model3_security_r)
|
|||||||
case 0x00 / 8: retvalue = 0; break; /* status */
|
case 0x00 / 8: retvalue = 0; break; /* status */
|
||||||
case 0x1c/8: /* security board data read */
|
case 0x1c/8: /* security board data read */
|
||||||
{
|
{
|
||||||
if (core_stricmp(machine().system().name, "vs299") == 0 ||
|
if (core_stricmp(machine().system().name, "fvipers2") == 0)
|
||||||
core_stricmp(machine().system().name, "vs2v991") == 0)
|
|
||||||
{
|
|
||||||
retvalue = (UINT64)vs299_prot_data[m_prot_data_ptr++] << 48;
|
|
||||||
}
|
|
||||||
else if (core_stricmp(machine().system().name, "swtrilgy") == 0 ||
|
|
||||||
core_stricmp(machine().system().name, "swtrilgya") == 0)
|
|
||||||
{
|
|
||||||
UINT64 data = (UINT64)swt_prot_data[m_prot_data_ptr++] << 16;
|
|
||||||
if (m_prot_data_ptr > 0x38)
|
|
||||||
{
|
|
||||||
m_prot_data_ptr = 0;
|
|
||||||
}
|
|
||||||
retvalue = data;
|
|
||||||
}
|
|
||||||
else if (core_stricmp(machine().system().name, "fvipers2") == 0)
|
|
||||||
{
|
{
|
||||||
UINT64 data = (UINT64)fvipers2_prot_data[m_prot_data_ptr++] << 16;
|
UINT64 data = (UINT64)fvipers2_prot_data[m_prot_data_ptr++] << 16;
|
||||||
if (m_prot_data_ptr >= 0x41)
|
if (m_prot_data_ptr >= 0x41)
|
||||||
@ -5623,6 +5581,11 @@ static MACHINE_CONFIG_START( model3_20, model3_state )
|
|||||||
MCFG_SOUND_ROUTE(0, "rspeaker", 2.0)
|
MCFG_SOUND_ROUTE(0, "rspeaker", 2.0)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
static MACHINE_CONFIG_DERIVED( model3_20_5881, model3_20 )
|
||||||
|
MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0)
|
||||||
|
MCFG_SET_READ_CALLBACK(model3_state, crypt_read_callback)
|
||||||
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
static MACHINE_CONFIG_START( model3_21, model3_state )
|
static MACHINE_CONFIG_START( model3_21, model3_state )
|
||||||
MCFG_CPU_ADD("maincpu", PPC603R, 166000000)
|
MCFG_CPU_ADD("maincpu", PPC603R, 166000000)
|
||||||
MCFG_PPC_BUS_FREQUENCY(66000000) /* Multiplier 2.5, Bus = 66MHz, Core = 166MHz */
|
MCFG_PPC_BUS_FREQUENCY(66000000) /* Multiplier 2.5, Bus = 66MHz, Core = 166MHz */
|
||||||
@ -5891,27 +5854,16 @@ DRIVER_INIT_MEMBER(model3_state,vs2)
|
|||||||
DRIVER_INIT_MEMBER(model3_state,vs298)
|
DRIVER_INIT_MEMBER(model3_state,vs298)
|
||||||
{
|
{
|
||||||
DRIVER_INIT_CALL(model3_20);
|
DRIVER_INIT_CALL(model3_20);
|
||||||
|
DRIVER_INIT_CALL(genprot);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(model3_state,vs2v991)
|
|
||||||
{
|
|
||||||
DRIVER_INIT_CALL(model3_20);
|
|
||||||
}
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(model3_state,vs299b)
|
|
||||||
{
|
|
||||||
DRIVER_INIT_CALL(model3_20);
|
|
||||||
}
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(model3_state,vs299a)
|
|
||||||
{
|
|
||||||
DRIVER_INIT_CALL(model3_20);
|
|
||||||
}
|
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(model3_state,vs299)
|
DRIVER_INIT_MEMBER(model3_state,vs299)
|
||||||
{
|
{
|
||||||
DRIVER_INIT_CALL(model3_20);
|
DRIVER_INIT_CALL(model3_20);
|
||||||
|
DRIVER_INIT_CALL(genprot);
|
||||||
}
|
}
|
||||||
|
|
||||||
DRIVER_INIT_MEMBER(model3_state,harley)
|
DRIVER_INIT_MEMBER(model3_state,harley)
|
||||||
@ -6107,11 +6059,11 @@ GAME( 1998, srally2x, 0, model3_20, scud, model3_state, srally2, ROT0
|
|||||||
GAME( 1998, von2, 0, model3_20, model3, model3_state, von2, ROT0, "Sega", "Virtual On 2: Oratorio Tangram (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1998, von2, 0, model3_20, model3, model3_state, von2, ROT0, "Sega", "Virtual On 2: Oratorio Tangram (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
GAME( 1998, von254g, von2, model3_20, model3, model3_state, von2, ROT0, "Sega", "Virtual On 2: Oratorio Tangram (ver 5.4g)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1998, von254g, von2, model3_20, model3, model3_state, von2, ROT0, "Sega", "Virtual On 2: Oratorio Tangram (ver 5.4g)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
GAME( 1998, fvipers2, 0, model3_20, model3, model3_state, model3_20, ROT0, "Sega", "Fighting Vipers 2 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1998, fvipers2, 0, model3_20, model3, model3_state, model3_20, ROT0, "Sega", "Fighting Vipers 2 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
GAME( 1998, vs298, 0, model3_20, model3, model3_state, vs298, ROT0, "Sega", "Virtua Striker 2 '98 (Step 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1998, vs298, 0, model3_20_5881, model3, model3_state, vs298, ROT0, "Sega", "Virtua Striker 2 '98 (Step 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
GAME( 1999, vs2v991, 0, model3_20, model3, model3_state, vs2v991, ROT0, "Sega", "Virtua Striker 2 '99.1 (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1999, vs2v991, 0, model3_20_5881, model3, model3_state, vs299, ROT0, "Sega", "Virtua Striker 2 '99.1 (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
GAME( 1999, vs299b, vs2v991, model3_20, model3, model3_state, vs299b, ROT0, "Sega", "Virtua Striker 2 '99 (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1999, vs299b, vs2v991, model3_20_5881, model3, model3_state, vs299, ROT0, "Sega", "Virtua Striker 2 '99 (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
GAME( 1999, vs299a, vs2v991, model3_20, model3, model3_state, vs299a, ROT0, "Sega", "Virtua Striker 2 '99 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1999, vs299a, vs2v991, model3_20_5881, model3, model3_state, vs299, ROT0, "Sega", "Virtua Striker 2 '99 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
GAME( 1999, vs299, vs2v991, model3_20, model3, model3_state, vs299, ROT0, "Sega", "Virtua Striker 2 '99", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1999, vs299, vs2v991, model3_20_5881, model3, model3_state, vs299, ROT0, "Sega", "Virtua Striker 2 '99", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
|
|
||||||
/* Model 3 Step 2.1 */
|
/* Model 3 Step 2.1 */
|
||||||
GAME( 1998, daytona2, 0, model3_21, daytona2, model3_state, daytona2, ROT0, "Sega", "Daytona USA 2 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
GAME( 1998, daytona2, 0, model3_21, daytona2, model3_state, daytona2, ROT0, "Sega", "Daytona USA 2 (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND )
|
||||||
|
@ -243,7 +243,6 @@ public:
|
|||||||
DECLARE_DRIVER_INIT(scudplus);
|
DECLARE_DRIVER_INIT(scudplus);
|
||||||
DECLARE_DRIVER_INIT(model3_20);
|
DECLARE_DRIVER_INIT(model3_20);
|
||||||
DECLARE_DRIVER_INIT(bass);
|
DECLARE_DRIVER_INIT(bass);
|
||||||
DECLARE_DRIVER_INIT(vs2v991);
|
|
||||||
DECLARE_DRIVER_INIT(vs2);
|
DECLARE_DRIVER_INIT(vs2);
|
||||||
DECLARE_DRIVER_INIT(daytona2);
|
DECLARE_DRIVER_INIT(daytona2);
|
||||||
DECLARE_DRIVER_INIT(eca);
|
DECLARE_DRIVER_INIT(eca);
|
||||||
@ -260,10 +259,8 @@ public:
|
|||||||
DECLARE_DRIVER_INIT(getbass);
|
DECLARE_DRIVER_INIT(getbass);
|
||||||
DECLARE_DRIVER_INIT(scudplusa);
|
DECLARE_DRIVER_INIT(scudplusa);
|
||||||
DECLARE_DRIVER_INIT(dirtdvls);
|
DECLARE_DRIVER_INIT(dirtdvls);
|
||||||
DECLARE_DRIVER_INIT(vs299b);
|
|
||||||
DECLARE_DRIVER_INIT(vf3);
|
DECLARE_DRIVER_INIT(vf3);
|
||||||
DECLARE_DRIVER_INIT(von2);
|
DECLARE_DRIVER_INIT(von2);
|
||||||
DECLARE_DRIVER_INIT(vs299a);
|
|
||||||
DECLARE_DRIVER_INIT(lostwsga);
|
DECLARE_DRIVER_INIT(lostwsga);
|
||||||
DECLARE_DRIVER_INIT(oceanhun);
|
DECLARE_DRIVER_INIT(oceanhun);
|
||||||
DECLARE_DRIVER_INIT(dayto2pe);
|
DECLARE_DRIVER_INIT(dayto2pe);
|
||||||
|
@ -140,6 +140,9 @@ static const struct game_keys keys_table[] =
|
|||||||
{ "swtrilgy", 0x11272a01 }, // ???? 317-0241-COM Model 3
|
{ "swtrilgy", 0x11272a01 }, // ???? 317-0241-COM Model 3
|
||||||
{ "swtrilgya", 0x11272a01 }, // ???? 317-0241-COM Model 3
|
{ "swtrilgya", 0x11272a01 }, // ???? 317-0241-COM Model 3
|
||||||
{ "vs299", 0x09222ac8 }, // ???? 317-0245-COM Model 3
|
{ "vs299", 0x09222ac8 }, // ???? 317-0245-COM Model 3
|
||||||
|
{ "vs2v991", 0x09222ac8 }, // ???? 317-0245-COM Model 3
|
||||||
|
{ "vs299b", 0x09222ac8 }, // ???? 317-0245-COM Model 3
|
||||||
|
{ "vs299a", 0x09222ac8 }, // ???? 317-0245-COM Model 3
|
||||||
|
|
||||||
|
|
||||||
{ NULL, 0 } // end of table
|
{ NULL, 0 } // end of table
|
||||||
|
Loading…
Reference in New Issue
Block a user