trunk/src/mame/drivers/vicdual.c
| r18613 | r18614 | |
| 29 | 29 | |
| 30 | 30 | Notes: |
| 31 | 31 | * Head On and Space Attack had both color and monochrome |
| 32 | | versions. There is a game configuration option to |
| 33 | | switch between them |
| 34 | | * There existed a vertical version of Head On as well |
| 32 | versions. There is a game configuration option to |
| 33 | switch between them. |
| 34 | * There existed a vertical version of Head On as well. |
| 35 | * According to the manuals, Borderline has the same sound |
| 36 | board as Tranquilizer Gun. |
| 35 | 37 | |
| 36 | 38 | Known issues/to-do's: |
| 37 | 39 | * Analog sound missing in many games |
| r18613 | r18614 | |
| 40 | 42 | blue color gun, Carnival, for example. |
| 41 | 43 | Colors inaccurate? Blue background? |
| 42 | 44 | * Do other games have coinage hardware like nsub? |
| 45 | brdrline and tranqgun have one too according to the manuals, |
| 46 | but hardware details aren't known yet. |
| 43 | 47 | * DIP switches need verifying in most of the games |
| 44 | 48 | * DIP switch locations need to be added to some |
| 45 | 49 | |
| r18613 | r18614 | |
| 1600 | 1604 | PORT_START("IN0") |
| 1601 | 1605 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 1602 | 1606 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL |
| 1603 | | PORT_DIPNAME( 0x04, 0x04, "Infinite Lives (Cheat)" ) PORT_DIPLOCATION("SW1:1") |
| 1604 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1605 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1606 | | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?) |
| 1607 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001) |
| 1608 | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 8-pos (is 6-8 unconnected?) |
| 1607 | 1609 | PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) |
| 1608 | 1610 | PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) |
| 1609 | 1611 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY |
| r18613 | r18614 | |
| 1613 | 1615 | PORT_START("IN1") |
| 1614 | 1616 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL |
| 1615 | 1617 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1616 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001) |
| 1618 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002) |
| 1617 | 1619 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL) |
| 1618 | 1620 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY |
| 1619 | 1621 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| r18613 | r18614 | |
| 1622 | 1624 | PORT_START("IN2") |
| 1623 | 1625 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 1624 | 1626 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1625 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002) |
| 1627 | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x004) |
| 1626 | 1628 | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL) /* yes, this is different */ |
| 1627 | 1629 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) |
| 1628 | 1630 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| r18613 | r18614 | |
| 1631 | 1633 | PORT_START("IN3") |
| 1632 | 1634 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1633 | 1635 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1634 | | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:4") |
| 1635 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1636 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1636 | PORT_DIPNAME( 0x04, 0x04, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:4") |
| 1637 | PORT_DIPSETTING( 0x04, "15000" ) |
| 1638 | PORT_DIPSETTING( 0x00, "20000" ) |
| 1637 | 1639 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| 1638 | 1640 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1639 | 1641 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) |
| r18613 | r18614 | |
| 1642 | 1644 | PORT_COIN_DEFAULT |
| 1643 | 1645 | |
| 1644 | 1646 | PORT_START("FAKE_LIVES1") |
| 1645 | | PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:2,3") |
| 1646 | | PORT_DIPSETTING( 0x00, "3" ) |
| 1647 | | PORT_DIPSETTING( 0x01, "4" ) |
| 1648 | | PORT_DIPSETTING( 0x02, "5" ) |
| 1649 | | // PORT_DIPSETTING( 0x03, "5" ) // dupe |
| 1647 | PORT_DIPNAME( 0x07, 0x01, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:1,2,3") |
| 1648 | PORT_DIPSETTING( 0x01, "3" ) |
| 1649 | PORT_DIPSETTING( 0x02, "4" ) |
| 1650 | PORT_DIPSETTING( 0x04, "5" ) |
| 1651 | PORT_DIPSETTING( 0x07, "Infinite (Cheat)" ) |
| 1650 | 1652 | INPUT_PORTS_END |
| 1651 | 1653 | |
| 1652 | 1654 | |
| 1653 | 1655 | static INPUT_PORTS_START( starrkr ) |
| 1654 | | PORT_START("IN0") |
| 1655 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1656 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_COCKTAIL |
| 1657 | | PORT_DIPNAME( 0x04, 0x04, "Infinite Lives (Cheat)" ) PORT_DIPLOCATION("SW1:1") |
| 1658 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1659 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1660 | | PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW1:5") // SW1 @ C1, 6-pos (is #6 unconnected?) |
| 1661 | | PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) |
| 1662 | | PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) |
| 1656 | PORT_INCLUDE( brdrline ) |
| 1657 | |
| 1658 | PORT_MODIFY("IN0") |
| 1659 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL |
| 1663 | 1660 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY |
| 1664 | 1661 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_4WAY |
| 1665 | | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1666 | 1662 | |
| 1667 | | PORT_START("IN1") |
| 1668 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 1669 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1670 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x001) |
| 1671 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_vblank_comp, NULL) |
| 1672 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY |
| 1673 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY |
| 1674 | | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1663 | PORT_MODIFY("IN1") |
| 1664 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL |
| 1665 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY |
| 1666 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_4WAY |
| 1675 | 1667 | |
| 1676 | | PORT_START("IN2") |
| 1668 | PORT_MODIFY("IN2") |
| 1677 | 1669 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL |
| 1678 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1679 | | PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_fake_lives_r, (void *)0x002) |
| 1680 | | PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_get_64v, NULL) /* yes, this is different */ |
| 1681 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_START1 ) |
| 1682 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_BUTTON1 ) |
| 1683 | | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1684 | 1670 | |
| 1685 | | PORT_START("IN3") |
| 1686 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 1687 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1688 | | PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unused ) ) PORT_DIPLOCATION("SW1:4") |
| 1689 | | PORT_DIPSETTING( 0x04, DEF_STR( Off ) ) |
| 1690 | | PORT_DIPSETTING( 0x00, DEF_STR( On ) ) |
| 1691 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, vicdual_state,vicdual_read_coin_status, NULL) |
| 1692 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* probably unused */ |
| 1693 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_START2 ) |
| 1694 | | PORT_BIT( 0xc0, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 1695 | | |
| 1696 | | PORT_COIN_DEFAULT |
| 1697 | | |
| 1698 | | PORT_START("FAKE_LIVES1") |
| 1699 | | PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:2,3") |
| 1700 | | PORT_DIPSETTING( 0x00, "3" ) |
| 1701 | | PORT_DIPSETTING( 0x01, "4" ) |
| 1702 | | PORT_DIPSETTING( 0x02, "5" ) |
| 1703 | | // PORT_DIPSETTING( 0x03, "5" ) // dupe |
| 1671 | PORT_MODIFY("IN3") |
| 1672 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL |
| 1704 | 1673 | INPUT_PORTS_END |
| 1705 | 1674 | |
| 1706 | 1675 | |
| r18613 | r18614 | |
| 3445 | 3414 | GAME( 1980, samurai, 0, samurai, samurai, driver_device, 0, ROT270, "Sega", "Samurai", GAME_NO_SOUND ) |
| 3446 | 3415 | GAME( 1979, invinco, 0, invinco, invinco, driver_device, 0, ROT270, "Sega", "Invinco", GAME_IMPERFECT_SOUND ) |
| 3447 | 3416 | GAME( 1979, invds, 0, invds, invds, driver_device, 0, ROT270, "Sega", "Invinco / Deep Scan", GAME_IMPERFECT_SOUND ) |
| 3448 | | GAME( 1980, tranqgun, 0, tranqgun, tranqgun, driver_device, 0, ROT270, "Sega", "Tranquillizer Gun", GAME_NO_SOUND ) |
| 3417 | GAME( 1980, tranqgun, 0, tranqgun, tranqgun, driver_device, 0, ROT270, "Sega", "Tranquilizer Gun", GAME_NO_SOUND ) |
| 3449 | 3418 | GAME( 1980, spacetrk, 0, spacetrk, spacetrk, driver_device, 0, ROT270, "Sega", "Space Trek (upright)", GAME_NO_SOUND ) |
| 3450 | 3419 | GAME( 1980, spacetrkc, spacetrk, spacetrk, spacetrkc, driver_device, 0, ROT270, "Sega", "Space Trek (cocktail)", GAME_NO_SOUND ) |
| 3451 | 3420 | GAME( 1980, carnival, 0, carnival, carnival, driver_device, 0, ROT270, "Sega", "Carnival (upright)", GAME_IMPERFECT_SOUND ) |