trunk/src/mame/drivers/model3.c
| r243062 | r243063 | |
| 1673 | 1673 | } |
| 1674 | 1674 | |
| 1675 | 1675 | |
| 1676 | | static const UINT16 vs299_prot_data[] = |
| 1677 | | { |
| 1678 | | 0xc800, 0x4a20, 0x5041, 0x4e41, 0x4920, 0x4154, 0x594c, 0x4220, |
| 1679 | | 0x4152, 0x4953, 0x204c, 0x5241, 0x4547, 0x544e, 0x4e49, 0x2041, |
| 1680 | | 0x4547, 0x4d52, 0x4e41, 0x2059, 0x4e45, 0x4c47, 0x4e41, 0x2044, |
| 1681 | | 0x454e, 0x4854, 0x5245, 0x414c, 0x444e, 0x2053, 0x5246, 0x4e41, |
| 1682 | | 0x4543, 0x4320, 0x4c4f, 0x4d4f, 0x4942, 0x2041, 0x4150, 0x4152, |
| 1683 | | 0x5547, 0x5941, 0x4220, 0x4c55, 0x4147, 0x4952, 0x2041, 0x5053, |
| 1684 | | 0x4941, 0x204e, 0x5243, 0x414f, 0x4954, 0x2041, 0x4542, 0x474c, |
| 1685 | | 0x5549, 0x204d, 0x494e, 0x4547, 0x4952, 0x2041, 0x4153, 0x4455, |
| 1686 | | 0x2049, 0x4f4b, 0x4552, 0x2041, 0x4544, 0x4d4e, 0x5241, 0x204b, |
| 1687 | | 0x4f52, 0x414d, 0x494e, 0x2041, 0x4353, 0x544f, 0x414c, 0x444e, |
| 1688 | | 0x5520, 0x4153, 0x5320, 0x554f, 0x4854, 0x4641, 0x4952, 0x4143, |
| 1689 | | 0x4d20, 0x5845, 0x4349, 0x204f, 0x5559, 0x4f47, 0x4c53, 0x5641, |
| 1690 | | 0x4149, 0x4620, 0x5f43, 0x4553, 0x4147 |
| 1691 | | }; |
| 1692 | 1676 | |
| 1693 | | static const UINT16 swt_prot_data[] = |
| 1694 | | { |
| 1695 | | 0xffff, |
| 1696 | | 0x3d3d, 0x3d3d, 0x203d, 0x5453, 0x5241, 0x5720, 0x5241, 0x2053, |
| 1697 | | 0x3d3d, 0x3d3d, 0x0a3d, 0x6f43, 0x7970, 0x6952, 0x6867, 0x2074, |
| 1698 | | 0x4553, 0x4147, 0x4520, 0x746e, 0x7265, 0x7270, 0x7369, 0x7365, |
| 1699 | | 0x202c, 0x744c, 0x2e64, 0x410a, 0x756d, 0x6573, 0x656d, 0x746e, |
| 1700 | | 0x5220, 0x4426, 0x4420, 0x7065, 0x2e74, 0x2320, 0x3231, 0x4b0a, |
| 1701 | | 0x7461, 0x7573, 0x6179, 0x7573, 0x4120, 0x646e, 0x206f, 0x2026, |
| 1702 | | 0x614b, 0x6f79, 0x6f6b, 0x5920, 0x6d61, 0x6d61, 0x746f, 0x0a6f, |
| 1703 | | }; |
| 1704 | 1677 | |
| 1705 | 1678 | static const UINT16 fvipers2_prot_data[] = |
| 1706 | 1679 | { |
| r243062 | r243063 | |
| 1763 | 1736 | case 0x00 / 8: retvalue = 0; break; /* status */ |
| 1764 | 1737 | case 0x1c/8: /* security board data read */ |
| 1765 | 1738 | { |
| 1766 | | if (core_stricmp(machine().system().name, "vs299") == 0 || |
| 1767 | | core_stricmp(machine().system().name, "vs2v991") == 0) |
| 1739 | if (core_stricmp(machine().system().name, "fvipers2") == 0) |
| 1768 | 1740 | { |
| 1769 | | retvalue = (UINT64)vs299_prot_data[m_prot_data_ptr++] << 48; |
| 1770 | | } |
| 1771 | | else if (core_stricmp(machine().system().name, "swtrilgy") == 0 || |
| 1772 | | core_stricmp(machine().system().name, "swtrilgya") == 0) |
| 1773 | | { |
| 1774 | | UINT64 data = (UINT64)swt_prot_data[m_prot_data_ptr++] << 16; |
| 1775 | | if (m_prot_data_ptr > 0x38) |
| 1776 | | { |
| 1777 | | m_prot_data_ptr = 0; |
| 1778 | | } |
| 1779 | | retvalue = data; |
| 1780 | | } |
| 1781 | | else if (core_stricmp(machine().system().name, "fvipers2") == 0) |
| 1782 | | { |
| 1783 | 1741 | UINT64 data = (UINT64)fvipers2_prot_data[m_prot_data_ptr++] << 16; |
| 1784 | 1742 | if (m_prot_data_ptr >= 0x41) |
| 1785 | 1743 | { |
| r243062 | r243063 | |
| 5623 | 5581 | MCFG_SOUND_ROUTE(0, "rspeaker", 2.0) |
| 5624 | 5582 | MACHINE_CONFIG_END |
| 5625 | 5583 | |
| 5584 | static MACHINE_CONFIG_DERIVED( model3_20_5881, model3_20 ) |
| 5585 | MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0) |
| 5586 | MCFG_SET_READ_CALLBACK(model3_state, crypt_read_callback) |
| 5587 | MACHINE_CONFIG_END |
| 5588 | |
| 5626 | 5589 | static MACHINE_CONFIG_START( model3_21, model3_state ) |
| 5627 | 5590 | MCFG_CPU_ADD("maincpu", PPC603R, 166000000) |
| 5628 | 5591 | MCFG_PPC_BUS_FREQUENCY(66000000) /* Multiplier 2.5, Bus = 66MHz, Core = 166MHz */ |
| r243062 | r243063 | |
| 5891 | 5854 | DRIVER_INIT_MEMBER(model3_state,vs298) |
| 5892 | 5855 | { |
| 5893 | 5856 | DRIVER_INIT_CALL(model3_20); |
| 5857 | DRIVER_INIT_CALL(genprot); |
| 5894 | 5858 | } |
| 5895 | 5859 | |
| 5896 | 5860 | |
| 5897 | | DRIVER_INIT_MEMBER(model3_state,vs2v991) |
| 5898 | | { |
| 5899 | | DRIVER_INIT_CALL(model3_20); |
| 5900 | | } |
| 5901 | 5861 | |
| 5902 | | DRIVER_INIT_MEMBER(model3_state,vs299b) |
| 5903 | | { |
| 5904 | | DRIVER_INIT_CALL(model3_20); |
| 5905 | | } |
| 5906 | 5862 | |
| 5907 | | DRIVER_INIT_MEMBER(model3_state,vs299a) |
| 5908 | | { |
| 5909 | | DRIVER_INIT_CALL(model3_20); |
| 5910 | | } |
| 5911 | | |
| 5912 | 5863 | DRIVER_INIT_MEMBER(model3_state,vs299) |
| 5913 | 5864 | { |
| 5914 | 5865 | DRIVER_INIT_CALL(model3_20); |
| 5866 | DRIVER_INIT_CALL(genprot); |
| 5915 | 5867 | } |
| 5916 | 5868 | |
| 5917 | 5869 | DRIVER_INIT_MEMBER(model3_state,harley) |
| r243062 | r243063 | |
| 6096 | 6048 | GAME( 1998, vs29815, vs298, model3_15, model3, model3_state, vs29815, ROT0, "Sega", "Virtua Striker 2 '98 (Step 1.5)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6097 | 6049 | |
| 6098 | 6050 | /* Model 3 Step 2.0 */ |
| 6099 | | GAME( 1997, vs2, 0, model3_20, model3, model3_state, vs2, ROT0, "Sega", "Virtua Striker 2 (Step 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6100 | | GAME( 1997, harley, 0, model3_20, harley, model3_state, harley, ROT0, "Sega", "Harley-Davidson and L.A. Riders (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6101 | | GAME( 1997, harleya, harley, model3_20, harley, model3_state, harleya, ROT0, "Sega", "Harley-Davidson and L.A. Riders (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6102 | | GAME( 1998, lamachin, 0, model3_20, model3, model3_state, lamachin, ROT0, "Sega", "L.A. Machineguns", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6103 | | GAME( 1998, oceanhun, 0, model3_20, model3, model3_state, oceanhun, ROT0, "Sega", "The Ocean Hunter", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6104 | | GAME( 1998, skichamp, 0, model3_20, skichamp, model3_state, skichamp, ROT0, "Sega", "Ski Champ", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6105 | | GAME( 1998, srally2, 0, model3_20, scud, model3_state, srally2, ROT0, "Sega", "Sega Rally 2", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6106 | | GAME( 1998, srally2x, 0, model3_20, scud, model3_state, srally2, ROT0, "Sega", "Sega Rally 2 DX", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6107 | | 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 ) |
| 6108 | | 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 ) |
| 6109 | | 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 ) |
| 6110 | | 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 ) |
| 6111 | | 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 ) |
| 6112 | | 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 ) |
| 6113 | | 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 ) |
| 6114 | | 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 ) |
| 6051 | GAME( 1997, vs2, 0, model3_20, model3, model3_state, vs2, ROT0, "Sega", "Virtua Striker 2 (Step 2.0)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6052 | GAME( 1997, harley, 0, model3_20, harley, model3_state, harley, ROT0, "Sega", "Harley-Davidson and L.A. Riders (Revision B)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6053 | GAME( 1997, harleya, harley, model3_20, harley, model3_state, harleya, ROT0, "Sega", "Harley-Davidson and L.A. Riders (Revision A)", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6054 | GAME( 1998, lamachin, 0, model3_20, model3, model3_state, lamachin, ROT0, "Sega", "L.A. Machineguns", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6055 | GAME( 1998, oceanhun, 0, model3_20, model3, model3_state, oceanhun, ROT0, "Sega", "The Ocean Hunter", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6056 | GAME( 1998, skichamp, 0, model3_20, skichamp, model3_state, skichamp, ROT0, "Sega", "Ski Champ", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6057 | GAME( 1998, srally2, 0, model3_20, scud, model3_state, srally2, ROT0, "Sega", "Sega Rally 2", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6058 | GAME( 1998, srally2x, 0, model3_20, scud, model3_state, srally2, ROT0, "Sega", "Sega Rally 2 DX", GAME_NOT_WORKING | GAME_IMPERFECT_GRAPHICS | GAME_IMPERFECT_SOUND ) |
| 6059 | 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 ) |
| 6060 | 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 ) |
| 6061 | 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 ) |
| 6062 | 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 ) |
| 6063 | 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 ) |
| 6064 | 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 ) |
| 6065 | 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 ) |
| 6066 | 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 ) |
| 6115 | 6067 | |
| 6116 | 6068 | /* Model 3 Step 2.1 */ |
| 6117 | 6069 | 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 ) |