Previous 199869 Revisions Next

r36955 Sunday 5th April, 2015 at 15:29:59 UTC by David Haywood
new games
Car Hunt / Deep Scan (France) [Ricky2001 (from AUMAP)]
[src/mame]mame.lst
[src/mame/drivers]vicdual.c
[src/mame/includes]vicdual.h

trunk/src/mame/drivers/vicdual.c
r245466r245467
10441044   if (offset & 0x40)  vicdual_palette_bank_w(space, 0, data);
10451045}
10461046
1047WRITE8_MEMBER(vicdual_state::carhntds_io_w)
1048{
1049   if (offset & 0x01) { /* invinco_audio_w(space, 0, data); */ }
1050   if (offset & 0x02) { /* deepscan_audio_w(0, data) */ }
1051   if (offset & 0x08)  assert_coin_status();
1052   if (offset & 0x40)  vicdual_palette_bank_w(space, 0, data);
1053}
10471054
1055
10481056WRITE8_MEMBER(vicdual_state::sspacaho_io_w)
10491057{
10501058   if (offset & 0x01)  invho2_audio_w(space, 0, data);
r245466r245467
11151123
11161124
11171125static ADDRESS_MAP_START( vicdual_dualgame_map, AS_PROGRAM, 8, vicdual_state )
1118   AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
1126    AM_RANGE(0x0000, 0x3fff) AM_MIRROR(0x4000) AM_ROM
11191127   AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x7000) AM_RAM_WRITE(vicdual_videoram_w) AM_SHARE("videoram")
11201128   AM_RANGE(0x8400, 0x87ff) AM_MIRROR(0x7000) AM_RAM
11211129   AM_RANGE(0x8800, 0x8fff) AM_MIRROR(0x7000) AM_RAM_WRITE(vicdual_characterram_w) AM_SHARE("characterram")
11221130ADDRESS_MAP_END
11231131
1132static ADDRESS_MAP_START( carhntds_dualgame_map, AS_PROGRAM, 8, vicdual_state )
1133   AM_RANGE(0x0000, 0x7fff) AM_ROM // also has part of a rom mapped at 0x4000
1134   AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x7000) AM_RAM_WRITE(vicdual_videoram_w) AM_SHARE("videoram")
1135   AM_RANGE(0x8400, 0x87ff) AM_MIRROR(0x7000) AM_RAM
1136   AM_RANGE(0x8800, 0x8fff) AM_MIRROR(0x7000) AM_RAM_WRITE(vicdual_characterram_w) AM_SHARE("characterram")
1137ADDRESS_MAP_END
11241138
11251139static ADDRESS_MAP_START( invho2_io_map, AS_IO, 8, vicdual_state )
11261140   ADDRESS_MAP_GLOBAL_MASK(0x7f)
r245466r245467
11491163   AM_RANGE(0x00, 0x7f) AM_WRITE(invds_io_w)
11501164ADDRESS_MAP_END
11511165
1166static ADDRESS_MAP_START( carhntds_io_map, AS_IO, 8, vicdual_state )
1167   ADDRESS_MAP_GLOBAL_MASK(0x7f)
11521168
1169   AM_RANGE(0x00, 0x00) AM_MIRROR(0x7c) AM_READ_PORT("IN0")
1170   AM_RANGE(0x01, 0x01) AM_MIRROR(0x7c) AM_READ_PORT("IN1")
1171   AM_RANGE(0x02, 0x02) AM_MIRROR(0x7c) AM_READ_PORT("IN2")
1172   AM_RANGE(0x03, 0x03) AM_MIRROR(0x7c) AM_READ_PORT("IN3")
1173
1174   /* no decoder, just logic gates, so in theory the
1175      game can write to multiple locations at once */
1176   AM_RANGE(0x00, 0x7f) AM_WRITE(carhntds_io_w)
1177ADDRESS_MAP_END
1178
11531179static ADDRESS_MAP_START( sspacaho_io_map, AS_IO, 8, vicdual_state )
11541180   ADDRESS_MAP_GLOBAL_MASK(0x7f)
11551181
r245466r245467
13391365INPUT_PORTS_END
13401366
13411367
1368static INPUT_PORTS_START( carhntds )
1369   PORT_START("IN0")
1370   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
1371   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
1372   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001)
1373   PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unused ) )   PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?)
1374   PORT_DIPSETTING(    0x08, DEF_STR( Off ) )
1375   PORT_DIPSETTING(    0x00, DEF_STR( On ) )
1376   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY
1377   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP) PORT_4WAY PORT_NAME("P1 Up / Fire Left") // it's UP on Car Hunt but Fire Left on Deep Scan, what was it on the control panel??
1378   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1379
1380   PORT_START("IN1")
1381   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
1382   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
1383   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002)
1384   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_composite_blank_comp, NULL)
1385   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT  ) PORT_4WAY
1386   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY
1387   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1388
1389   PORT_START("IN2")
1390   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
1391   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
1392   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x101)
1393   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_timer_value, NULL)
1394   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 )
1395   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 )
1396   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1397
1398   PORT_START("IN3")
1399   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
1400   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
1401   PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x102)
1402   PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL)
1403   PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_NAME("Game Select") PORT_TOGGLE
1404   PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 )
1405   PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED )
1406
1407   PORT_COIN_DEFAULT
1408
1409   PORT_START("FAKE_LIVES1")
1410   PORT_DIPNAME( 0x03, 0x01, "Car Hunt Lives" )   PORT_DIPLOCATION("SW1:1,2")
1411   PORT_DIPSETTING(    0x03, "1" )
1412   PORT_DIPSETTING(    0x02, "2" )
1413   PORT_DIPSETTING(    0x01, "3" )
1414   PORT_DIPSETTING(    0x00, "4" )
1415
1416   PORT_START("FAKE_LIVES2")
1417   PORT_DIPNAME( 0x03, 0x03, "Deep Scan Lives" )     PORT_DIPLOCATION("SW1:3,4")
1418   PORT_DIPSETTING(    0x02, "1" )
1419   PORT_DIPSETTING(    0x01, "2" )
1420   PORT_DIPSETTING(    0x00, "3" )
1421   PORT_DIPSETTING(    0x03, "4" )
1422INPUT_PORTS_END
1423
1424
13421425static INPUT_PORTS_START( invds )
13431426   PORT_START("IN0")
13441427   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_UNKNOWN )    /* probably unused */
r245466r245467
18831966MACHINE_CONFIG_END
18841967
18851968
1969
18861970static MACHINE_CONFIG_DERIVED( invho2, vicdual_dualgame_root )
18871971
18881972   /* basic machine hardware */
r245466r245467
18961980MACHINE_CONFIG_END
18971981
18981982
1983
18991984static MACHINE_CONFIG_DERIVED( invds, vicdual_dualgame_root )
19001985
19011986   /* basic machine hardware */
r245466r245467
19071992   MCFG_FRAGMENT_ADD(invinco_audio)
19081993MACHINE_CONFIG_END
19091994
1995static MACHINE_CONFIG_DERIVED( carhntds, vicdual_dualgame_root )
1996   /* basic machine hardware */
1997   MCFG_CPU_MODIFY("maincpu")
1998   MCFG_CPU_PROGRAM_MAP(carhntds_dualgame_map)
1999   MCFG_CPU_IO_MAP(carhntds_io_map)
2000MACHINE_CONFIG_END
19102001
2002
19112003static MACHINE_CONFIG_DERIVED( sspacaho, vicdual_dualgame_root )
19122004
19132005   /* basic machine hardware */
r245466r245467
29853077   ROM_LOAD( "316-0206.u14", 0x0000, 0x0020, CRC(9617d796) SHA1(7cff2741866095ff42eadd8022bea349ec8d2f39) )    /* control PROM */
29863078ROM_END
29873079
3080ROM_START( carhntds )
3081   ROM_REGION( 0x10000, "maincpu", 0 )
3082   ROM_LOAD( "epr617.u33",      0x0000, 0x0400, CRC(0bbfdb4e) SHA1(383599276923264602a0b5efeac9697d9c15a20f) )
3083   ROM_CONTINUE(0x4000, 0x400)
3084   ROM_LOAD( "epr618.u32",      0x0400, 0x0400, CRC(5a080b1d) SHA1(3c3d6b8b16d9a8976ee63435e949b67f025e38d8) )
3085   ROM_LOAD( "epr619.u31",      0x0800, 0x0400, CRC(c6f2f399) SHA1(4bb34816042ec352b0bb71d2d654ebb6fb5083e9) )
3086   ROM_LOAD( "epr620.u30",      0x0c00, 0x0400, CRC(d9deb88f) SHA1(a863f29cfed782c8871a2268aa28a67ccced1b45) )
3087   ROM_LOAD( "epr621.u29",      0x1000, 0x0400, CRC(43e5de5c) SHA1(3adff5042be73f4693cee7977c88f425e930532d) )
3088   ROM_LOAD( "epr622.u28",      0x1400, 0x0400, CRC(c881a3bc) SHA1(fbff24c4075103fd686cfb376b08cf0677522222) )
3089   ROM_LOAD( "epr623.u27",      0x1800, 0x0400, CRC(297e7f42) SHA1(9e1042fe96f3bf55228b759b905467eff814ad84) )
3090   ROM_LOAD( "epr624.u26",      0x1c00, 0x0400, CRC(dc943125) SHA1(39f18e29cc3d03ee1b98a969f739e22dfd76b6f7) )
3091   ROM_LOAD( "epr625.u8",       0x2000, 0x0400, CRC(c86a0842) SHA1(5c59fe64985936b847a4c033a805153f627b1883) )
3092   ROM_LOAD( "epr626.u7",       0x2400, 0x0400, CRC(9a48c939) SHA1(2c898810f6fd97d4a6edb97236aaa29d08f5598a) )
3093   ROM_LOAD( "epr627.u6",       0x2800, 0x0400, CRC(b4b147e2) SHA1(8880f80708711b253f5da352679820500680ebab) )
3094   ROM_LOAD( "epr628.u5",       0x2c00, 0x0400, CRC(aecf3c26) SHA1(2f4419c6ccf03042cf32a415160e41d52fd0ef9c) )
3095   ROM_LOAD( "epr629.u4",       0x3000, 0x0400, CRC(c5be665b) SHA1(8bb145c140afa6166f08881b7e820335c3f83c08) )
3096   ROM_LOAD( "epr630.u3",       0x3400, 0x0400, CRC(4312388b) SHA1(d0b53d505276754651d2aeda4b17f2d600f65166) )
3097   ROM_LOAD( "epr631.u2",       0x3800, 0x0400, CRC(6766c7e5) SHA1(05b0ac31894c3c80d3940206aac2ef21a96ff849) )
3098   ROM_LOAD( "epr632.u1",       0x3c00, 0x0400, CRC(ae68b7d5) SHA1(de449b62ba39331a4ecf3dfe81511b21b7c881d5) )
3099
3100   ROM_REGION( 0x0020, "proms", 0 )
3101   ROM_LOAD( "316.0390.u49", 0x0000, 0x0020, CRC(a0811288) SHA1(a6e78c26f7eeb70125eee715eb6a3e3c82ed7fc8) )    /* color PROM */
3102ROM_END
3103
29883104ROM_START( tranqgun )
29893105   ROM_REGION( 0x10000, "maincpu", 0 )
29903106   ROM_LOAD( "u33.bin",      0x0000, 0x0400, CRC(6d50e902) SHA1(1d14c0b28cb3650bb57b9ef61265fe94c453d648) )
r245466r245467
35173633GAME( 1980, samurai,    0,        samurai,   samurai,   driver_device, 0, ROT270, "Sega", "Samurai", GAME_NO_SOUND )
35183634GAME( 1979, invinco,    0,        invinco,   invinco,   driver_device, 0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND )
35193635GAME( 1979, invds,      0,        invds,     invds,     driver_device, 0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND )
3636GAME( 1979, carhntds,   0,        carhntds,  carhntds,  driver_device, 0, ROT270, "Sega", "Car Hunt / Deep Scan (France)", GAME_NO_SOUND )
35203637GAME( 1980, tranqgun,   0,        tranqgun,  tranqgun,  driver_device, 0, ROT270, "Sega", "Tranquilizer Gun", GAME_NO_SOUND )
35213638GAME( 1980, spacetrk,   0,        spacetrk,  spacetrk,  driver_device, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND )
35223639GAME( 1980, spacetrkc,  spacetrk, spacetrk,  spacetrkc, driver_device, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND )
trunk/src/mame/includes/vicdual.h
r245466r245467
6666   DECLARE_WRITE8_MEMBER(digger_io_w);
6767   DECLARE_WRITE8_MEMBER(invho2_io_w);
6868   DECLARE_WRITE8_MEMBER(invds_io_w);
69   DECLARE_WRITE8_MEMBER(carhntds_io_w);
6970   DECLARE_WRITE8_MEMBER(sspacaho_io_w);
7071   DECLARE_WRITE8_MEMBER(tranqgun_io_w);
7172   DECLARE_WRITE8_MEMBER(spacetrk_io_w);
trunk/src/mame/mame.lst
r245466r245467
43334333samurai         // 289-302 + upgrades (c) 1980 Sega
43344334invinco         // 310-318 (c) 1979 Sega
43354335invds           // 367-382 (c) 1979 Sega
4336carhntds      //
43364337tranqgun        // 413-428 (c) 1980 Sega
43374338            // 450-465  Tranquilizer Gun (different version?)
43384339            // ???-??? Car Hunt / Deep Scan


Previous 199869 Revisions Next


© 1997-2024 The MAME Team