diff options
Diffstat (limited to 'src/mame/drivers/rmhaihai.c')
-rw-r--r-- | src/mame/drivers/rmhaihai.c | 240 |
1 files changed, 88 insertions, 152 deletions
diff --git a/src/mame/drivers/rmhaihai.c b/src/mame/drivers/rmhaihai.c index ecfa9b44ba7..98b1649a58e 100644 --- a/src/mame/drivers/rmhaihai.c +++ b/src/mame/drivers/rmhaihai.c @@ -74,7 +74,9 @@ static int keyboard_cmd; static READ8_HANDLER( keyboard_r ) { -logerror("%04x: keyboard_r\n",activecpu_get_pc()); + static const char *keynames[] = { "KEY0", "KEY1" }; + + logerror("%04x: keyboard_r\n",activecpu_get_pc()); switch(activecpu_get_pc()) { /* read keyboard */ @@ -85,11 +87,11 @@ logerror("%04x: keyboard_r\n",activecpu_get_pc()); { int i; - for (i = 0;i < 31;i++) + for (i = 0; i < 31; i++) { - if (input_port_read_indexed(machine, 2 + i/16) & (1<<(i&15))) return i+1; + if (input_port_read(machine, keynames[i/16]) & (1 << (i & 15))) return i+1; } - if (input_port_read_indexed(machine, 3) & 0x8000) return 0x80; // coin + if (input_port_read(machine, "KEY1") & 0x8000) return 0x80; // coin return 0; } case 0x5c7b: // rmhaihai, rmhaisei, rmhaijin @@ -229,8 +231,83 @@ static ADDRESS_MAP_START( themj_writeport, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0xbc0c, 0xbc0c) AM_WRITE(SMH_NOP) // ?? ADDRESS_MAP_END +static INPUT_PORTS_START( mjctrl ) + PORT_START_TAG("KEY0") // fake, handled by keyboard_r() + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_SMALL ) + PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_DOUBLE_UP ) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_MAHJONG_BIG ) + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_SCORE ) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_FLIP_FLOP ) + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_LAST_CHANCE ) + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_K ) + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_RON ) + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_G ) + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_CHI ) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_C ) + PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_L ) + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_MAHJONG_H ) + + PORT_START_TAG("KEY1") // fake, handled by keyboard_r() + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_PON ) + PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_D ) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_START1 ) + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_I ) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_KAN ) + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_E ) + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_MAHJONG_M ) + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_A ) + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_BET ) + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_J ) + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_REACH ) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_F ) + PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_MAHJONG_N ) + PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_B ) + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) + + PORT_START_TAG("KEY2") // fake, handled by keyboard_r() + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_SMALL ) PORT_PLAYER(2) + PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_DOUBLE_UP ) PORT_PLAYER(2) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_MAHJONG_BIG ) PORT_PLAYER(2) + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_SCORE ) PORT_PLAYER(2) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_FLIP_FLOP ) PORT_PLAYER(2) + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_LAST_CHANCE ) PORT_PLAYER(2) + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_K ) PORT_PLAYER(2) + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_RON ) PORT_PLAYER(2) + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_G ) PORT_PLAYER(2) + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_CHI ) PORT_PLAYER(2) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_C ) PORT_PLAYER(2) + PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_L ) PORT_PLAYER(2) + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_MAHJONG_H ) PORT_PLAYER(2) + + + PORT_START_TAG("KEY3") // fake, handled by keyboard_r() + PORT_BIT( 0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_PON ) PORT_PLAYER(2) + PORT_BIT( 0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_D ) PORT_PLAYER(2) + PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_START2 ) + PORT_BIT( 0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_I ) PORT_PLAYER(2) + PORT_BIT( 0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_KAN ) PORT_PLAYER(2) + PORT_BIT( 0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_E ) PORT_PLAYER(2) + PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_MAHJONG_M ) PORT_PLAYER(2) + PORT_BIT( 0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_A ) PORT_PLAYER(2) + PORT_BIT( 0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_BET ) PORT_PLAYER(2) + PORT_BIT( 0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_J ) PORT_PLAYER(2) + PORT_BIT( 0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_REACH ) PORT_PLAYER(2) + PORT_BIT( 0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_F ) PORT_PLAYER(2) + PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_MAHJONG_N ) PORT_PLAYER(2) + PORT_BIT( 0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_B ) PORT_PLAYER(2) + PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) + PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) +INPUT_PORTS_END + static INPUT_PORTS_START( rmhaihai ) - PORT_START /* dsw2 */ + PORT_START_TAG("DSW2") /* dsw2 */ PORT_DIPNAME( 0x01, 0x01, "Unknown 2-1" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -244,7 +321,7 @@ static INPUT_PORTS_START( rmhaihai ) PORT_DIPSETTING( 0xfa, "7" ) PORT_DIPSETTING( 0xfc, "8 (Difficult)" ) - PORT_START /* dsw1 */ + PORT_START_TAG("DSW1") /* dsw1 */ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Free_Play ) ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -267,82 +344,11 @@ static INPUT_PORTS_START( rmhaihai ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_START // fake, handled by keyboard_r() - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_SMALL ) - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_DOUBLE_UP ) - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_MAHJONG_BIG ) - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_SCORE ) - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_FLIP_FLOP ) - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_LAST_CHANCE ) - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_K ) - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_RON ) - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_G ) - PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_CHI ) - PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_C ) - PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_L ) - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_MAHJONG_H ) - - PORT_START // fake, handled by keyboard_r() - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_PON ) - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_D ) - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_I ) - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_KAN ) - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_E ) - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_MAHJONG_M ) - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_A ) - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_BET ) - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_J ) - PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_REACH ) - PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_F ) - PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_MAHJONG_N ) - PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_B ) - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) - - PORT_START // fake, handled by keyboard_r() - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_SMALL )PORT_PLAYER(2) - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_DOUBLE_UP )PORT_PLAYER(2) - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_MAHJONG_BIG )PORT_PLAYER(2) - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_SCORE )PORT_PLAYER(2) - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_FLIP_FLOP )PORT_PLAYER(2) - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_LAST_CHANCE )PORT_PLAYER(2) - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_K )PORT_PLAYER(2) - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_RON )PORT_PLAYER(2) - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_G )PORT_PLAYER(2) - PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_CHI )PORT_PLAYER(2) - PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_C )PORT_PLAYER(2) - PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_L )PORT_PLAYER(2) - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_MAHJONG_H )PORT_PLAYER(2) - - - PORT_START // fake, handled by keyboard_r() - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_PON )PORT_PLAYER(2) - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_D )PORT_PLAYER(2) - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_I )PORT_PLAYER(2) - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_KAN )PORT_PLAYER(2) - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_E )PORT_PLAYER(2) - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_MAHJONG_M )PORT_PLAYER(2) - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_A )PORT_PLAYER(2) - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_BET )PORT_PLAYER(2) - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_J )PORT_PLAYER(2) - PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_REACH )PORT_PLAYER(2) - PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_F )PORT_PLAYER(2) - PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_MAHJONG_N )PORT_PLAYER(2) - PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_B )PORT_PLAYER(2) - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) + PORT_INCLUDE( mjctrl ) INPUT_PORTS_END static INPUT_PORTS_START( rmhaihib ) - PORT_START /* dsw2 */ + PORT_START_TAG("DSW2") /* dsw2 */ PORT_DIPNAME( 0x01, 0x01, "Unknown 2-1" ) PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) @@ -367,7 +373,7 @@ static INPUT_PORTS_START( rmhaihib ) PORT_DIPSETTING( 0x20, "30%" ) PORT_DIPSETTING( 0x00, "20%" ) - PORT_START /* dsw1 */ + PORT_START_TAG("DSW1") /* dsw1 */ PORT_DIPNAME( 0x03, 0x03, "Bet Max" ) PORT_DIPSETTING( 0x01, "1" ) PORT_DIPSETTING( 0x00, "2" ) @@ -391,79 +397,9 @@ static INPUT_PORTS_START( rmhaihib ) PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) - PORT_START // fake, handled by keyboard_r() - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_SMALL ) - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_DOUBLE_UP ) - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_MAHJONG_BIG ) - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_SCORE ) - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_FLIP_FLOP ) - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_LAST_CHANCE ) - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_K ) - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_RON ) - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_G ) - PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_CHI ) - PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_C ) - PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_L ) - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_MAHJONG_H ) - - PORT_START // fake, handled by keyboard_r() - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_PON ) - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_D ) - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_START1 ) - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_I ) - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_KAN ) - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_E ) - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_MAHJONG_M ) - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_A ) - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_BET ) - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_J ) - PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_REACH ) - PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_F ) - PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_MAHJONG_N ) - PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_B ) - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) - - PORT_START // fake, handled by keyboard_r() - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_SMALL )PORT_PLAYER(2) - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_DOUBLE_UP )PORT_PLAYER(2) - PORT_BIT(0x0004, IP_ACTIVE_HIGH, IPT_MAHJONG_BIG )PORT_PLAYER(2) - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_SCORE )PORT_PLAYER(2) - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_FLIP_FLOP )PORT_PLAYER(2) - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_LAST_CHANCE )PORT_PLAYER(2) - PORT_BIT( 0x0040, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_K )PORT_PLAYER(2) - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_RON )PORT_PLAYER(2) - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_G )PORT_PLAYER(2) - PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_CHI )PORT_PLAYER(2) - PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_C )PORT_PLAYER(2) - PORT_BIT( 0x1000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_L )PORT_PLAYER(2) - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT(0x8000, IP_ACTIVE_HIGH, IPT_MAHJONG_H )PORT_PLAYER(2) - - PORT_START // fake, handled by keyboard_r() - PORT_BIT(0x0001, IP_ACTIVE_HIGH, IPT_MAHJONG_PON )PORT_PLAYER(2) - PORT_BIT(0x0002, IP_ACTIVE_HIGH, IPT_MAHJONG_D )PORT_PLAYER(2) - PORT_BIT( 0x0004, IP_ACTIVE_HIGH, IPT_START2 ) - PORT_BIT(0x0008, IP_ACTIVE_HIGH, IPT_MAHJONG_I )PORT_PLAYER(2) - PORT_BIT(0x0010, IP_ACTIVE_HIGH, IPT_MAHJONG_KAN )PORT_PLAYER(2) - PORT_BIT(0x0020, IP_ACTIVE_HIGH, IPT_MAHJONG_E )PORT_PLAYER(2) - PORT_BIT(0x0040, IP_ACTIVE_HIGH, IPT_MAHJONG_M )PORT_PLAYER(2) - PORT_BIT(0x0080, IP_ACTIVE_HIGH, IPT_MAHJONG_A )PORT_PLAYER(2) - PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_MAHJONG_BET )PORT_PLAYER(2) - PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_MAHJONG_J )PORT_PLAYER(2) - PORT_BIT(0x0400, IP_ACTIVE_HIGH, IPT_MAHJONG_REACH )PORT_PLAYER(2) - PORT_BIT(0x0800, IP_ACTIVE_HIGH, IPT_MAHJONG_F )PORT_PLAYER(2) - PORT_BIT(0x1000, IP_ACTIVE_HIGH, IPT_MAHJONG_N )PORT_PLAYER(2) - PORT_BIT(0x2000, IP_ACTIVE_HIGH, IPT_MAHJONG_B )PORT_PLAYER(2) - PORT_BIT( 0x4000, IP_ACTIVE_HIGH, IPT_UNUSED ) - PORT_BIT( 0x8000, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) + PORT_INCLUDE( mjctrl ) -// PORT_START // 11 +// PORT_START_TAG("EXTRA") // 11 // PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_OTHER ) PORT_NAME("Pay Out") PORT_CODE(KEYCODE_3) // PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_SERVICE4 ) /* RAM clear */ // PORT_SERVICE( 0x04, IP_ACTIVE_LOW ) |