summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Brian Troha <briantro@users.noreply.github.com>2020-10-30 00:08:29 -0500
committer Brian Troha <briantro@users.noreply.github.com>2020-10-30 00:08:29 -0500
commit66f44815b2aada31eee72ee65c6fe336c41de60a (patch)
tree89a6d32edcce2d77ee118fa45d799bf4f3e80b7d /src
parent22c231c000444817c2159c7431f4d203709ac46c (diff)
New working clones
------------------ Forgotten Worlds (Japan) [Irongiant, Dumping Union] Ryu Jin (Japan, ET910000B PCB) [Battlesmurf] * Extremely early / rare version of Forgotten Worlds for the Japanese market, before the name change to Lost Worlds. Serial number indicates it's #22!
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/cps1.cpp106
-rw-r--r--src/mame/drivers/taito_b.cpp108
-rw-r--r--src/mame/includes/taito_b.h1
-rw-r--r--src/mame/mame.lst2
-rw-r--r--src/mame/video/cps1.cpp2
5 files changed, 154 insertions, 65 deletions
diff --git a/src/mame/drivers/cps1.cpp b/src/mame/drivers/cps1.cpp
index 0dd52847cd6..8046fabaaa8 100644
--- a/src/mame/drivers/cps1.cpp
+++ b/src/mame/drivers/cps1.cpp
@@ -712,6 +712,7 @@ void cps_state::varthb2_map(address_map &map)
INPUT PORTS, DIPs
***********************************************************/
+
#define CPS1_COINAGE_1(diploc) \
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION(diploc ":1,2,3") \
PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) ) \
@@ -962,6 +963,68 @@ static INPUT_PORTS_START( forgottn )
PORT_BIT( 0x0fff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2)
INPUT_PORTS_END
+
+static INPUT_PORTS_START( forgottnj ) // Where's the Demo Sound????
+ PORT_INCLUDE( cps1_1b )
+
+ PORT_MODIFY("IN0")
+ PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("DSWC") // The manual only mentions two DIP switch banks.
+ PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "DIP-C:1" )
+ PORT_DIPNAME( 0x02, 0x02, "Slow Motion" ) PORT_DIPLOCATION("DIP-C:2")
+ PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "DIP-C:3" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DIP-C:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DIP-C:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "DIP-C:6" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "DIP-C:7" )
+ PORT_DIPNAME( 0x80, 0x80, "Freeze" ) PORT_DIPLOCATION("DIP-C:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("DSWA") // DSW banks A & B in reverse order?
+ CPS1_DIFFICULTY_1( "DIP-A" ) // Not verified, going by other sets
+ PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "DIP-A:4" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "DIP-A:5" )
+ PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "DIP-A:6" ) // Check code at 0x00111c (0x00112c in 'lostwrld')
+ PORT_DIPUNKNOWN_DIPLOC( 0x40, 0x40, "DIP-A:7" )
+ PORT_SERVICE_DIPLOC( 0x80, IP_ACTIVE_LOW, "DIP-A:8" )
+
+ PORT_START("DSWB") // DSW banks A & B in reverse order?
+ PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coin_A ) ) PORT_DIPLOCATION("DIP-B:1,2,3")
+ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x01, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x02, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x07, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x06, "2 Coins / 2 Credits" ) // Must insert 2 coins to get a credits, but credits come in 2s
+ PORT_DIPSETTING( 0x05, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x04, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x03, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x38, 0x38, DEF_STR( Coin_B ) ) PORT_DIPLOCATION("DIP-B:4,5,6")
+ PORT_DIPSETTING( 0x00, DEF_STR( 4C_1C ) )
+ PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) )
+ PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) )
+ PORT_DIPSETTING( 0x38, DEF_STR( 1C_1C ) )
+ PORT_DIPSETTING( 0x30, "2 Coins / 2 Credits" ) // Must insert 2 coins to get a credits, but credits come in 2s
+ PORT_DIPSETTING( 0x28, DEF_STR( 1C_3C ) )
+ PORT_DIPSETTING( 0x20, DEF_STR( 1C_4C ) )
+ PORT_DIPSETTING( 0x18, DEF_STR( 1C_6C ) )
+ PORT_DIPNAME( 0x40, 0x40, "Speed up" ) PORT_DIPLOCATION("DIP-B:7") // Everything is faster including title screen / score wait times
+ PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+ PORT_DIPNAME( 0x80, 0x80, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("DIP-B:8")
+ PORT_DIPSETTING( 0x80, DEF_STR( Off ) )
+ PORT_DIPSETTING( 0x00, DEF_STR( On ) )
+
+ PORT_START("DIAL0")
+ PORT_BIT( 0x0fff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_CODE_DEC(KEYCODE_Z) PORT_CODE_INC(KEYCODE_X) PORT_PLAYER(1)
+
+ PORT_START("DIAL1")
+ PORT_BIT( 0x0fff, 0x0000, IPT_DIAL ) PORT_SENSITIVITY(100) PORT_KEYDELTA(20) PORT_RESET PORT_CODE_DEC(KEYCODE_N) PORT_CODE_INC(KEYCODE_M) PORT_PLAYER(2)
+INPUT_PORTS_END
+
static INPUT_PORTS_START( ghouls )
PORT_INCLUDE( cps1_2b_4way )
/* Service1 doesn't give any credit */
@@ -4024,6 +4087,48 @@ ROM_START( forgottnuaa ) /* 1 byte difference to parent set. Region byte or poin
ROM_END
/* B-Board 88618B-2 */
+ROM_START( forgottnj ) /* comes from a PCB with a very early serial number: LW00022 */
+ ROM_REGION( CODE_SIZE, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "11.14f", 0x00000, 0x20000, CRC(c9a6b319) SHA1(152f65658af6333f10a0608a90330e1cc074d1b2) )
+ ROM_LOAD16_BYTE( "15.14g", 0x00001, 0x20000, CRC(524f920e) SHA1(9c3ad6c8009ff55f81cc859c2e47fa6d6ede112b) )
+ ROM_LOAD16_BYTE( "10.13f", 0x40000, 0x20000, CRC(ff7e41d9) SHA1(6fc0c9692233ce68068a515c000a976f82585f8b) )
+ ROM_LOAD16_BYTE( "14.13g", 0x40001, 0x20000, CRC(80c3a813) SHA1(7d50a6de8a2634e4300985c459e190d1b4eddb10) )
+ ROM_LOAD16_WORD_SWAP( "lw-07.13e", 0x80000, 0x80000, CRC(fd252a26) SHA1(5cfb097984912a5167a8c7ec4c2e119b642f9970) )
+
+ ROM_REGION( 0x400000, "gfx", 0 )
+ ROM_LOAD64_WORD( "lw-01.9d", 0x000000, 0x80000, CRC(0318f298) SHA1(178ffd6da7bf845e30abf1bfc38a469cd319a73f) )
+ ROM_LOAD64_WORD( "lw-08.9f", 0x000002, 0x80000, CRC(25a8e43c) SHA1(d57cee1fc508db2677e84882fb814e4d9ad20543) )
+ ROM_LOAD64_WORD( "lw-05.9e", 0x000004, 0x80000, CRC(e4552fd7) SHA1(11147afc475904848458425661473586dd6f60cc) )
+ ROM_LOAD64_WORD( "lw-12.9g", 0x000006, 0x80000, CRC(8e6a832b) SHA1(d63a1331fda2365f090fa31950098f321a720ea8) )
+ ROM_LOAD64_WORD( "lw-02.12d", 0x200000, 0x80000, CRC(43e6c5c8) SHA1(d3e6c971de0477ec4e178adc82508208dd8b397f) )
+ ROM_LOAD64_WORD( "lw-09.12f", 0x200002, 0x80000, CRC(899cb4ad) SHA1(95e61af338945e690f2a82746feba3871ea224eb) )
+ ROM_LOAD64_WORD( "lw-06.12e", 0x200004, 0x80000, CRC(5b9edffc) SHA1(6fd8f4a3ab070733b52365ab1945bf86acb2bf62) )
+ ROM_LOAD64_WORD( "lw-13.12g", 0x200006, 0x80000, CRC(8e058ef5) SHA1(00f2c0050fd106276ea5398511c5861ebfbc0d10) )
+
+ ROM_REGION( 0x8000, "stars", 0 )
+ ROM_COPY( "gfx", 0x200000, 0x000000, 0x8000 )
+
+ ROM_REGION( 0x18000, "audiocpu", 0 )
+ ROM_LOAD( "00.14a", 0x00000, 0x08000, CRC(59df2a63) SHA1(dfe1fffc7a17179a80a2ae623e93b30a7d6df20d) ) // == lwu_00.14a
+ ROM_CONTINUE( 0x10000, 0x08000 )
+
+ ROM_REGION( 0x40000, "oki", 0 ) /* Samples */
+ ROM_LOAD( "lw-03u.14c", 0x00000, 0x20000, CRC(807d051f) SHA1(720e4733787b9b11f4d1cdce0892b69475802844) ) /* these 2 were mask ROMs */
+ ROM_LOAD( "lw-04u.13c", 0x20000, 0x20000, CRC(e6cd098e) SHA1(667f6e5736f76a1c4c450c4e2035574ea89d7910) )
+
+ ROM_REGION( 0x0200, "aboardplds", 0 )
+ ROM_LOAD( "buf1", 0x0000, 0x0117, CRC(eb122de7) SHA1(b26b5bfe258e3e184f069719f9fd008d6b8f6b9b) )
+ ROM_LOAD( "ioa1", 0x0000, 0x0117, CRC(59c7ee3b) SHA1(fbb887c5b4f5cb8df77cec710eaac2985bc482a6) )
+ ROM_LOAD( "prg1", 0x0000, 0x0117, CRC(f1129744) SHA1(a5300f301c1a08a7da768f0773fa0fe3f683b237) )
+ ROM_LOAD( "rom1", 0x0000, 0x0117, CRC(41dc73b9) SHA1(7d4c9f1693c821fbf84e32dd6ef62ddf14967845) )
+ ROM_LOAD( "sou1", 0x0000, 0x0117, CRC(84f4b2fe) SHA1(dcc9e86cc36316fe42eace02d6df75d08bc8bb6d) )
+
+ ROM_REGION( 0x0200, "bboardplds", 0 )
+ ROM_LOAD( "lwchr.3a", 0x0000, 0x0117, CRC(54ed4c39) SHA1(961309335dc1c84482ebe99ea938b32d3a6ae9a8) )
+ ROM_LOAD( "lwio.15e", 0x0000, 0x0117, CRC(ad52b90c) SHA1(f0fd6aeea515ee449320fe15684e6b3ab7f97bf4) )
+ROM_END
+
+/* B-Board 88618B-2 */
ROM_START( lostwrld )
ROM_REGION( CODE_SIZE, "maincpu", 0 )
ROM_LOAD16_BYTE( "lw_11c.14f", 0x00000, 0x20000, CRC(67e42546) SHA1(3e385661f71616180a26b74e443978077246fe66) )
@@ -13853,6 +13958,7 @@ GAME( 1988, forgottnue, forgottn, forgottn, forgottn, cps_state, init_cps1,
GAME( 1988, forgottnuc, forgottn, forgottn, forgottn, cps_state, init_cps1, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88618B-2, Rev. C)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, forgottnua, forgottn, forgottn, forgottn, cps_state, init_cps1, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88618B-2, Rev. A)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, forgottnuaa, forgottn, forgottn, forgottn, cps_state, init_cps1, ROT0, "Capcom", "Forgotten Worlds (USA, B-Board 88618B-2, Rev. AA)", MACHINE_SUPPORTS_SAVE )
+GAME( 1988, forgottnj, forgottn, forgottn, forgottnj,cps_state, init_cps1, ROT0, "Capcom", "Forgotten Worlds (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, lostwrld, forgottn, forgottn, forgottn, cps_state, init_cps1, ROT0, "Capcom", "Lost Worlds (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, lostwrldo, forgottn, forgottn, forgottn, cps_state, init_cps1, ROT0, "Capcom", "Lost Worlds (Japan Old Ver.)", MACHINE_SUPPORTS_SAVE )
GAME( 1988, ghouls, 0, cps1_10MHz, ghouls, cps_state, init_cps1, ROT0, "Capcom", "Ghouls'n Ghosts (World)", MACHINE_SUPPORTS_SAVE ) // "EXPORT" // Wed.26.10.1988 in the ROMs
diff --git a/src/mame/drivers/taito_b.cpp b/src/mame/drivers/taito_b.cpp
index db0dd459e97..11d6a3cbe81 100644
--- a/src/mame/drivers/taito_b.cpp
+++ b/src/mame/drivers/taito_b.cpp
@@ -1521,6 +1521,15 @@ static INPUT_PORTS_START( ryujin )
PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_PLAYER(2)
PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_PLAYER(2)
+
+ PORT_START("IN3")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("IN4")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
+
+ PORT_START("IN5")
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( sbm )
@@ -2418,7 +2427,7 @@ void taitob_state::viofight(machine_config &config)
}
-void taitob_state::silentd(machine_config &config)
+void taitob_state::silentd(machine_config &config) /* ET910000B PCB */
{
/* basic machine hardware */
M68000(config, m_maincpu, 24_MHz_XTAL / 2); /* 12 MHz */
@@ -2472,7 +2481,7 @@ void taitob_state::silentd(machine_config &config)
}
-void taitob_state::selfeena(machine_config &config)
+void taitob_state::selfeena(machine_config &config) /* ET910000A PCB */
{
/* basic machine hardware */
M68000(config, m_maincpu, 24_MHz_XTAL / 2); /* 12 MHz */
@@ -2535,58 +2544,6 @@ void taitob_state::ryujin_patch(void)
}
#endif
-void taitob_state::ryujin(machine_config &config)
-{
- /* basic machine hardware */
- M68000(config, m_maincpu, 24_MHz_XTAL / 2); /* 12 MHz */
- m_maincpu->set_addrmap(AS_PROGRAM, &taitob_state::selfeena_map);
-
- Z80(config, m_audiocpu, 16_MHz_XTAL / 4); /* 4 MHz */
- m_audiocpu->set_addrmap(AS_PROGRAM, &taitob_state::sound_map);
-
- config.set_maximum_quantum(attotime::from_hz(600));
-
- TC0220IOC(config, m_tc0220ioc, 0);
- m_tc0220ioc->read_0_callback().set_ioport("DSWA");
- m_tc0220ioc->read_1_callback().set_ioport("DSWB");
- m_tc0220ioc->read_2_callback().set_ioport("IN0");
- m_tc0220ioc->read_3_callback().set_ioport("IN1");
- m_tc0220ioc->write_4_callback().set(FUNC(taitob_state::player_12_coin_ctrl_w));
- m_tc0220ioc->read_7_callback().set_ioport("IN2");
-
- /* video hardware */
- SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
- m_screen->set_refresh_hz(60);
- m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
- m_screen->set_size(64*8, 32*8);
- m_screen->set_visarea(0*8, 40*8-1, 2*8, 30*8-1);
- m_screen->set_screen_update(FUNC(taitob_state::screen_update_taitob));
- m_screen->set_palette(m_palette);
-
- PALETTE(config, m_palette).set_format(palette_device::RRRRGGGGBBBBRGBx, 4096);
-
- TC0180VCU(config, m_tc0180vcu, 27.164_MHz_XTAL / 4);
- m_tc0180vcu->set_fb_colorbase(0x10);
- m_tc0180vcu->set_bg_colorbase(0x30);
- m_tc0180vcu->set_fg_colorbase(0x20);
- m_tc0180vcu->set_tx_colorbase(0x00);
- m_tc0180vcu->set_palette(m_palette);
- m_tc0180vcu->inth_callback().set_inputline(m_maincpu, M68K_IRQ_6, HOLD_LINE);
- m_tc0180vcu->intl_callback().set_inputline(m_maincpu, M68K_IRQ_4, HOLD_LINE);
-
- /* sound hardware */
- SPEAKER(config, "mono").front_center();
-
- ym2610_device &ymsnd(YM2610(config, "ymsnd", 16_MHz_XTAL / 2)); /* 8 MHz */
- ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
- ymsnd.add_route(0, "mono", 0.25);
- ymsnd.add_route(1, "mono", 1.0);
- ymsnd.add_route(2, "mono", 1.0);
-
- tc0140syt_device &tc0140syt(TC0140SYT(config, "tc0140syt", 0));
- tc0140syt.set_master_tag(m_maincpu);
- tc0140syt.set_slave_tag(m_audiocpu);
-}
#if 0
void taitob_state::sbm_patch(void)
@@ -3427,22 +3384,44 @@ ROM_START( selfeena ) /* Silkscreened PCB number ET910000A */
ROM_LOAD( "se-06.11", 0x00000, 0x80000, CRC(80d5e772) SHA1(bee4982a3d65210ff86495e36a0b656934b00c7d) )
ROM_END
-ROM_START( ryujin ) /* Silkscreened PCB number ET910000A */
+ROM_START( ryujin ) /* Silkscreened PCB number ET910000B */
+ ROM_REGION( 0x80000, "maincpu", 0 ) /* 256k for 68000 code */
+ ROM_LOAD16_BYTE( "rjn_02.ic32", 0x00000, 0x20000, CRC(5fd353d5) SHA1(76c5e173f5945f9d69f805961ffc190f4f1532d7) ) /* Yes!, these were labeled RJN 02 & RJN 01 (unlike the rest labeled RUJ xx) */
+ ROM_LOAD16_BYTE( "rjn_01.ic10", 0x00001, 0x20000, CRC(f775e4b6) SHA1(1b85b217daf4784e35e0beb088bee229244f1207) )
+ ROM_LOAD16_BYTE( "ruj_04.ic31", 0x40000, 0x20000, CRC(0c153cab) SHA1(16fac3863c1394c9f41173174a4aca20cded6278) ) /* ET910000B PCB uses different IC locations */
+ ROM_LOAD16_BYTE( "ruj_03.ic9", 0x40001, 0x20000, CRC(7695f89c) SHA1(755eb7ef40da190d55de80ee5e0e0a537c22e5f1) )
+
+ ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for Z80 code */
+ ROM_LOAD( "ruj_05.ic15",0x00000, 0x10000, CRC(95270b16) SHA1(c1ad76268679cf198e9f1514360f280b73e49ab5) )
+
+ ROM_REGION( 0x200000, "tc0180vcu", 0 )
+ ROM_LOAD( "ryujin-07.ic28", 0x000000, 0x100000, CRC(34f50980) SHA1(432384bd283389bca17611602eb310726c9d78a4) )
+ ROM_LOAD( "ryujin-06.ic39", 0x100000, 0x100000, CRC(1b85ff34) SHA1(5ad259e6f7aa4a0c08975da73bf41400495f2e61) )
+
+ ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */
+ ROM_LOAD( "ryujin-08.ic1", 0x00000, 0x80000, CRC(480d040d) SHA1(50add2f304ef34f7f45f25a2a2cf0568d58259ad) )
+
+ ROM_REGION( 0x00400, "plds", 0 )
+ ROM_LOAD( "pal16l8b-east-07.ic46", 0x0000, 0x0104, CRC(0cb80f64) SHA1(53c38fc795d05277172391d7994c96d8c66b49c4) )
+ ROM_LOAD( "pal16l8b-east-08.ic47", 0x0200, 0x0104, CRC(bdce045f) SHA1(cc67b2afa1b57345a4b91f5fafd99cae5286827a) )
+ROM_END
+
+ROM_START( ryujina ) /* Silkscreened PCB number ET910000A */
ROM_REGION( 0x80000, "maincpu", 0 ) /* 256k for 68000 code */
- ROM_LOAD16_BYTE( "ruj02.27", 0x00000, 0x20000, CRC(0d223aee) SHA1(33f5498a650b244c5a4a22415408a269da597abf) )
- ROM_LOAD16_BYTE( "ruj01.26", 0x00001, 0x20000, CRC(c6bcdd1e) SHA1(d8620995ad1bc256eab4ed7e1c549e8b6ec5c3fb) )
- ROM_LOAD16_BYTE( "ruj04.29", 0x40000, 0x20000, CRC(0c153cab) SHA1(16fac3863c1394c9f41173174a4aca20cded6278) )
- ROM_LOAD16_BYTE( "ruj03.28", 0x40001, 0x20000, CRC(7695f89c) SHA1(755eb7ef40da190d55de80ee5e0e0a537c22e5f1) )
+ ROM_LOAD16_BYTE( "ruj_02.27", 0x00000, 0x20000, CRC(0d223aee) SHA1(33f5498a650b244c5a4a22415408a269da597abf) )
+ ROM_LOAD16_BYTE( "ruj_01.26", 0x00001, 0x20000, CRC(c6bcdd1e) SHA1(d8620995ad1bc256eab4ed7e1c549e8b6ec5c3fb) )
+ ROM_LOAD16_BYTE( "ruj_04.29", 0x40000, 0x20000, CRC(0c153cab) SHA1(16fac3863c1394c9f41173174a4aca20cded6278) )
+ ROM_LOAD16_BYTE( "ruj_03.28", 0x40001, 0x20000, CRC(7695f89c) SHA1(755eb7ef40da190d55de80ee5e0e0a537c22e5f1) )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* 64k for Z80 code */
- ROM_LOAD( "ruj05.39",0x00000, 0x10000, CRC(95270b16) SHA1(c1ad76268679cf198e9f1514360f280b73e49ab5) )
+ ROM_LOAD( "ruj_05.39",0x00000, 0x10000, CRC(95270b16) SHA1(c1ad76268679cf198e9f1514360f280b73e49ab5) )
ROM_REGION( 0x200000, "tc0180vcu", 0 )
- ROM_LOAD( "ryujin07.2", 0x000000, 0x100000, CRC(34f50980) SHA1(432384bd283389bca17611602eb310726c9d78a4) )
- ROM_LOAD( "ryujin06.1", 0x100000, 0x100000, CRC(1b85ff34) SHA1(5ad259e6f7aa4a0c08975da73bf41400495f2e61) )
+ ROM_LOAD( "ryujin-07.2", 0x000000, 0x100000, CRC(34f50980) SHA1(432384bd283389bca17611602eb310726c9d78a4) )
+ ROM_LOAD( "ryujin-06.1", 0x100000, 0x100000, CRC(1b85ff34) SHA1(5ad259e6f7aa4a0c08975da73bf41400495f2e61) )
ROM_REGION( 0x80000, "ymsnd", 0 ) /* ADPCM samples */
- ROM_LOAD( "ryujin08.11", 0x00000, 0x80000, CRC(480d040d) SHA1(50add2f304ef34f7f45f25a2a2cf0568d58259ad) )
+ ROM_LOAD( "ryujin-08.11", 0x00000, 0x80000, CRC(480d040d) SHA1(50add2f304ef34f7f45f25a2a2cf0568d58259ad) )
ROM_END
ROM_START( sbm )
@@ -3573,7 +3552,8 @@ GAME( 1992, silentd, 0, silentd, silentd, taitob_state, init_taito_b,
GAME( 1992, silentdj, silentd, silentd, silentdj, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Silent Dragon (Japan)", MACHINE_SUPPORTS_SAVE )
GAME( 1992, silentdu, silentd, silentd, silentdu, taitob_state, init_taito_b, ROT0, "Taito America Corporation", "Silent Dragon (US)", MACHINE_SUPPORTS_SAVE )
-GAME( 1993, ryujin, 0, ryujin, ryujin, taitob_state, init_taito_b, ROT270, "Taito Corporation", "Ryu Jin (Japan)", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, ryujin, 0, silentd, ryujin, taitob_state, init_taito_b, ROT270, "Taito Corporation", "Ryu Jin (Japan, ET910000B PCB)", MACHINE_SUPPORTS_SAVE )
+GAME( 1993, ryujina, ryujin, selfeena, ryujin, taitob_state, init_taito_b, ROT270, "Taito Corporation", "Ryu Jin (Japan, ET910000A PCB)", MACHINE_SUPPORTS_SAVE )
GAME( 1993, qzshowby, 0, qzshowby, qzshowby, taitob_state, init_taito_b, ROT0, "Taito Corporation", "Quiz Sekai wa SHOW by shobai (Japan)", MACHINE_SUPPORTS_SAVE )
diff --git a/src/mame/includes/taito_b.h b/src/mame/includes/taito_b.h
index 36b9726f9a0..35dfd29c8a2 100644
--- a/src/mame/includes/taito_b.h
+++ b/src/mame/includes/taito_b.h
@@ -47,7 +47,6 @@ public:
void tetrist(machine_config &config);
void pbobble(machine_config &config);
void masterw(machine_config &config);
- void ryujin(machine_config &config);
void viofight(machine_config &config);
void crimec(machine_config &config);
void selfeena(machine_config &config);
diff --git a/src/mame/mame.lst b/src/mame/mame.lst
index ba48e6d0320..23cfee7f96d 100644
--- a/src/mame/mame.lst
+++ b/src/mame/mame.lst
@@ -10740,6 +10740,7 @@ ffightub // 24/04/1990 (c) 1989 (USA)
ffightuc // 12/06/1990 (c) 1989 (USA)
forgottn // 7/1988 (c) 1988 (World)
forgottna // 7/1988 (c) 1988 (World)
+forgottnj // 7/1988 (c) 1988 (Japan)
forgottnu // 7/1988 (c) 1988 (USA)
forgottnua // 7/1988 (c) 1988 (USA)
forgottnuc // 7/1988 (c) 1988 (USA)
@@ -39338,6 +39339,7 @@ rastsag2 // B81 (c) 1988 Taito Corporation (Japan)
realpunc // D76 (c) 1994 Taito Corporation (Japan)
realpuncj // D76 (c) 1994 Taito Corporation (Japan)
ryujin // ??? (c) 1993 Taito Corporation (Japan)
+ryujina // ??? (c) 1993 Taito Corporation (Japan)
sbm // C69 (c) 1990 Taito America Corporation (US)
sbmj // C69 (c) 1990 Taito Corporation (Japan)
selfeena // ??? (c) 1991 East Technology
diff --git a/src/mame/video/cps1.cpp b/src/mame/video/cps1.cpp
index 1945c456c96..7ae6a22f728 100644
--- a/src/mame/video/cps1.cpp
+++ b/src/mame/video/cps1.cpp
@@ -29,6 +29,7 @@ Forgotten Worlds (USA, B-Board 88618B-2, Rev. AA) 88618B-2 LW
Forgotten Worlds (USA, B-Board 88618B-2, Rev. C) 88618B-2 LWCHR LWIO None CPS-B-01 DL-0411-10001 N/A
Forgotten Worlds (USA, B-Board 88618B-2, Rev. E) 88618B-2 LWCHR LWIO None CPS-B-01 DL-0411-10001 N/A
Forgotten Worlds (USA, B-Board 88621B-2, Rev. C) 88621B-2 LW621 LWIO None CPS-B-01 DL-0411-10001 N/A
+Forgotten Worlds (Japan) 88618B-2 LWCHR LWIO None CPS-B-01 DL-0411-10001 N/A
Lost Worlds (Japan Old Ver.) 88618B-2 LWCHR LWIO None CPS-B-01 DL-0411-10001 N/A
Lost Worlds (Japan) 88618B-2 LWCHR LWIO None CPS-B-01 DL-0411-10001 N/A
@@ -1685,6 +1686,7 @@ static const struct CPS1config cps1_config_table[]=
{"forgottnuc", CPS_B_01, mapper_LWCHR },
{"forgottnua", CPS_B_01, mapper_LWCHR },
{"forgottnuaa", CPS_B_01, mapper_LWCHR },
+ {"forgottnj", CPS_B_01, mapper_LWCHR },
{"lostwrld", CPS_B_01, mapper_LWCHR },
{"lostwrldo", CPS_B_01, mapper_LWCHR },
{"ghouls", CPS_B_01, mapper_DM620 },