diff options
author | Angelo Salese <angelosa@users.noreply.github.com> | 2009-03-04 17:54:58 +0000 |
---|---|---|
committer | Angelo Salese <angelosa@users.noreply.github.com> | 2009-03-04 17:54:58 +0000 |
commit | a0a8f944bad4a3f4351359ddd6d1e5aac9365c24 (patch) | |
tree | 9110109075a5d8a1c7380bdfbb76fcfbd7680b3f | |
parent | 6cc95c4d1e81108f7cf5a909a6e0f16772b03fb3 (diff) |
New games added or promoted from NOT_WORKING status
---------------------------------------------------
Daisyarin [Yasuhiro Ogawa]
-rw-r--r-- | src/mame/drivers/royalmah.c | 168 | ||||
-rw-r--r-- | src/mame/mamedriv.c | 3 |
2 files changed, 169 insertions, 2 deletions
diff --git a/src/mame/drivers/royalmah.c b/src/mame/drivers/royalmah.c index daef39f502b..474967ea588 100644 --- a/src/mame/drivers/royalmah.c +++ b/src/mame/drivers/royalmah.c @@ -356,7 +356,31 @@ static WRITE8_HANDLER ( dynax_bank_w ) memory_set_bankptr(space->machine, 1,&rom[address]); } +static READ8_HANDLER ( daisyari_dsw_r ) +{ + switch (dsw_select) + { + case 0x00: return input_port_read(space->machine, "DSW4"); + case 0x04: return input_port_read(space->machine, "DSW1"); + case 0x08: return input_port_read(space->machine, "DSW2"); + case 0x0c: return input_port_read(space->machine, "DSW3"); + } + + return 0; +} + +static WRITE8_HANDLER ( daisyari_bank_w ) +{ + UINT8 *rom = memory_region(space->machine, "maincpu"); + int address; + + dsw_select = (data & 0xc); + address = 0x10000 + ((data & 0x30)>>4) * 0x10000 + (data & 0x1) * 0x8000; +// printf("%08x %02x\n",address,data); + + memory_set_bankptr(space->machine, 1,&rom[address]); +} @@ -430,6 +454,15 @@ static ADDRESS_MAP_START( makaijan_iomap, ADDRESS_SPACE_IO, 8 ) AM_RANGE( 0x86, 0x86 ) AM_WRITE( dynax_bank_w ) ADDRESS_MAP_END +static ADDRESS_MAP_START( daisyari_iomap, ADDRESS_SPACE_IO, 8 ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + 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_WRITE( royalmah_palbank_w ) + AM_RANGE( 0x11, 0x11 ) AM_READ_PORT("SYSTEM") AM_WRITE( input_port_select_w ) + AM_RANGE( 0xc0, 0xc0 ) AM_READWRITE( daisyari_dsw_r, daisyari_bank_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 ) @@ -1345,6 +1378,119 @@ static INPUT_PORTS_START( makaijan ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) INPUT_PORTS_END +/* TODO: check dip-switches */ +static INPUT_PORTS_START( daisyari ) + 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, 0x00, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x80, 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, 0x00, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x80, DEF_STR( On ) ) +INPUT_PORTS_END + static INPUT_PORTS_START( mjdiplob ) PORT_INCLUDE( mjctrl2 ) @@ -2380,6 +2526,12 @@ static MACHINE_DRIVER_START( makaijan ) MDRV_CPU_IO_MAP(makaijan_iomap,0) MACHINE_DRIVER_END +static MACHINE_DRIVER_START( daisyari ) + MDRV_IMPORT_FROM(royalmah) + MDRV_CPU_REPLACE("maincpu", Z80, 8000000/2) /* 4 MHz ? */ + MDRV_CPU_IO_MAP(daisyari_iomap,0) +MACHINE_DRIVER_END + static MACHINE_DRIVER_START( ippatsu ) MDRV_IMPORT_FROM(dondenmj) MDRV_CPU_MODIFY("maincpu") @@ -2710,7 +2862,7 @@ ROM_START( makaijan ) ROM_COPY( "maincpu", 0x08000, 0x10000, 0x8000 ) ROM_COPY( "maincpu", 0x08000, 0x18000, 0x8000 ) ROM_LOAD( "052.1e", 0x50000, 0x10000, CRC(a881ca93) SHA1(499e17d2f57caa49c391d57dd737399fe4672f78) ) - ROM_LOAD( "053.1d", 0x30000, 0x10000, CRC(5f1d3e88) SHA1(152fde9f8e506f7f4ca1b2ecf8a828ece0501f78) ) /*good*/ + ROM_LOAD( "053.1d", 0x30000, 0x10000, CRC(5f1d3e88) SHA1(152fde9f8e506f7f4ca1b2ecf8a828ece0501f78) ) ROM_LOAD( "054.2h", 0x70000, 0x10000, CRC(ebc387c7) SHA1(7dfc892a5cccde7494ed06bbab88b4ea320dffbc) ) ROM_LOAD( "055.2e", 0x20000, 0x10000, CRC(e26852ae) SHA1(8f8edefe851fd3641a5b4b227fb4dd976cdfa3e9) ) @@ -2718,6 +2870,19 @@ ROM_START( makaijan ) ROM_LOAD( "ic6k.bin", 0x0000, 0x0020, CRC(97e1defe) SHA1(b5002218b2292f7623dd9a205ce183dedeec03f1) ) ROM_END +ROM_START( daisyari ) + ROM_REGION( 0x50000, "maincpu", 0 ) + ROM_LOAD( "1a.bin", 0x00000, 0x10000, CRC(7d14f90c) SHA1(742684d0785a93a45de0467e004db00531d016e2) ) + /* bank switched ROMs follow */ + ROM_COPY( "maincpu", 0x00000, 0x10000, 0x10000 ) + ROM_LOAD( "1c.bin", 0x20000, 0x10000, CRC(edfe52b9) SHA1(704c107fc8b89f561d2031d10468c124ab3d007a) ) /*2*/ + ROM_LOAD( "1d.bin", 0x30000, 0x10000, CRC(38f54a98) SHA1(d06eb851c75bfb2d8dd99bf5072c7f359f1f17e2) ) /*3*/ + ROM_LOAD( "1f.bin", 0x40000, 0x10000, CRC(b635f295) SHA1(dba3a59133c33c915dba678c510f00fb476f24da) ) /*4*/ + + ROM_REGION( 0x0020, "proms", 0 ) + ROM_LOAD( "6k.bin", 0x0000, 0x0020, CRC(c1e427df) SHA1(9a9980d93dff4b87a940398b18277acaf946eeab) ) +ROM_END + ROM_START( majs101b ) ROM_REGION( 0x90000, "maincpu", 0 ) ROM_LOAD( "171.3e", 0x00000, 0x10000, CRC(fa3c553b) SHA1(fda212559c4d55610a12ad2927afe21f9069c7b6) ) @@ -3728,6 +3893,7 @@ GAME( 1988, mjapinky, 0, mjapinky, mjapinky, 0, ROT0, "Dynax", GAME( 1989, mjdejavu, 0, mjdejavu, mjdejavu, 0, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu (Japan)", 0 ) GAME( 1989, mjdejav2, mjdejavu, mjdejavu, mjdejavu, 0, ROT0, "Dynax", "Mahjong Shinkirou Deja Vu 2 (Japan)", 0 ) GAME( 1989, mjderngr, 0, mjderngr, majs101b, 0, ROT0, "Dynax", "Mahjong Derringer (Japan)", 0 ) +GAME( 1989, daisyari, 0, daisyari, daisyari, 0, ROT0, "Best System", "Daisyarin [BET] (Japan)", 0 ) GAME( 1990, mjifb, 0, mjifb, mjifb, 0, ROT0, "Dynax", "Mahjong If...? [BET]", 0 ) GAME( 1990, mjifb2, mjifb, mjifb, mjifb, 0, ROT0, "Dynax", "Mahjong If...? [BET](2921)", 0 ) GAME( 1990, mjifb3, mjifb, mjifb, mjifb, 0, ROT0, "Dynax", "Mahjong If...? [BET](2931)", 0 ) diff --git a/src/mame/mamedriv.c b/src/mame/mamedriv.c index f215edbdd35..e0cec0ed0f5 100644 --- a/src/mame/mamedriv.c +++ b/src/mame/mamedriv.c @@ -6616,7 +6616,7 @@ BOMULEUL CHAJARA SEGA ST-V 1997/04/11 DRIVER( rfjeta ) /* (c) 1998 Seibu Kaihatsu (Dream Island license) */ DRIVER( rfjetj ) /* (c) 1998 Seibu Kaihatsu */ DRIVER( rfjetus ) /* (c) 1998 Seibu Kaihatsu (Fabtek license) */ - + DRIVER( ejsakura ) /* (c) 1999 Seibu Kaihatsu */ /* Seibu System SH2B games */ @@ -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( daisyari ) /* (c) 1989 Best System */ DRIVER( suzume ) /* ?? (c) 1986 Dyna Electronics */ DRIVER( hnayayoi ) /* "02" (c) 1987 Dyna Electronics */ DRIVER( dondenmj ) /* "03" (c) 1986 Dyna Electronics */ |