summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/rmhaihai.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/rmhaihai.c')
-rw-r--r--src/mame/drivers/rmhaihai.c240
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 )