From 644fa749c6cbc78268b561502a033b3c14a54ff0 Mon Sep 17 00:00:00 2001 From: AJR Date: Tue, 11 Apr 2017 00:25:28 -0400 Subject: cyclwarr, bigfight: Read inputs through CXD1095 device --- src/mame/drivers/tatsumi.cpp | 484 ++++++++++++++++++++++--------------------- src/mame/includes/tatsumi.h | 12 +- src/mame/machine/tatsumi.cpp | 10 +- 3 files changed, 256 insertions(+), 250 deletions(-) diff --git a/src/mame/drivers/tatsumi.cpp b/src/mame/drivers/tatsumi.cpp index 768128b7a86..aac3a5ec4c5 100644 --- a/src/mame/drivers/tatsumi.cpp +++ b/src/mame/drivers/tatsumi.cpp @@ -183,6 +183,16 @@ WRITE16_MEMBER(tatsumi_state::bigfight_a60000_w) COMBINE_DATA(&m_bigfight_a60000[offset]); } +WRITE16_MEMBER(tatsumi_state::io1_byte_smear_w) +{ + m_io[0]->write(space, offset, data & 0xff); +} + +WRITE16_MEMBER(tatsumi_state::io2_byte_smear_w) +{ + m_io[1]->write(space, offset, data & 0xff); +} + WRITE16_MEMBER(tatsumi_state::cyclwarr_sound_w) { m_soundlatch->write(space, 0, data >> 8); @@ -288,15 +298,8 @@ static ADDRESS_MAP_START( cyclwarr_68000a_map, AS_PROGRAM, 16, tatsumi_state ) AM_RANGE(0x0a6000, 0x0a6001) AM_WRITE(bigfight_a60000_w) AM_RANGE(0x0b8000, 0x0b8001) AM_WRITE(cyclwarr_sound_w) - AM_RANGE(0x0b9002, 0x0b9003) AM_READ_PORT("SERVICE") - AM_RANGE(0x0b9004, 0x0b9005) AM_READ_PORT("P1") - AM_RANGE(0x0b9006, 0x0b9007) AM_READ_PORT("P2") - AM_RANGE(0x0b9008, 0x0b9009) AM_READ_PORT("DSW3") - AM_RANGE(0x0ba000, 0x0ba001) AM_READ_PORT("DSW1") - AM_RANGE(0x0ba002, 0x0ba003) AM_READ_PORT("DSW2") - AM_RANGE(0x0ba004, 0x0ba005) AM_READ_PORT("P3") - AM_RANGE(0x0ba006, 0x0ba007) AM_READ_PORT("P4") - AM_RANGE(0x0ba008, 0x0ba009) AM_READWRITE(cyclwarr_control_r, cyclwarr_control_w) + AM_RANGE(0x0b9000, 0x0b900f) AM_DEVREAD8("io1", cxd1095_device, read, 0x00ff) AM_WRITE(io1_byte_smear_w) + AM_RANGE(0x0ba000, 0x0ba00f) AM_DEVREAD8("io2", cxd1095_device, read, 0x00ff) AM_WRITE(io2_byte_smear_w) AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_SHARE("spriteram") AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_SHARE("sprite_ctlram") AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") @@ -314,15 +317,8 @@ static ADDRESS_MAP_START( cyclwarr_68000b_map, AS_PROGRAM, 16, tatsumi_state ) AM_RANGE(0x0a4000, 0x0a4001) AM_WRITE(bigfight_a40000_w) AM_RANGE(0x0a6000, 0x0a6001) AM_WRITE(bigfight_a60000_w) - AM_RANGE(0x0b9002, 0x0b9003) AM_READ_PORT("SERVICE") - AM_RANGE(0x0b9004, 0x0b9005) AM_READ_PORT("P1") - AM_RANGE(0x0b9006, 0x0b9007) AM_READ_PORT("P2") - AM_RANGE(0x0b9008, 0x0b9009) AM_READ_PORT("DSW3") - AM_RANGE(0x0ba000, 0x0ba001) AM_READ_PORT("DSW1") - AM_RANGE(0x0ba002, 0x0ba003) AM_READ_PORT("DSW2") - AM_RANGE(0x0ba004, 0x0ba005) AM_READ_PORT("P3") - AM_RANGE(0x0ba006, 0x0ba007) AM_READ_PORT("P4") - AM_RANGE(0x0ba008, 0x0ba009) AM_READ(cyclwarr_control_r) + AM_RANGE(0x0b9000, 0x0b900f) AM_DEVREAD8("io1", cxd1095_device, read, 0x00ff) AM_WRITE(io1_byte_smear_w) + AM_RANGE(0x0ba000, 0x0ba00f) AM_DEVREAD8("io2", cxd1095_device, read, 0x00ff) AM_WRITE(io2_byte_smear_w) AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") @@ -355,15 +351,8 @@ static ADDRESS_MAP_START( bigfight_68000a_map, AS_PROGRAM, 16, tatsumi_state ) AM_RANGE(0x0a6000, 0x0a6001) AM_WRITE(bigfight_a60000_w) AM_RANGE(0x0b8000, 0x0b8001) AM_WRITE(cyclwarr_sound_w) - AM_RANGE(0x0b9002, 0x0b9003) AM_READ_PORT("SERVICE") - AM_RANGE(0x0b9004, 0x0b9005) AM_READ_PORT("P1") - AM_RANGE(0x0b9006, 0x0b9007) AM_READ_PORT("P2") - AM_RANGE(0x0b9008, 0x0b9009) AM_READ_PORT("DSW3") - AM_RANGE(0x0ba000, 0x0ba001) AM_READ_PORT("DSW1") - AM_RANGE(0x0ba002, 0x0ba003) AM_READ_PORT("DSW2") - AM_RANGE(0x0ba004, 0x0ba005) AM_READ_PORT("P3") - AM_RANGE(0x0ba006, 0x0ba007) AM_READ_PORT("P4") - AM_RANGE(0x0ba008, 0x0ba009) AM_READWRITE(cyclwarr_control_r, cyclwarr_control_w) + AM_RANGE(0x0b9000, 0x0b900f) AM_DEVREAD8("io1", cxd1095_device, read, 0x00ff) AM_WRITE(io1_byte_smear_w) + AM_RANGE(0x0ba000, 0x0ba00f) AM_DEVREAD8("io2", cxd1095_device, read, 0x00ff) AM_WRITE(io2_byte_smear_w) AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_SHARE("spriteram") AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_SHARE("sprite_ctlram") AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") @@ -379,15 +368,8 @@ static ADDRESS_MAP_START( bigfight_68000b_map, AS_PROGRAM, 16, tatsumi_state ) AM_RANGE(0x0a4000, 0x0a4001) AM_WRITE(bigfight_a40000_w) AM_RANGE(0x0a6000, 0x0a6001) AM_WRITE(bigfight_a60000_w) - AM_RANGE(0x0b9002, 0x0b9003) AM_READ_PORT("SERVICE") - AM_RANGE(0x0b9004, 0x0b9005) AM_READ_PORT("P1") - AM_RANGE(0x0b9006, 0x0b9007) AM_READ_PORT("P2") - AM_RANGE(0x0b9008, 0x0b9009) AM_READ_PORT("DSW3") - AM_RANGE(0x0ba000, 0x0ba001) AM_READ_PORT("DSW1") - AM_RANGE(0x0ba002, 0x0ba003) AM_READ_PORT("DSW2") - AM_RANGE(0x0ba004, 0x0ba005) AM_READ_PORT("P3") - AM_RANGE(0x0ba006, 0x0ba007) AM_READ_PORT("P4") - AM_RANGE(0x0ba008, 0x0ba009) AM_READ(cyclwarr_control_r) + AM_RANGE(0x0b9000, 0x0b900f) AM_DEVREAD8("io1", cxd1095_device, read, 0x00ff) AM_WRITE(io1_byte_smear_w) + AM_RANGE(0x0ba000, 0x0ba00f) AM_DEVREAD8("io2", cxd1095_device, read, 0x00ff) AM_WRITE(io2_byte_smear_w) AM_RANGE(0x0c0000, 0x0c3fff) AM_READWRITE(cyclwarr_sprite_r, cyclwarr_sprite_w) AM_RANGE(0x0ca000, 0x0ca1ff) AM_WRITE(tatsumi_sprite_control_w) AM_RANGE(0x0d0000, 0x0d3fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette") @@ -554,126 +536,126 @@ static INPUT_PORTS_START( cyclwarr ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_START("P1") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_START("P2") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_START("DSW3") - PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1") - PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0002, 0x0000, "Player Select" ) PORT_DIPLOCATION("SW3:2") - PORT_DIPSETTING( 0x0002, "Coin Slot" ) - PORT_DIPSETTING( 0x0000, "Select SW" ) - PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION("SW3:3") - PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0008, 0x0008, "Hardware Test Mode" ) PORT_DIPLOCATION("SW3:4") - PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x1, 0x1, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1") + PORT_DIPSETTING( 0x1, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0, DEF_STR( On ) ) + PORT_DIPNAME( 0x2, 0x0, "Player Select" ) PORT_DIPLOCATION("SW3:2") + PORT_DIPSETTING( 0x2, "Coin Slot" ) + PORT_DIPSETTING( 0x0, "Select SW" ) + PORT_DIPNAME( 0x4, 0x4, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION("SW3:3") + PORT_DIPSETTING( 0x4, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0, DEF_STR( On ) ) + PORT_DIPNAME( 0x8, 0x8, "Hardware Test Mode" ) PORT_DIPLOCATION("SW3:4") + PORT_DIPSETTING( 0x8, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0, DEF_STR( On ) ) PORT_START("DSW1") - PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4") - PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0004, DEF_STR( 3C_2C ) ) - PORT_DIPSETTING( 0x0001, DEF_STR( 4C_3C ) ) - PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x0003, DEF_STR( 3C_4C ) ) - PORT_DIPSETTING( 0x0007, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x0006, DEF_STR( 2C_5C ) ) - PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) ) - PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) ) - PORT_DIPSETTING( 0x0009, DEF_STR( 1C_7C ) ) - PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8") - PORT_DIPSETTING( 0x0000, DEF_STR( 6C_1C ) ) - PORT_DIPSETTING( 0x0010, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x0020, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x0050, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0040, DEF_STR( 3C_2C ) ) - PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x0030, DEF_STR( 3C_4C ) ) - PORT_DIPSETTING( 0x0070, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x0060, DEF_STR( 2C_5C ) ) - PORT_DIPSETTING( 0x00d0, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_4C ) ) - PORT_DIPSETTING( 0x00b0, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_6C ) ) - PORT_DIPSETTING( 0x0090, DEF_STR( 1C_7C ) ) + PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4") + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 3C_2C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 4C_3C ) ) + PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 3C_4C ) ) + PORT_DIPSETTING( 0x07, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) ) + PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) ) + PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8") + PORT_DIPSETTING( 0x00, DEF_STR( 6C_1C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 3C_2C ) ) + PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x30, DEF_STR( 3C_4C ) ) + PORT_DIPSETTING( 0x70, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) ) + PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) ) PORT_START("DSW2") - PORT_DIPNAME( 0x0003, 0x0002, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x0000, "5" ) - PORT_DIPSETTING( 0x0001, "3" ) - PORT_DIPSETTING( 0x0002, "2" ) - PORT_DIPSETTING( 0x0003, "1" ) - PORT_DIPNAME( 0x0004, 0x0004, "Ticket Dispenser" ) PORT_DIPLOCATION("SW2:3") - PORT_DIPSETTING( 0x0004, "10000" ) - PORT_DIPSETTING( 0x0000, "15000" ) - PORT_DIPNAME( 0x0018, 0x0000, "Machine Type" ) PORT_DIPLOCATION("SW2:4,5") - PORT_DIPSETTING( 0x0000, "2 Players" ) - PORT_DIPSETTING( 0x0008, "2 Players" ) - PORT_DIPSETTING( 0x0010, "3 Players" ) - PORT_DIPSETTING( 0x0018, "4 Players" ) - PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7") - PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) - PORT_DIPSETTING( 0x0020, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x0040, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x0060, DEF_STR( Normal ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x02, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2") + PORT_DIPSETTING( 0x00, "5" ) + PORT_DIPSETTING( 0x01, "3" ) + PORT_DIPSETTING( 0x02, "2" ) + PORT_DIPSETTING( 0x03, "1" ) + PORT_DIPNAME( 0x04, 0x04, "Ticket Dispenser" ) PORT_DIPLOCATION("SW2:3") + PORT_DIPSETTING( 0x04, "10000" ) + PORT_DIPSETTING( 0x00, "15000" ) + PORT_DIPNAME( 0x18, 0x00, "Machine Type" ) PORT_DIPLOCATION("SW2:4,5") + PORT_DIPSETTING( 0x00, "2 Players" ) + PORT_DIPSETTING( 0x08, "2 Players" ) + PORT_DIPSETTING( 0x10, "3 Players" ) + PORT_DIPSETTING( 0x18, "4 Players" ) + PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7") + PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x60, DEF_STR( Normal ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("P3") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START3 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3) PORT_START("P4") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START4 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START4 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4) INPUT_PORTS_END static INPUT_PORTS_START( cyclwarb ) PORT_INCLUDE(cyclwarr) PORT_MODIFY("DSW3") - PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4") - PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x8, 0x8, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:4") + PORT_DIPSETTING( 0x8, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( bigfight ) @@ -688,118 +670,118 @@ static INPUT_PORTS_START( bigfight ) PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_SERVICE4 ) PORT_START("P1") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START1 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START1 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(1) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(1) PORT_START("P2") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START2 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START2 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(2) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(2) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(2) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(2) PORT_START("DSW3") - PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1") - PORT_DIPSETTING( 0x0001, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0002, 0x0000, "Player Select" ) PORT_DIPLOCATION("SW3:2") - PORT_DIPSETTING( 0x0002, "Coin Slot" ) - PORT_DIPSETTING( 0x0000, "Select SW" ) - PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION("SW3:3") - PORT_DIPSETTING( 0x0004, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0008, 0x0008, "Hardware Test Mode" ) PORT_DIPLOCATION("SW3:4") - PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x1, 0x1, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW3:1") + PORT_DIPSETTING( 0x1, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0, DEF_STR( On ) ) + PORT_DIPNAME( 0x2, 0x0, "Player Select" ) PORT_DIPLOCATION("SW3:2") + PORT_DIPSETTING( 0x2, "Coin Slot" ) + PORT_DIPSETTING( 0x0, "Select SW" ) + PORT_DIPNAME( 0x4, 0x4, DEF_STR( Service_Mode ) ) PORT_DIPLOCATION("SW3:3") + PORT_DIPSETTING( 0x4, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0, DEF_STR( On ) ) + PORT_DIPNAME( 0x8, 0x8, "Hardware Test Mode" ) PORT_DIPLOCATION("SW3:4") + PORT_DIPSETTING( 0x8, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x0, DEF_STR( On ) ) PORT_START("DSW1") - PORT_DIPNAME( 0x000f, 0x000f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4") - PORT_DIPSETTING( 0x0000, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x0002, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x0005, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x0008, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0004, DEF_STR( 3C_2C ) ) - PORT_DIPSETTING( 0x0001, DEF_STR( 4C_3C ) ) - PORT_DIPSETTING( 0x000f, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x0003, DEF_STR( 3C_4C ) ) - PORT_DIPSETTING( 0x0007, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x000e, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x0006, DEF_STR( 2C_5C ) ) - PORT_DIPSETTING( 0x000d, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x000c, DEF_STR( 1C_4C ) ) - PORT_DIPSETTING( 0x000b, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x000a, DEF_STR( 1C_6C ) ) - PORT_DIPSETTING( 0x0009, DEF_STR( 1C_7C ) ) - PORT_DIPNAME( 0x00f0, 0x00f0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8") - PORT_DIPSETTING( 0x0000, DEF_STR( 6C_1C ) ) - PORT_DIPSETTING( 0x0010, DEF_STR( 5C_1C ) ) - PORT_DIPSETTING( 0x0020, DEF_STR( 4C_1C ) ) - PORT_DIPSETTING( 0x0050, DEF_STR( 3C_1C ) ) - PORT_DIPSETTING( 0x0080, DEF_STR( 2C_1C ) ) - PORT_DIPSETTING( 0x0040, DEF_STR( 3C_2C ) ) - PORT_DIPSETTING( 0x00f0, DEF_STR( 1C_1C ) ) - PORT_DIPSETTING( 0x0030, DEF_STR( 3C_4C ) ) - PORT_DIPSETTING( 0x0070, DEF_STR( 2C_3C ) ) - PORT_DIPSETTING( 0x00e0, DEF_STR( 1C_2C ) ) - PORT_DIPSETTING( 0x0060, DEF_STR( 2C_5C ) ) - PORT_DIPSETTING( 0x00d0, DEF_STR( 1C_3C ) ) - PORT_DIPSETTING( 0x00c0, DEF_STR( 1C_4C ) ) - PORT_DIPSETTING( 0x00b0, DEF_STR( 1C_5C ) ) - PORT_DIPSETTING( 0x00a0, DEF_STR( 1C_6C ) ) - PORT_DIPSETTING( 0x0090, DEF_STR( 1C_7C ) ) + PORT_DIPNAME( 0x0f, 0x0f, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("SW1:1,2,3,4") + PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x02, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x05, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x08, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x04, DEF_STR( 3C_2C ) ) + PORT_DIPSETTING( 0x01, DEF_STR( 4C_3C ) ) + PORT_DIPSETTING( 0x0f, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x03, DEF_STR( 3C_4C ) ) + PORT_DIPSETTING( 0x07, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0x0e, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x06, DEF_STR( 2C_5C ) ) + PORT_DIPSETTING( 0x0d, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0x0b, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0x0a, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING( 0x09, DEF_STR( 1C_7C ) ) + PORT_DIPNAME( 0xf0, 0xf0, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("SW1:5,6,7,8") + PORT_DIPSETTING( 0x00, DEF_STR( 6C_1C ) ) + PORT_DIPSETTING( 0x10, DEF_STR( 5C_1C ) ) + PORT_DIPSETTING( 0x20, DEF_STR( 4C_1C ) ) + PORT_DIPSETTING( 0x50, DEF_STR( 3C_1C ) ) + PORT_DIPSETTING( 0x80, DEF_STR( 2C_1C ) ) + PORT_DIPSETTING( 0x40, DEF_STR( 3C_2C ) ) + PORT_DIPSETTING( 0xf0, DEF_STR( 1C_1C ) ) + PORT_DIPSETTING( 0x30, DEF_STR( 3C_4C ) ) + PORT_DIPSETTING( 0x70, DEF_STR( 2C_3C ) ) + PORT_DIPSETTING( 0xe0, DEF_STR( 1C_2C ) ) + PORT_DIPSETTING( 0x60, DEF_STR( 2C_5C ) ) + PORT_DIPSETTING( 0xd0, DEF_STR( 1C_3C ) ) + PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) ) + PORT_DIPSETTING( 0xb0, DEF_STR( 1C_5C ) ) + PORT_DIPSETTING( 0xa0, DEF_STR( 1C_6C ) ) + PORT_DIPSETTING( 0x90, DEF_STR( 1C_7C ) ) PORT_START("DSW2") - PORT_DIPNAME( 0x0003, 0x0003, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2") - PORT_DIPSETTING( 0x0000, "1" ) - PORT_DIPSETTING( 0x0003, "2" ) - PORT_DIPSETTING( 0x0002, "3" ) - PORT_DIPSETTING( 0x0001, "4" ) - PORT_DIPNAME( 0x0004, 0x0004, "Ticket Dispenser" ) PORT_DIPLOCATION("SW2:3") - PORT_DIPSETTING( 0x0004, "100000" ) - PORT_DIPSETTING( 0x0000, "150000" ) - PORT_DIPNAME( 0x0008, 0x0008, "Continue Coin" ) PORT_DIPLOCATION("SW2:4") - PORT_DIPSETTING( 0x0008, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) - PORT_DIPNAME( 0x0010, 0x0010, "Extend" ) PORT_DIPLOCATION("SW2:5") - PORT_DIPSETTING( 0x0010, "100000" ) - PORT_DIPSETTING( 0x0000, DEF_STR( None ) ) - PORT_DIPNAME( 0x0060, 0x0060, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7") - PORT_DIPSETTING( 0x0000, DEF_STR( Very_Hard ) ) - PORT_DIPSETTING( 0x0020, DEF_STR( Hard ) ) - PORT_DIPSETTING( 0x0040, DEF_STR( Easy ) ) - PORT_DIPSETTING( 0x0060, DEF_STR( Normal ) ) - PORT_DIPNAME( 0x0080, 0x0000, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8") - PORT_DIPSETTING( 0x0080, DEF_STR( Off ) ) - PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) + PORT_DIPNAME( 0x03, 0x03, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW2:1,2") + PORT_DIPSETTING( 0x00, "1" ) + PORT_DIPSETTING( 0x03, "2" ) + PORT_DIPSETTING( 0x02, "3" ) + PORT_DIPSETTING( 0x01, "4" ) + PORT_DIPNAME( 0x04, 0x04, "Ticket Dispenser" ) PORT_DIPLOCATION("SW2:3") + PORT_DIPSETTING( 0x04, "100000" ) + PORT_DIPSETTING( 0x00, "150000" ) + PORT_DIPNAME( 0x08, 0x08, "Continue Coin" ) PORT_DIPLOCATION("SW2:4") + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, "Extend" ) PORT_DIPLOCATION("SW2:5") + PORT_DIPSETTING( 0x10, "100000" ) + PORT_DIPSETTING( 0x00, DEF_STR( None ) ) + PORT_DIPNAME( 0x60, 0x60, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:6,7") + PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Hard ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Easy ) ) + PORT_DIPSETTING( 0x60, DEF_STR( Normal ) ) + PORT_DIPNAME( 0x80, 0x00, DEF_STR( Demo_Sounds ) ) PORT_DIPLOCATION("SW2:8") + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) PORT_START("P3") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START3 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START3 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(3) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(3) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(3) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(3) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(3) PORT_START("P4") - PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_START4 ) - PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) - PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) - PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) - PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4) - PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4) - PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4) - PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_START4 ) + PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(4) + PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(4) + PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(4) + PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(4) + PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_UP ) PORT_8WAY PORT_PLAYER(4) INPUT_PORTS_END /******************************************************************************/ @@ -976,6 +958,19 @@ static MACHINE_CONFIG_START( cyclwarr, tatsumi_state ) MCFG_QUANTUM_TIME(attotime::from_hz(12000)) + MCFG_DEVICE_ADD("io1", CXD1095, 0) + MCFG_CXD1095_IN_PORTB_CB(IOPORT("SERVICE")) + MCFG_CXD1095_IN_PORTC_CB(IOPORT("P1")) + MCFG_CXD1095_IN_PORTD_CB(IOPORT("P2")) + MCFG_CXD1095_IN_PORTE_CB(IOPORT("DSW3")) + + MCFG_DEVICE_ADD("io2", CXD1095, 0) + MCFG_CXD1095_IN_PORTA_CB(IOPORT("DSW1")) + MCFG_CXD1095_IN_PORTB_CB(IOPORT("DSW2")) + MCFG_CXD1095_IN_PORTC_CB(IOPORT("P3")) + MCFG_CXD1095_IN_PORTD_CB(IOPORT("P4")) + MCFG_CXD1095_OUT_PORTE_CB(WRITE8(tatsumi_state, cyclwarr_control_w)) + /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) @@ -1021,6 +1016,19 @@ static MACHINE_CONFIG_START( bigfight, tatsumi_state ) MCFG_QUANTUM_TIME(attotime::from_hz(12000)) + MCFG_DEVICE_ADD("io1", CXD1095, 0) + MCFG_CXD1095_IN_PORTB_CB(IOPORT("SERVICE")) + MCFG_CXD1095_IN_PORTC_CB(IOPORT("P1")) + MCFG_CXD1095_IN_PORTD_CB(IOPORT("P2")) + MCFG_CXD1095_IN_PORTE_CB(IOPORT("DSW3")) + + MCFG_DEVICE_ADD("io2", CXD1095, 0) + MCFG_CXD1095_IN_PORTA_CB(IOPORT("DSW1")) + MCFG_CXD1095_IN_PORTB_CB(IOPORT("DSW2")) + MCFG_CXD1095_IN_PORTC_CB(IOPORT("P3")) + MCFG_CXD1095_IN_PORTD_CB(IOPORT("P4")) + MCFG_CXD1095_OUT_PORTE_CB(WRITE8(tatsumi_state, cyclwarr_control_w)) + /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) MCFG_SCREEN_REFRESH_RATE(60) diff --git a/src/mame/includes/tatsumi.h b/src/mame/includes/tatsumi.h index 9bd6d882ea0..96e7c9701db 100644 --- a/src/mame/includes/tatsumi.h +++ b/src/mame/includes/tatsumi.h @@ -3,6 +3,7 @@ #include "sound/okim6295.h" #include "cpu/m68000/m68000.h" +#include "machine/cxd1095.h" #include "machine/gen_latch.h" class tatsumi_state : public driver_device @@ -18,6 +19,7 @@ public: m_gfxdecode(*this, "gfxdecode"), m_palette(*this, "palette"), m_soundlatch(*this, "soundlatch"), + m_io(*this, {"io1", "io2"}), m_videoram(*this, "videoram"), m_cyclwarr_cpua_ram(*this, "cw_cpua_ram"), m_cyclwarr_cpub_ram(*this, "cw_cpub_ram"), @@ -45,6 +47,7 @@ public: required_device m_gfxdecode; required_device m_palette; optional_device m_soundlatch; + optional_device_array m_io; optional_shared_ptr m_videoram; optional_shared_ptr m_cyclwarr_cpua_ram; @@ -72,9 +75,9 @@ public: uint8_t *m_rom_sprite_lookup2; uint8_t *m_rom_clut0; uint8_t *m_rom_clut1; - uint16_t m_control_word; + uint8_t m_control_word; uint16_t m_apache3_rotate_ctrl[12]; - uint16_t m_last_control; + uint8_t m_last_control; uint8_t m_apache3_adc; int m_apache3_rot_idx; tilemap_t *m_tx_layer; @@ -96,6 +99,8 @@ public: DECLARE_WRITE16_MEMBER(bigfight_a20000_w); DECLARE_WRITE16_MEMBER(bigfight_a40000_w); DECLARE_WRITE16_MEMBER(bigfight_a60000_w); + DECLARE_WRITE16_MEMBER(io1_byte_smear_w); + DECLARE_WRITE16_MEMBER(io2_byte_smear_w); DECLARE_WRITE16_MEMBER(cyclwarr_sound_w); DECLARE_READ16_MEMBER(apache3_bank_r); DECLARE_WRITE16_MEMBER(apache3_bank_w); @@ -112,8 +117,7 @@ public: DECLARE_WRITE16_MEMBER(roundup5_control_w); DECLARE_WRITE16_MEMBER(roundup5_d0000_w); DECLARE_WRITE16_MEMBER(roundup5_e0000_w); - DECLARE_READ16_MEMBER(cyclwarr_control_r); - DECLARE_WRITE16_MEMBER(cyclwarr_control_w); + DECLARE_WRITE8_MEMBER(cyclwarr_control_w); DECLARE_READ16_MEMBER(tatsumi_v30_68000_r); DECLARE_WRITE16_MEMBER(tatsumi_v30_68000_w); DECLARE_WRITE16_MEMBER(tatsumi_sprite_control_w); diff --git a/src/mame/machine/tatsumi.cpp b/src/mame/machine/tatsumi.cpp index 25de2eca2e6..5d207a42e27 100644 --- a/src/mame/machine/tatsumi.cpp +++ b/src/mame/machine/tatsumi.cpp @@ -245,15 +245,9 @@ WRITE16_MEMBER(tatsumi_state::roundup5_e0000_w) /******************************************************************************/ -READ16_MEMBER(tatsumi_state::cyclwarr_control_r) +WRITE8_MEMBER(tatsumi_state::cyclwarr_control_w) { -// logerror("%08x: control_r\n", space.device().safe_pc()); - return m_control_word; -} - -WRITE16_MEMBER(tatsumi_state::cyclwarr_control_w) -{ - COMBINE_DATA(&m_control_word); + m_control_word = data; // if ((m_control_word&0xfe) != (m_last_control&0xfe)) // logerror("%08x: control_w %04x\n", space.device().safe_pc(), data); -- cgit v1.2.3