From cd98b00454f4626dd513ae944bfb9c2380f07c23 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Mon, 1 May 2017 08:41:04 +0200 Subject: [PATCH] royalmah.cpp: redumped mjyarou, verified it only has 1 Z80 [Guru] --- src/mame/drivers/royalmah.cpp | 89 +++++++++++++++++++++++++---------- 1 file changed, 63 insertions(+), 26 deletions(-) diff --git a/src/mame/drivers/royalmah.cpp b/src/mame/drivers/royalmah.cpp index 2cbb435950b..a11bbb68aa5 100644 --- a/src/mame/drivers/royalmah.cpp +++ b/src/mame/drivers/royalmah.cpp @@ -621,6 +621,15 @@ static ADDRESS_MAP_START( suzume_iomap, AS_IO, 8, royalmah_state ) AM_RANGE( 0x81, 0x81 ) AM_WRITE(suzume_bank_w ) ADDRESS_MAP_END +static ADDRESS_MAP_START( mjyarou_iomap, AS_IO, 8, royalmah_state ) + ADDRESS_MAP_GLOBAL_MASK(0xff) + AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r) + AM_RANGE( 0x02, 0x03 ) AM_DEVWRITE("aysnd", ay8910_device, 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 ) + AM_RANGE( 0x12, 0x12 ) AM_READ_PORT("DSW2") +ADDRESS_MAP_END + static ADDRESS_MAP_START( dondenmj_iomap, AS_IO, 8, royalmah_state ) ADDRESS_MAP_GLOBAL_MASK(0xff) AM_RANGE( 0x01, 0x01 ) AM_DEVREAD("aysnd", ay8910_device, data_r) @@ -1668,6 +1677,33 @@ static INPUT_PORTS_START( suzume ) PORT_DIPSETTING( 0x00, DEF_STR( On ) ) INPUT_PORTS_END +static INPUT_PORTS_START( mjyarou ) + PORT_INCLUDE( royalmah ) + + PORT_START("DSW2") + PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x01, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x02, 0x02, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x02, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x08, 0x08, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x08, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x10, 0x10, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x10, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x20, 0x20, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x20, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x40, 0x40, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x40, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) + PORT_DIPNAME( 0x80, 0x80, DEF_STR( Unknown ) ) + PORT_DIPSETTING( 0x80, DEF_STR( Off ) ) + PORT_DIPSETTING( 0x00, DEF_STR( On ) ) +INPUT_PORTS_END + static INPUT_PORTS_START( tontonb ) PORT_INCLUDE( mjctrl2 ) @@ -3398,6 +3434,11 @@ static MACHINE_CONFIG_DERIVED( mjclub, royalmah ) MCFG_CPU_IO_MAP(mjclub_iomap) MACHINE_CONFIG_END +static MACHINE_CONFIG_DERIVED( mjyarou, royalmah ) + MCFG_CPU_MODIFY("maincpu") + MCFG_CPU_IO_MAP(mjyarou_iomap) +MACHINE_CONFIG_END + static MACHINE_CONFIG_DERIVED( ippatsu, dondenmj ) MCFG_CPU_MODIFY("maincpu") MCFG_CPU_IO_MAP(ippatsu_iomap) @@ -4733,7 +4774,7 @@ Mahjong Yarou FRM-00 (modified royal mahjong hardware) -CPU: Z80 (on subboard) <- wrong,they are 2 z80 CPUs -AS +CPU: Z80 (on subboard) Sound: AY-3-8910 OSC: 18.432MHz @@ -4748,13 +4789,13 @@ ROMs: pin9 is not inserted to the socket Subboard: -7(2732) +7(2764) 8(2764) N82S129N.IC4 N82S123N.IC7 N82S129N.IC15 -Connetor between mainboard and subboard +Connector between mainboard and subboard sub - main CK - LS368 (1K) pin12 HD - LS08 (2E) pin1 @@ -4808,25 +4849,23 @@ http://japump.i.am/ ROM_START( mjyarou ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD( "1", 0x0000, 0x1000, CRC(312c3b29) SHA1(ec2e14b392cf761f0a7079376994418fd463a06c) ) - ROM_LOAD( "2", 0x1000, 0x1000, CRC(98f14097) SHA1(cd1f72d6effa50f95386dfc5fa9b5056d83e554f) ) - ROM_LOAD( "3", 0x2000, 0x1000, CRC(295dbf40) SHA1(d6ac7bd88da849e418e750e2c91a594f65bdff39) ) - ROM_LOAD( "4", 0x3000, 0x1000, CRC(a6a078c8) SHA1(936be36c7c938c705e7054a42c1908bb5a5ee1bb) ) - ROM_LOAD( "5", 0x4000, 0x1000, CRC(3179657e) SHA1(703fc57ae71554345754267c31809cf7af7f1639) ) - ROM_LOAD( "6", 0x5000, 0x1000, CRC(6ccc05b4) SHA1(6eefba6023673edd86e82a0ad861a4d8f7f6652b) ) - ROM_LOAD( "8", 0x6000, 0x2000, CRC(1adef246) SHA1(b5f5598daf71694effffbfb486b03fcda5a593ee) ) //might be a rom for the sub cpu. - - /*encrypted z80*/ - ROM_REGION( 0x10000, "sub", 0 ) - ROM_LOAD( "7", 0x0000, 0x1000, CRC(dd144b90) SHA1(56b2c4472aaec49d9fddc99d8aa718b17655812c) ) + ROM_LOAD( "1.p1", 0x0000, 0x1000, CRC(312c3b29) SHA1(ec2e14b392cf761f0a7079376994418fd463a06c) ) // on main board + ROM_LOAD( "2.p2", 0x1000, 0x1000, CRC(98f14097) SHA1(cd1f72d6effa50f95386dfc5fa9b5056d83e554f) ) // " + ROM_LOAD( "3.p3", 0x2000, 0x1000, CRC(295dbf40) SHA1(d6ac7bd88da849e418e750e2c91a594f65bdff39) ) // " + ROM_LOAD( "4.p4", 0x3000, 0x1000, CRC(a6a078c8) SHA1(936be36c7c938c705e7054a42c1908bb5a5ee1bb) ) // " + ROM_LOAD( "5.p5", 0x4000, 0x1000, CRC(3179657e) SHA1(703fc57ae71554345754267c31809cf7af7f1639) ) // " + ROM_LOAD( "6.p6", 0x5000, 0x1000, CRC(6ccc05b4) SHA1(6eefba6023673edd86e82a0ad861a4d8f7f6652b) ) // " + ROM_LOAD( "7.ic2", 0x6000, 0x2000, CRC(de6bfdd8) SHA1(dd9727d4d7de4add48cde229b8aa194f0492af7e) ) // on sub board + ROM_LOAD( "8.ic3", 0x8000, 0x2000, CRC(1adef246) SHA1(b5f5598daf71694effffbfb486b03fcda5a593ee) ) // " ROM_REGION( 0x0040, "proms", 0 ) - ROM_LOAD( "4.6k", 0x0000, 0x0020, CRC(41bd4d69) SHA1(4d2da761b338b62b2ea151c201063a24d6e4cc97) ) - ROM_LOAD( "82s123n.ic7", 0x0020, 0x0020, CRC(46014727) SHA1(eec451f292ee319fa6bfbbf223aaa12b231692c1) ) + ROM_LOAD( "82s123n.ic7", 0x0000, 0x0020, CRC(46014727) SHA1(eec451f292ee319fa6bfbbf223aaa12b231692c1) ) // on sub board + ROM_LOAD( "4.6k", 0x0020, 0x0010, CRC(41bd4d69) SHA1(4d2da761b338b62b2ea151c201063a24d6e4cc97) ) // on main board + ROM_CONTINUE(0x0000, 0x0010) ROM_REGION( 0x0200, "user1", 0 ) //? - ROM_LOAD( "82s129n.ic15", 0x0000, 0x0100, CRC(86aeafd1) SHA1(c4e5c56ce5baf2be3962675ae333e28bd8108a00) ) - ROM_LOAD( "82s129n.ic4", 0x0100, 0x0100, CRC(f09d3c4c) SHA1(a9e752d75e7f3ebd05add4ccf2f9f15d8f9a8d15) ) + ROM_LOAD( "82s129n.ic15", 0x0000, 0x0100, CRC(86aeafd1) SHA1(c4e5c56ce5baf2be3962675ae333e28bd8108a00) ) // on sub board + ROM_LOAD( "82s129n.ic4", 0x0100, 0x0100, CRC(f09d3c4c) SHA1(a9e752d75e7f3ebd05add4ccf2f9f15d8f9a8d15) ) // " ROM_END ROM_START( mjyarou2 ) @@ -4838,14 +4877,12 @@ ROM_START( mjyarou2 ) ROM_LOAD( "my_5", 0x4000, 0x1000, CRC(3179657e) SHA1(703fc57ae71554345754267c31809cf7af7f1639) ) ROM_LOAD( "my_6", 0x5000, 0x1000, CRC(0ca1cedc) SHA1(bd5d54b185e6ff5633d59df4c06a2094fca9cbf2) ) ROM_LOAD( "7", 0x6000, 0x2000, CRC(de6bfdd8) SHA1(dd9727d4d7de4add48cde229b8aa194f0492af7e) ) - - /*encrypted z80*/ - ROM_REGION( 0x10000, "sub", 0 ) - ROM_LOAD( "my_8", 0x0000, 0x2000, CRC(1adef246) SHA1(b5f5598daf71694effffbfb486b03fcda5a593ee) ) + ROM_LOAD( "8", 0x8000, 0x2000, CRC(1adef246) SHA1(b5f5598daf71694effffbfb486b03fcda5a593ee) ) ROM_REGION( 0x0040, "proms", 0 ) - ROM_LOAD( "82s123", 0x0000, 0x0020, CRC(41bd4d69) SHA1(4d2da761b338b62b2ea151c201063a24d6e4cc97) ) - ROM_LOAD( "82s123n.ic7", 0x0020, 0x0020, CRC(46014727) SHA1(eec451f292ee319fa6bfbbf223aaa12b231692c1) ) // not dumped for this board + ROM_LOAD( "82s123n.ic7", 0x0000, 0x0020, CRC(46014727) SHA1(eec451f292ee319fa6bfbbf223aaa12b231692c1) ) // not dumped for this board + ROM_LOAD( "82s123", 0x0020, 0x0010, CRC(41bd4d69) SHA1(4d2da761b338b62b2ea151c201063a24d6e4cc97) ) + ROM_CONTINUE(0x0000, 0x0010) ROM_REGION( 0x0200, "user1", 0 ) //? ROM_LOAD( "82s129n.ic15", 0x0000, 0x0100, CRC(86aeafd1) SHA1(c4e5c56ce5baf2be3962675ae333e28bd8108a00) ) // not dumped for this board @@ -4976,8 +5013,8 @@ GAME( 1986, ippatsu, 0, ippatsu, ippatsu, royalmah_state, ippatsu, R GAME( 1986, suzume, 0, suzume, suzume, driver_device, 0, ROT0, "Dyna Electronics", "Watashiha Suzumechan (Japan)", 0 ) GAME( 1986, mjsiyoub, 0, royalmah, royalmah, driver_device, 0, ROT0, "Visco", "Mahjong Shiyou (Japan)", MACHINE_NOT_WORKING ) GAME( 1986, mjsenka, 0, royalmah, royalmah, driver_device, 0, ROT0, "Visco", "Mahjong Senka (Japan)", MACHINE_NOT_WORKING ) -GAME( 1986, mjyarou, 0, royalmah, royalmah, driver_device, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan, set 1)", MACHINE_NOT_WORKING ) -GAME( 1986, mjyarou2, mjyarou, royalmah, royalmah, driver_device, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan, set 2)", MACHINE_NOT_WORKING ) +GAME( 1986, mjyarou, 0, mjyarou, mjyarou, driver_device, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan, set 1)", MACHINE_IMPERFECT_GRAPHICS ) // girls aren't shown +GAME( 1986, mjyarou2, mjyarou, mjyarou, mjyarou, driver_device, 0, ROT0, "Visco / Video System", "Mahjong Yarou [BET] (Japan, set 2)", MACHINE_IMPERFECT_GRAPHICS ) // girls aren't shown GAME( 1986?, mjclub, 0, mjclub, mjclub, driver_device, 0, ROT0, "Xex", "Mahjong Club [BET] (Japan)", 0 ) GAME( 1987, mjdiplob, 0, mjdiplob, mjdiplob, driver_device, 0, ROT0, "Dynax", "Mahjong Diplomat [BET] (Japan)", 0 ) GAME( 1987, tontonb, 0, tontonb, tontonb, driver_device, 0, ROT0, "Dynax", "Tonton [BET] (Japan, set 1)", 0 )