summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Angelo Salese <angelosa@users.noreply.github.com>2009-03-04 19:42:21 +0000
committer Angelo Salese <angelosa@users.noreply.github.com>2009-03-04 19:42:21 +0000
commit08889a8007a1efa867db3c09547bd9fda85958d6 (patch)
tree1f6a630d72a0f98d83fa6ca3207bff05fc0b0ac3
parentece82906d9b146c6bf3fd5cbc2154d021cb99ea1 (diff)
New games added or promoted from NOT_WORKING status
--------------------------------------------------- Mahjong Club [Yasuhiro Ogawa] ======================================================================== I wonder if this game is a bootleg or just a rip-off..."XEX" logo is pretty much similar to the Dynax one...
-rw-r--r--src/mame/drivers/royalmah.c204
-rw-r--r--src/mame/mamedriv.c1
2 files changed, 204 insertions, 1 deletions
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c
index 8a0a4e95bad..0bb4543e88f 100644
--- a/src/mame/drivers/royalmah.c
+++ b/src/mame/drivers/royalmah.c
@@ -380,8 +380,39 @@ static WRITE8_HANDLER ( daisyari_bank_w )
// printf("%08x %02x\n",address,data);
memory_set_bankptr(space->machine, 1,&rom[address]);
+
+ /* bit 1 used too but unknown purpose. */
}
+static READ8_HANDLER ( mjclub_dsw_r )
+{
+ switch (dsw_select)
+ {
+// case 0x00: return input_port_read(space->machine, "DSW4");
+ case 0x40: return input_port_read(space->machine, "DSW2");
+ case 0x80: return input_port_read(space->machine, "DSW3");
+ case 0xc0: return input_port_read(space->machine, "DSW4");
+ }
+
+ return 0;
+}
+
+static WRITE8_HANDLER ( mjclub_bank_w )
+{
+ UINT8 *rom = memory_region(space->machine, "maincpu");
+ int address;
+
+ dsw_select = data & 0xc0;
+
+ data &= 0x0f;
+
+ address = 0x10000 + data * 0x8000;
+// printf("%08x\n",address);
+
+ memory_set_bankptr(space->machine, 1,&rom[address]);
+
+ /* bit 5 used too but unknown purpose. */
+}
static ADDRESS_MAP_START( royalmah_map, ADDRESS_SPACE_PROGRAM, 8 )
@@ -463,6 +494,15 @@ static ADDRESS_MAP_START( daisyari_iomap, ADDRESS_SPACE_IO, 8 )
AM_RANGE( 0xc0, 0xc0 ) AM_READWRITE( daisyari_dsw_r, daisyari_bank_w )
ADDRESS_MAP_END
+static ADDRESS_MAP_START( mjclub_iomap, ADDRESS_SPACE_IO, 8 )
+ ADDRESS_MAP_GLOBAL_MASK(0xff)
+ AM_RANGE( 0x00, 0x00 ) AM_READWRITE( mjclub_dsw_r, mjclub_bank_w )
+ AM_RANGE( 0x01, 0x01 ) AM_DEVREAD( "ay", ay8910_r )
+ AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE( "ay", ay8910_data_address_w)
+ AM_RANGE( 0x10, 0x10 ) AM_READ_PORT("DSW1") AM_WRITE( royalmah_palbank_w )
+ AM_RANGE( 0x11, 0x11 ) AM_READ_PORT("SYSTEM") AM_WRITE( input_port_select_w )
+ADDRESS_MAP_END
+
static ADDRESS_MAP_START( mjdiplob_iomap, ADDRESS_SPACE_IO, 8 )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE( 0x01, 0x01 ) AM_DEVREAD( "ay", ay8910_r )
@@ -1491,6 +1531,119 @@ static INPUT_PORTS_START( daisyari )
PORT_DIPSETTING( 0x80, DEF_STR( On ) )
INPUT_PORTS_END
+/* TODO: check dip-switches */
+static INPUT_PORTS_START( mjclub )
+ PORT_INCLUDE( mjctrl2 )
+
+ PORT_START("DSW1")
+ PORT_DIPNAME( 0x0f, 0x0f, "Pay Out Rate" )
+ PORT_DIPSETTING( 0x0f, "96%" )
+ PORT_DIPSETTING( 0x0e, "93%" )
+ PORT_DIPSETTING( 0x0d, "90%" )
+ PORT_DIPSETTING( 0x0c, "87%" )
+ PORT_DIPSETTING( 0x0b, "84%" )
+ PORT_DIPSETTING( 0x0a, "81%" )
+ PORT_DIPSETTING( 0x09, "78%" )
+ PORT_DIPSETTING( 0x08, "75%" )
+ PORT_DIPSETTING( 0x07, "71%" )
+ PORT_DIPSETTING( 0x06, "68%" )
+ PORT_DIPSETTING( 0x05, "65%" )
+ PORT_DIPSETTING( 0x04, "62%" )
+ PORT_DIPSETTING( 0x03, "59%" )
+ PORT_DIPSETTING( 0x02, "56%" )
+ PORT_DIPSETTING( 0x01, "53%" )
+ PORT_DIPSETTING( 0x00, "50%" )
+ PORT_DIPNAME( 0x30, 0x30, "Maximum Bet" )
+ PORT_DIPSETTING( 0x00, "1" )
+ PORT_DIPSETTING( 0x10, "5" )
+ PORT_DIPSETTING( 0x20, "10" )
+ PORT_DIPSETTING( 0x30, "20" )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, "Debug mode" )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("DSW3")
+ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, "Full Tests" )
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("DSW2")
+ PORT_DIPNAME( 0x01, 0x00, "DSW2" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x80, DEF_STR( On ) )
+
+ PORT_START("DSW4")
+ PORT_DIPNAME( 0x01, 0x00, "DSW4" )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( On ) )
+ PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( On ) )
+ PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( On ) )
+ PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( On ) )
+ PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( On ) )
+ PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( On ) )
+ PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x40, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, "Background Color" )
+ PORT_DIPSETTING( 0x00, "White" )
+ PORT_DIPSETTING( 0x80, "Green" )
+INPUT_PORTS_END
+
static INPUT_PORTS_START( mjdiplob )
PORT_INCLUDE( mjctrl2 )
@@ -2532,6 +2685,12 @@ static MACHINE_DRIVER_START( daisyari )
MDRV_CPU_IO_MAP(daisyari_iomap,0)
MACHINE_DRIVER_END
+static MACHINE_DRIVER_START( mjclub )
+ MDRV_IMPORT_FROM(royalmah)
+ MDRV_CPU_REPLACE("maincpu", Z80, 8000000/2) /* 4 MHz ? */
+ MDRV_CPU_IO_MAP(mjclub_iomap,0)
+MACHINE_DRIVER_END
+
static MACHINE_DRIVER_START( ippatsu )
MDRV_IMPORT_FROM(dondenmj)
MDRV_CPU_MODIFY("maincpu")
@@ -2870,6 +3029,13 @@ ROM_START( makaijan )
ROM_LOAD( "ic6k.bin", 0x0000, 0x0020, CRC(97e1defe) SHA1(b5002218b2292f7623dd9a205ce183dedeec03f1) )
ROM_END
+/***************************************************************************
+
+Daisyarin
+(c)1989 Best System
+
+***************************************************************************/
+
ROM_START( daisyari )
ROM_REGION( 0x50000, "maincpu", 0 )
ROM_LOAD( "1a.bin", 0x00000, 0x10000, CRC(7d14f90c) SHA1(742684d0785a93a45de0467e004db00531d016e2) )
@@ -2883,6 +3049,41 @@ ROM_START( daisyari )
ROM_LOAD( "6k.bin", 0x0000, 0x0020, CRC(c1e427df) SHA1(9a9980d93dff4b87a940398b18277acaf946eeab) )
ROM_END
+/***************************************************************************
+
+Mahjong Club
+(c)XEX
+
+Royal mahjong subboard
+
+1
+3
+4
+5
+63s081n
+
+6116 RAM
+surface scrached 40pin DIP (Z80?)
+4.000MHz
+
+***************************************************************************/
+
+ROM_START( mjclub )
+ ROM_REGION( 0x80000, "maincpu", 0 )
+ ROM_LOAD( "5", 0x00000, 0x10000, CRC(cd148465) SHA1(42d1848656e461cfbf3fc0ba88ef8f4e67425f8c) )
+ /* bank switched ROMs follow */
+ ROM_COPY( "maincpu", 0x00000, 0x10000, 0x10000 )
+ ROM_LOAD( "1", 0x50000, 0x10000, CRC(d0131f4b) SHA1(aac40b47b48f0ebfb07aaf17cb2a080fdcaa4697) )
+ ROM_LOAD( "3", 0x60000, 0x10000, CRC(25628c38) SHA1(5166934c488c2f91bd6026c7896ad3536727d950) )
+ ROM_LOAD( "4", 0x70000, 0x10000, CRC(a6ada333) SHA1(5fd44bf298a6f327118b98641af1aa0910519ded) )
+ ROM_COPY( "maincpu", 0x50000, 0x40000, 0x10000 ) /*guess*/
+ ROM_COPY( "maincpu", 0x60000, 0x30000, 0x10000 )
+ ROM_COPY( "maincpu", 0x70000, 0x20000, 0x10000 )
+
+ ROM_REGION( 0x0020, "proms", 0 )
+ ROM_LOAD( "63s081n", 0x0000, 0x0020, CRC(4add90c5) SHA1(de14abcba6eee53e73801ff12c45a75e875e6ca3) )
+ROM_END
+
ROM_START( majs101b )
ROM_REGION( 0x90000, "maincpu", 0 )
ROM_LOAD( "171.3e", 0x00000, 0x10000, CRC(fa3c553b) SHA1(fda212559c4d55610a12ad2927afe21f9069c7b6) )
@@ -3884,7 +4085,8 @@ GAME( 1986, ippatsu, 0, ippatsu, ippatsu, ippatsu, ROT0, "Public Sof
GAME( 1986, suzume, 0, suzume, suzume, 0, ROT0, "Dyna Electronics", "Watashiha Suzumechan (Japan)", 0 )
GAME( 1986, mjsiyoub, 0, royalmah, royalmah, 0, ROT0, "Visco", "Mahjong Shiyou (Japan)", GAME_NOT_WORKING )
GAME( 1986, mjsenka, 0, royalmah, royalmah, 0, ROT0, "Visco", "Mahjong Senka (Japan)", GAME_NOT_WORKING )
-GAME( 1986, mjyarou, 0, royalmah, royalmah, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan", GAME_NOT_WORKING )
+GAME( 1986, mjyarou, 0, royalmah, royalmah, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan)", GAME_NOT_WORKING )
+GAME( 1986?, mjclub, 0, mjclub, mjclub, 0, ROT0, "Xex", "Mahjong Club [BET] (Japan)", 0 )
GAME( 1987, mjdiplob, 0, mjdiplob, mjdiplob, 0, ROT0, "Dynax", "Mahjong Diplomat [BET] (Japan)", 0 )
GAME( 1987, tontonb, 0, tontonb, tontonb, 0, ROT0, "Dynax", "Tonton [BET] (Japan)", 0 )
GAME( 1987, makaijan, 0, makaijan, makaijan, 0, ROT0, "Dynax", "Makaijan [BET] (Japan)", 0 )
diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c
index e0cec0ed0f5..555246753b2 100644
--- a/src/mame/mamedriv.c
+++ b/src/mame/mamedriv.c
@@ -7470,6 +7470,7 @@ Other Sun games
DRIVER( mjsiyoub ) /* (c) 1986 Visco */
DRIVER( mjsenka ) /* (c) 1986 Visco */
DRIVER( mjyarou ) /* (c) 1986 Visco / Video System */
+ DRIVER( mjclub ) /* (c) 1986 Xex */
DRIVER( daisyari ) /* (c) 1989 Best System */
DRIVER( suzume ) /* ?? (c) 1986 Dyna Electronics */
DRIVER( hnayayoi ) /* "02" (c) 1987 Dyna Electronics */