trunk/src/mame/drivers/model2.c
| r243049 | r243050 | |
| 124 | 124 | #include "sound/2612intf.h" |
| 125 | 125 | #include "includes/model2.h" |
| 126 | 126 | |
| 127 | | |
| 128 | 127 | enum { |
| 129 | 128 | DSP_TYPE_TGP = 1, |
| 130 | 129 | DSP_TYPE_SHARC = 2, |
| r243049 | r243050 | |
| 1247 | 1246 | if (offset == 0x10000/4) |
| 1248 | 1247 | { |
| 1249 | 1248 | // status: bit 0 = 1 for busy, 0 for ready |
| 1250 | | return 0; // we're always ready |
| 1249 | retval = 0; // we're always ready |
| 1251 | 1250 | } |
| 1252 | 1251 | else if (offset == 0x1000e/4) |
| 1253 | 1252 | { |
| r243049 | r243050 | |
| 1264 | 1263 | { |
| 1265 | 1264 | m_prot_a = !m_prot_a; |
| 1266 | 1265 | if (m_prot_a) |
| 1267 | | return 0xffff; |
| 1266 | retval = 0xffff; |
| 1268 | 1267 | else |
| 1269 | | return 0xfff0; |
| 1268 | retval = 0xfff0; |
| 1270 | 1269 | } |
| 1271 | 1270 | else logerror("Unhandled Protection READ @ %x mask %x (PC=%x)\n", offset, mem_mask, space.device().safe_pc()); |
| 1272 | 1271 | |
| 1272 | printf("model2_prot_r %08x: %08x (%08x)\n", offset*4, retval, mem_mask); |
| 1273 | |
| 1273 | 1274 | return retval; |
| 1274 | 1275 | } |
| 1275 | 1276 | |
| 1276 | 1277 | WRITE32_MEMBER(model2_state::model2_prot_w) |
| 1277 | 1278 | { |
| 1279 | printf("model2_prot_w %08x: %08x (%08x)\n", offset*4, data, mem_mask); |
| 1280 | |
| 1278 | 1281 | if (mem_mask == 0xffff0000) |
| 1279 | 1282 | { |
| 1280 | 1283 | data >>= 16; |
| r243049 | r243050 | |
| 1330 | 1333 | break; |
| 1331 | 1334 | } |
| 1332 | 1335 | } |
| 1333 | | else if (offset == 0x7ff2/4) |
| 1336 | else logerror("Unhandled Protection WRITE %x @ %x mask %x (PC=%x)\n", data, offset, mem_mask, space.device().safe_pc()); |
| 1337 | |
| 1338 | } |
| 1339 | |
| 1340 | WRITE32_MEMBER(model2_state::doa_prot_w) |
| 1341 | { |
| 1342 | if (offset == 0x7ff2 / 4) |
| 1334 | 1343 | { |
| 1335 | 1344 | if (data == 0) |
| 1336 | 1345 | { |
| r243049 | r243050 | |
| 1339 | 1348 | } |
| 1340 | 1349 | } |
| 1341 | 1350 | else logerror("Unhandled Protection WRITE %x @ %x mask %x (PC=%x)\n", data, offset, mem_mask, space.device().safe_pc()); |
| 1342 | | |
| 1343 | 1351 | } |
| 1344 | 1352 | |
| 1345 | 1353 | /* Daytona "To The MAXX" PIC protection simulation */ |
| r243049 | r243050 | |
| 2534 | 2542 | MCFG_SEGAM1AUDIO_ADD("m1audio") |
| 2535 | 2543 | MACHINE_CONFIG_END |
| 2536 | 2544 | |
| 2545 | UINT16 model2_state::crypt_read_callback(UINT32 addr) |
| 2546 | { |
| 2547 | UINT16 dat= m_maincpu->space().read_word((0x1d80000+2*addr)); |
| 2548 | return ((dat&0xff00)>>8)|((dat&0x00ff)<<8); |
| 2549 | } |
| 2550 | |
| 2551 | static MACHINE_CONFIG_DERIVED( model2a_5881, model2a ) |
| 2552 | MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0) |
| 2553 | MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback) |
| 2554 | MACHINE_CONFIG_END |
| 2555 | |
| 2537 | 2556 | READ8_MEMBER(model2_state::driveio_port_r) |
| 2538 | 2557 | { |
| 2539 | 2558 | return m_driveio_comm_data; |
| r243049 | r243050 | |
| 2631 | 2650 | MCFG_SOUND_ROUTE(0, "rspeaker", 2.0) |
| 2632 | 2651 | MACHINE_CONFIG_END |
| 2633 | 2652 | |
| 2653 | |
| 2654 | static MACHINE_CONFIG_DERIVED( model2b_5881, model2b ) |
| 2655 | MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0) |
| 2656 | MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback) |
| 2657 | MACHINE_CONFIG_END |
| 2658 | |
| 2634 | 2659 | static ADDRESS_MAP_START( copro_tgpx4_map, AS_PROGRAM, 32, model2_state ) |
| 2635 | 2660 | AM_RANGE(0x00000000, 0x00007fff) AM_RAM AM_SHARE("tgpx4_program") |
| 2636 | 2661 | ADDRESS_MAP_END |
| r243049 | r243050 | |
| 2690 | 2715 | MCFG_SOUND_ROUTE(1, "rspeaker", 1.0) |
| 2691 | 2716 | MACHINE_CONFIG_END |
| 2692 | 2717 | |
| 2718 | static MACHINE_CONFIG_DERIVED( model2c_5881, model2c ) |
| 2719 | MCFG_DEVICE_ADD("315_5881", SEGA315_5881_CRYPT, 0) |
| 2720 | MCFG_SET_READ_CALLBACK(model2_state, crypt_read_callback) |
| 2721 | MACHINE_CONFIG_END |
| 2722 | |
| 2723 | |
| 2693 | 2724 | /* ROM definitions */ |
| 2694 | 2725 | |
| 2695 | 2726 | /* |
| r243049 | r243050 | |
| 5886 | 5917 | |
| 5887 | 5918 | DRIVER_INIT_MEMBER(model2_state,pltkids) |
| 5888 | 5919 | { |
| 5889 | | UINT32 *ROM = (UINT32 *)memregion("maincpu")->base(); |
| 5920 | DRIVER_INIT_CALL(genprot); |
| 5890 | 5921 | |
| 5891 | | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this)); |
| 5892 | | m_protstate = m_protpos = 0; |
| 5893 | | |
| 5894 | 5922 | // fix bug in program: it destroys the interrupt table and never fixes it |
| 5923 | UINT32 *ROM = (UINT32 *)memregion("maincpu")->base(); |
| 5895 | 5924 | ROM[0x730/4] = 0x08000004; |
| 5896 | 5925 | } |
| 5897 | 5926 | |
| 5898 | 5927 | DRIVER_INIT_MEMBER(model2_state,zerogun) |
| 5899 | 5928 | { |
| 5900 | | UINT32 *ROM = (UINT32 *)memregion("maincpu")->base(); |
| 5929 | DRIVER_INIT_CALL(genprot); |
| 5901 | 5930 | |
| 5902 | | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this)); |
| 5903 | | m_protstate = m_protpos = 0; |
| 5904 | | |
| 5905 | 5931 | // fix bug in program: it destroys the interrupt table and never fixes it |
| 5932 | UINT32 *ROM = (UINT32 *)memregion("maincpu")->base(); |
| 5906 | 5933 | ROM[0x700/4] = 0x08000004; |
| 5907 | 5934 | } |
| 5908 | 5935 | |
| r243049 | r243050 | |
| 5939 | 5966 | |
| 5940 | 5967 | DRIVER_INIT_MEMBER(model2_state,sgt24h) |
| 5941 | 5968 | { |
| 5942 | | UINT32 *ROM = (UINT32 *)memregion("maincpu")->base(); |
| 5969 | // DRIVER_INIT_CALL(genprot); |
| 5943 | 5970 | |
| 5944 | | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this)); |
| 5945 | 5971 | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x01a10000, 0x01a1ffff, read32_delegate(FUNC(model2_state::jaleco_network_r),this), write32_delegate(FUNC(model2_state::jaleco_network_w),this)); |
| 5946 | 5972 | |
| 5947 | | m_protstate = m_protpos = 0; |
| 5948 | | |
| 5973 | UINT32 *ROM = (UINT32 *)memregion("maincpu")->base(); |
| 5949 | 5974 | ROM[0x56578/4] = 0x08000004; |
| 5950 | 5975 | //ROM[0x5b3e8/4] = 0x08000004; |
| 5951 | 5976 | } |
| r243049 | r243050 | |
| 5958 | 5983 | |
| 5959 | 5984 | DRIVER_INIT_MEMBER(model2_state,doa) |
| 5960 | 5985 | { |
| 5961 | | UINT32 *ROM = (UINT32 *)memregion("maincpu")->base(); |
| 5962 | | |
| 5963 | | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x01d80000, 0x01dfffff, read32_delegate(FUNC(model2_state::model2_prot_r),this), write32_delegate(FUNC(model2_state::model2_prot_w),this)); |
| 5986 | m_maincpu->space(AS_PROGRAM).install_write_handler(0x01d80000, 0x01dfffff, write32_delegate(FUNC(model2_state::doa_prot_w),this)); |
| 5964 | 5987 | m_protstate = m_protpos = 0; |
| 5965 | 5988 | |
| 5989 | |
| 5990 | UINT32 *ROM = (UINT32 *)memregion("maincpu")->base(); |
| 5966 | 5991 | ROM[0x630/4] = 0x08000004; |
| 5967 | 5992 | ROM[0x808/4] = 0x08000004; |
| 5968 | 5993 | } |
| r243049 | r243050 | |
| 5991 | 6016 | GAME( 1994, vcopa, vcop, model2o, vcop, driver_device, 0, ROT0, "Sega", "Virtua Cop (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 5992 | 6017 | |
| 5993 | 6018 | // Model 2A-CRX (TGPs, SCSP sound board) |
| 5994 | | GAME( 1995, manxtt, 0, manxttdx,manxtt, driver_device, 0, ROT0, "Sega", "Manx TT Superbike - DX (Revision D)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 5995 | | GAME( 1995, manxttc, 0, model2a, manxtt, driver_device, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 5996 | | GAME( 1995, srallyc, 0, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - TWIN (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 5997 | | GAME( 1995, srallycb, srallyc, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - TWIN (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 5998 | | GAME( 1995, srallyca, srallyc, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - DX (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 5999 | | GAME( 1995, vf2, 0, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Version 2.1)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6000 | | GAME( 1995, vf2b, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6001 | | GAME( 1995, vf2a, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6002 | | GAME( 1995, vf2o, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6003 | | GAME( 1995, vcop2, 0, model2a, vcop2, driver_device, 0, ROT0, "Sega", "Virtua Cop 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6004 | | GAME( 1995, skytargt, 0, model2a, skytargt,driver_device, 0, ROT0, "Sega", "Sky Target", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6005 | | GAME( 1996, doaa, doa, model2a, model2, model2_state, doa, ROT0, "Sega", "Dead or Alive (Model 2A, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6006 | | GAME( 1997, zeroguna, zerogun, model2a, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6007 | | GAME( 1997, zerogunaj, zerogun, model2a, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6008 | | GAME( 1997, motoraid, 0, model2a, manxtt, driver_device, 0, ROT0, "Sega", "Motor Raid - Twin", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6009 | | GAME( 1998, dynamcop, 0, model2a, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6010 | | GAME( 1998, dyndeka2, dynamcop, model2a, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6011 | | GAME( 1998, pltkidsa, pltkids, model2a, model2, model2_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6019 | GAME( 1995, manxtt, 0, manxttdx ,manxtt, driver_device, 0, ROT0, "Sega", "Manx TT Superbike - DX (Revision D)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6020 | GAME( 1995, manxttc, 0, model2a, manxtt, driver_device, 0, ROT0, "Sega", "Manx TT Superbike - Twin (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6021 | GAME( 1995, srallyc, 0, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - TWIN (Revision C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6022 | GAME( 1995, srallycb, srallyc, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - TWIN (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6023 | GAME( 1995, srallyca, srallyc, srallyc, srallyc, model2_state, srallyc, ROT0, "Sega", "Sega Rally Championship - DX (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6024 | GAME( 1995, vf2, 0, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Version 2.1)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6025 | GAME( 1995, vf2b, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6026 | GAME( 1995, vf2a, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6027 | GAME( 1995, vf2o, vf2, model2a, model2, driver_device, 0, ROT0, "Sega", "Virtua Fighter 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6028 | GAME( 1995, vcop2, 0, model2a, vcop2, driver_device, 0, ROT0, "Sega", "Virtua Cop 2", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6029 | GAME( 1995, skytargt, 0, model2a, skytargt,driver_device, 0, ROT0, "Sega", "Sky Target", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6030 | GAME( 1996, doaa, doa, model2a, model2, model2_state, doa, ROT0, "Sega", "Dead or Alive (Model 2A, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6031 | GAME( 1997, zeroguna, zerogun, model2a_5881, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6032 | GAME( 1997, zerogunaj, zerogun, model2a_5881, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6033 | GAME( 1997, motoraid, 0, model2a, manxtt, driver_device, 0, ROT0, "Sega", "Motor Raid - Twin", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6034 | GAME( 1998, dynamcop, 0, model2a_5881, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6035 | GAME( 1998, dyndeka2, dynamcop, model2a_5881, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6036 | GAME( 1998, pltkidsa, pltkids, model2a_5881, model2, model2_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6012 | 6037 | |
| 6013 | 6038 | // Model 2B-CRX (SHARC, SCSP sound board) |
| 6014 | | GAME( 1994, vstriker, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Virtua Striker (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6015 | | GAME( 1994, vstrikero,vstriker, model2b, model2, driver_device, 0, ROT0, "Sega", "Virtua Striker", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6016 | | GAME( 1995, fvipers, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Fighting Vipers (Revision D)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6017 | | GAME( 1995, gunblade, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Gunblade NY (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6018 | | GAME( 1995, indy500, 0, model2b, srallyc, driver_device, 0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6019 | | GAME( 1995, indy500d, indy500, model2b, srallyc, driver_device, 0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6020 | | GAME( 1995, indy500to, indy500, model2b, srallyc, driver_device, 0, ROT0, "Sega", "INDY 500 Twin (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6021 | | GAME( 1996, schamp, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Sonic Championship (USA)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6022 | | GAME( 1996, sfight, schamp, model2b, model2, driver_device, 0, ROT0, "Sega", "Sonic the Fighters (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6023 | | GAME( 1996, lastbrnx, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6024 | | GAME( 1996, lastbrnxu,lastbrnx, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6025 | | GAME( 1996, lastbrnxj,lastbrnx, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6026 | | GAME( 1996, doa, 0, model2b, model2, model2_state, doa, ROT0, "Sega", "Dead or Alive (Model 2B, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6027 | | GAME( 1996, sgt24h, 0, model2b, srallyc, model2_state, sgt24h, ROT0, "Jaleco", "Super GT 24h", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6028 | | GAME( 1996, von, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (USA, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6029 | | GAME( 1996, vonj, von, model2b, model2, driver_device, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (Japan, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6030 | | GAME( 1996, dynabb, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Dynamite Baseball", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6031 | | GAME( 1997, dynabb97, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Dynamite Baseball 97 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6032 | | GAME( 1997, overrevb, overrev, model2b, srallyc, model2_state, overrev, ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6033 | | GAME( 1997, zerogun, 0, model2b, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6034 | | GAME( 1997, zerogunj, zerogun, model2b, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6035 | | GAME( 1998, dynamcopb,dynamcop, model2b, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6036 | | GAME( 1998, dyndeka2b,dynamcop, model2b, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6037 | | GAME( 1998, pltkids, 0, model2b, model2, model2_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2B, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6038 | | GAME( 1995, rchase2, 0, model2b, rchase2, model2_state, rchase2, ROT0, "Sega", "Rail Chase 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6039 | GAME( 1994, vstriker, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Virtua Striker (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6040 | GAME( 1994, vstrikero,vstriker, model2b, model2, driver_device, 0, ROT0, "Sega", "Virtua Striker", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6041 | GAME( 1995, fvipers, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Fighting Vipers (Revision D)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6042 | GAME( 1995, gunblade, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Gunblade NY (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6043 | GAME( 1995, indy500, 0, model2b, srallyc, driver_device, 0, ROT0, "Sega", "INDY 500 Twin (Revision A, Newer)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6044 | GAME( 1995, indy500d, indy500, model2b, srallyc, driver_device, 0, ROT0, "Sega", "INDY 500 Deluxe (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6045 | GAME( 1995, indy500to, indy500, model2b, srallyc, driver_device, 0, ROT0, "Sega", "INDY 500 Twin (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6046 | GAME( 1996, schamp, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Sonic Championship (USA)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6047 | GAME( 1996, sfight, schamp, model2b, model2, driver_device, 0, ROT0, "Sega", "Sonic the Fighters (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6048 | GAME( 1996, lastbrnx, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6049 | GAME( 1996, lastbrnxu,lastbrnx, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6050 | GAME( 1996, lastbrnxj,lastbrnx, model2b, model2, driver_device, 0, ROT0, "Sega", "Last Bronx (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6051 | GAME( 1996, doa, 0, model2b, model2, model2_state, doa, ROT0, "Sega", "Dead or Alive (Model 2B, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6052 | GAME( 1996, sgt24h, 0, model2b, srallyc, model2_state, sgt24h, ROT0, "Jaleco", "Super GT 24h", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6053 | GAME( 1996, von, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (USA, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6054 | GAME( 1996, vonj, von, model2b, model2, driver_device, 0, ROT0, "Sega", "Cyber Troopers Virtual-On (Japan, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6055 | GAME( 1996, dynabb, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Dynamite Baseball", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6056 | GAME( 1997, dynabb97, 0, model2b, model2, driver_device, 0, ROT0, "Sega", "Dynamite Baseball 97 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6057 | GAME( 1997, overrevb, overrev, model2b, srallyc, model2_state, overrev, ROT0, "Jaleco", "Over Rev (Model 2B, Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6058 | GAME( 1997, zerogun, 0, model2b_5881, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Export, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6059 | GAME( 1997, zerogunj, zerogun, model2b_5881, model2, model2_state, zerogun, ROT0, "Psikyo", "Zero Gunner (Japan, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6060 | GAME( 1998, dynamcopb,dynamcop, model2b_5881, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (Export, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6061 | GAME( 1998, dyndeka2b,dynamcop, model2b_5881, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Deka 2 (Japan, Model 2B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6062 | GAME( 1998, pltkids, 0, model2b_5881, model2, model2_state, pltkids, ROT0, "Psikyo", "Pilot Kids (Model 2B, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6063 | GAME( 1995, rchase2, 0, model2b, rchase2, model2_state, rchase2, ROT0, "Sega", "Rail Chase 2 (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6039 | 6064 | |
| 6040 | 6065 | // Model 2C-CRX (TGPx4, SCSP sound board) |
| 6041 | | GAME( 1996, skisuprg, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Ski Super G", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS|GAME_UNEMULATED_PROTECTION ) |
| 6042 | | GAME( 1996, stcc, 0, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6043 | | GAME( 1996, stccb, stcc, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6044 | | GAME( 1996, stcca, stcc, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6045 | | GAME( 1996, waverunr, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Wave Runner (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6046 | | GAME( 1997, hotd, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "House of the Dead", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6047 | | GAME( 1997, overrev, 0, model2c, srallyc, model2_state, overrev, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6048 | | GAME( 1997, segawski, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Water Ski (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6049 | | GAME( 1997, topskatr, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6050 | | GAME( 1997, topskatru,topskatr, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6051 | | GAME( 1997, topskatrj,topskatr, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6052 | | GAME( 1998, bel, 0, model2c, bel, driver_device, 0, ROT0, "Sega / EPL Productions", "Behind Enemy Lines", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6053 | | GAME( 1998, dynamcopc,dynamcop, model2c, model2, driver_device, 0, ROT0, "Sega", "Dynamite Cop (USA, Model 2C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6066 | GAME( 1996, skisuprg, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Ski Super G", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS|GAME_UNEMULATED_PROTECTION ) |
| 6067 | GAME( 1996, stcc, 0, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6068 | GAME( 1996, stccb, stcc, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision B)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6069 | GAME( 1996, stcca, stcc, stcc, model2, driver_device, 0, ROT0, "Sega", "Sega Touring Car Championship (Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6070 | GAME( 1996, waverunr, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Wave Runner (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6071 | GAME( 1997, hotd, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "House of the Dead", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6072 | GAME( 1997, overrev, 0, model2c, srallyc, model2_state, overrev, ROT0, "Jaleco", "Over Rev (Model 2C, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6073 | GAME( 1997, segawski, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Sega Water Ski (Japan, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6074 | GAME( 1997, topskatr, 0, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (Export, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6075 | GAME( 1997, topskatru,topskatr, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (USA, Revision A)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6076 | GAME( 1997, topskatrj,topskatr, model2c, model2, driver_device, 0, ROT0, "Sega", "Top Skater (Japan)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6077 | GAME( 1998, bel, 0, model2c, bel, driver_device, 0, ROT0, "Sega / EPL Productions", "Behind Enemy Lines", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 6078 | GAME( 1998, dynamcopc,dynamcop, model2c_5881, model2, model2_state, genprot, ROT0, "Sega", "Dynamite Cop (USA, Model 2C)", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |