From 361c226eede7ce666b0a2fe384e93267a650767a Mon Sep 17 00:00:00 2001 From: mamehaze Date: Thu, 5 Mar 2015 19:27:24 +0000 Subject: new clones Chouji Meikyuu Legion (Japan ver 1.05) [ShinobiZ & COY] (JackC forwarded me this old dump, readme below) Legion by Nichibutsu 1987 Version Japan 1.05 legion.e1 CRC(977fa324) SHA1(04432ecb0cab61731e17bcf665ca66fe34b2d75c) legion.e5 CRC(49e8e1b7) SHA1(ed0b38aae3f46f689fe9d2c96c383d375716e77e) legion.e14 CRC(c266ff2d) SHA1(df14c6102abf5484555899d4a5df8105a1fe1bf7) legion.c7 CRC(c52853b3) SHA1(67983e100822295fff58c8a03a4b8f4d36e1ef21) Provided to you by Belgium Dump Team (ShinobiZ & COY) on 22/08/2003. c7 looks like a bad dump of the sound rom, e14 is a bad dump of the tile rom (1 bit wrong) but the program looks legitimate, and actually needs the MCU / blitter unlike the Japan set we currently support. Also this is highly suggestive that our current IC positions are nonsense ones from a bootleg. --- src/mame/drivers/armedf.c | 57 +++++++++++++++++++++++++++++++++++++--------- src/mame/includes/armedf.h | 6 ++--- src/mame/mame.lst | 3 ++- 3 files changed, 51 insertions(+), 15 deletions(-) diff --git a/src/mame/drivers/armedf.c b/src/mame/drivers/armedf.c index 0d93a45c994..f5b9a304dc5 100644 --- a/src/mame/drivers/armedf.c +++ b/src/mame/drivers/armedf.c @@ -79,7 +79,7 @@ Stephh's notes (based on the games M68000 code and some tests) : to find its purpose (any more infos are welcome) -1b) 'legiono' (bootleg set?) +1b) 'legionjb' (bootleg set?) - The ROM test (code at 0x000466) checks range 0x000102-0x03ffff but NEVER reports an error if the checksum isn't correct due @@ -461,7 +461,7 @@ static ADDRESS_MAP_START( legion_map, AS_PROGRAM, 16, armedf_state ) AM_RANGE(0x07c00e, 0x07c00f) AM_WRITE(irq_lv2_ack_w) ADDRESS_MAP_END -WRITE8_MEMBER(armedf_state::legiono_fg_scroll_w) +WRITE8_MEMBER(armedf_state::legionjb_fg_scroll_w) { if(offset >= 0xb && offset < 0xf) m_legion_cmd[offset-0xb] = data & 0xff; @@ -470,8 +470,8 @@ WRITE8_MEMBER(armedf_state::legiono_fg_scroll_w) m_fg_scrolly = (m_legion_cmd[0x00] & 0xff) | ((m_legion_cmd[0x01] & 0x3) << 8); } -static ADDRESS_MAP_START( legiono_map, AS_PROGRAM, 16, armedf_state ) - AM_RANGE(0x040000, 0x04003f) AM_WRITE8(legiono_fg_scroll_w,0x00ff) +static ADDRESS_MAP_START( legionjb_map, AS_PROGRAM, 16, armedf_state ) + AM_RANGE(0x040000, 0x04003f) AM_WRITE8(legionjb_fg_scroll_w,0x00ff) AM_RANGE(0x000000, 0x05ffff) AM_ROM AM_RANGE(0x060000, 0x060fff) AM_RAM AM_SHARE("spriteram") AM_RANGE(0x061000, 0x063fff) AM_RAM @@ -1453,11 +1453,11 @@ static MACHINE_CONFIG_START( legion, armedf_state ) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.40) MACHINE_CONFIG_END -static MACHINE_CONFIG_START( legiono, armedf_state ) +static MACHINE_CONFIG_START( legionjb, armedf_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", M68000, XTAL_16MHz/2) // 8mhz? - MCFG_CPU_PROGRAM_MAP(legiono_map) + MCFG_CPU_PROGRAM_MAP(legionjb_map) MCFG_CPU_VBLANK_INT_DRIVER("screen", armedf_state, irq2_line_assert) MCFG_CPU_ADD("audiocpu", Z80, XTAL_8MHz/2) // 4mhz? @@ -1592,7 +1592,36 @@ ROM_START( legion ) ROM_LOAD ( "lg7.bin", 0x0000, 0x4000, CRC(533e2b58) SHA1(a13ea4a530038760ffa87713903c59a932452717) ) ROM_END -ROM_START( legiono ) +ROM_START( legionj ) + ROM_REGION( 0x60000, "maincpu", ROMREGION_ERASEFF ) /* 64K*8 for 68000 code */ + ROM_LOAD16_BYTE( "legion.e1", 0x000001, 0x010000, CRC(977fa324) SHA1(04432ecb0cab61731e17bcf665ca66fe34b2d75c) ) + ROM_LOAD16_BYTE( "legion.e5", 0x000000, 0x010000, CRC(49e8e1b7) SHA1(ed0b38aae3f46f689fe9d2c96c383d375716e77e) ) + ROM_LOAD16_BYTE( "legion.1b", 0x020001, 0x010000, CRC(c306660a) SHA1(31c6b868ba07677b5110c577335873354bff596f) ) + ROM_LOAD16_BYTE( "legion.1d", 0x020000, 0x010000, CRC(c2e45e1e) SHA1(95cc359145b1b03123262891feed358407ba105a) ) + + ROM_REGION( 0x10000, "audiocpu", 0 ) /* Z80 code (sound) */ + ROM_LOAD( "legion.1h", 0x00000, 0x04000, CRC(2ca4f7f0) SHA1(7cf997af9dd74ced9d28c047069ccfb67d72e257) ) + ROM_LOAD( "legion.1i", 0x04000, 0x08000, CRC(79f4a827) SHA1(25e4c1b5b8466627244b7226310e67e4261333b6) ) + + ROM_REGION( 0x08000, "gfx1", 0 ) + ROM_LOAD( "legion.1g", 0x00000, 0x08000, CRC(c50b0125) SHA1(83b5e9707152d97777fb65fa8820ba34ec2fac8d) ) + + ROM_REGION( 0x20000, "gfx2", 0 ) + ROM_LOAD( "legion.1e", 0x00000, 0x10000, CRC(a9d70faf) SHA1(8b8b60ae49c55e931d6838e863463f6b2bf7adb0) ) + ROM_LOAD( "legion.1f", 0x18000, 0x08000, CRC(f018313b) SHA1(860bc9937202dc3a40c9fa7caad11c2c2aa19f5c) ) + + ROM_REGION( 0x20000, "gfx3", 0 ) + ROM_LOAD( "legion.1l", 0x00000, 0x10000, CRC(29b8adaa) SHA1(10338ebe7324960683de1f796dd311ed662e42b4) ) + + ROM_REGION( 0x20000, "gfx4", 0 ) + ROM_LOAD( "legion.1k", 0x000000, 0x010000, CRC(ff5a0db9) SHA1(9308deb363d3b7686cc69485ec14201dd68f9a97) ) + ROM_LOAD( "legion.1j", 0x010000, 0x010000, CRC(bae220c8) SHA1(392ae0fb0351dcad7b0e8e0ed4a1dc6e07f493df) ) + + ROM_REGION( 0x4000, "nb1414m4", 0 ) /* data for mcu/blitter */ + ROM_LOAD ( "lg7.bin", 0x0000, 0x4000, CRC(533e2b58) SHA1(a13ea4a530038760ffa87713903c59a932452717) ) +ROM_END + +ROM_START( legionjb ) ROM_REGION( 0x60000, "maincpu", ROMREGION_ERASEFF ) /* 64K*8 for 68000 code */ ROM_LOAD16_BYTE( "legion.1a", 0x000001, 0x010000, CRC(8c0cda1d) SHA1(14b93d4fb4381ebc6a4ccdb480089bf69c6f474b) ) ROM_LOAD16_BYTE( "legion.1c", 0x000000, 0x010000, CRC(21226660) SHA1(ee48812d6ec9d4dccc58684164916f91b71aabf2) ) @@ -2115,7 +2144,7 @@ DRIVER_INIT_MEMBER(armedf_state,legion) m_scroll_type = 2; } -DRIVER_INIT_MEMBER(armedf_state,legiono) +DRIVER_INIT_MEMBER(armedf_state,legionjb) { #if LEGION_HACK /* This is a hack to allow you to use the extra features @@ -2152,16 +2181,22 @@ DRIVER_INIT_MEMBER(bigfghtr_state,bigfghtr) /* YEAR, NAME, PARENT, MACHINE, INPUT, INIT, MONITOR, COMPANY, FULLNAME, FLAGS */ GAME( 1987, legion, 0, legion, legion, armedf_state, legion, ROT270, "Nichibutsu", "Legion - Spinner-87 (World ver 2.03)", GAME_SUPPORTS_SAVE ) -GAME( 1987, legiono, legion, legiono, legion, armedf_state, legiono, ROT270, "Nichibutsu", "Chouji Meikyuu Legion (Japan bootleg ver 1.05)", GAME_SUPPORTS_SAVE ) /* bootleg? */ +GAME( 1987, legionj, legion, legion, legion, armedf_state, legion, ROT270, "Nichibutsu", "Chouji Meikyuu Legion (Japan ver 1.05)", GAME_SUPPORTS_SAVE ) +GAME( 1987, legionjb, legion, legionjb, legion, armedf_state, legionjb, ROT270, "Nichibutsu", "Chouji Meikyuu Legion (Japan ver 1.05, bootleg)", GAME_SUPPORTS_SAVE) /* blitter protection removed */ + GAME( 1987, terraf, 0, terraf, terraf, armedf_state, terrafu, ROT0, "Nichibutsu", "Terra Force", GAME_SUPPORTS_SAVE ) GAME( 1987, terrafu, terraf, terraf, terraf, armedf_state, terrafu, ROT0, "Nichibutsu USA", "Terra Force (US)", GAME_SUPPORTS_SAVE ) GAME( 1987, terrafj, terraf, terraf, terraf, armedf_state, terrafu, ROT0, "Nichibutsu Japan", "Terra Force (Japan)", GAME_SUPPORTS_SAVE ) -GAME( 1987, terrafjb, terraf, terrafjb, terraf, armedf_state, terrafjb, ROT0, "bootleg", "Terra Force (Japan bootleg with additional Z80)", GAME_SUPPORTS_SAVE ) -GAME( 1987, terrafb, terraf, terraf, terraf, armedf_state, terraf, ROT0, "bootleg", "Terra Force (Japan bootleg set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1987, terrafjb, terraf, terrafjb, terraf, armedf_state, terrafjb, ROT0, "bootleg", "Terra Force (Japan, bootleg with additional Z80)", GAME_SUPPORTS_SAVE ) +GAME( 1987, terrafb, terraf, terraf, terraf, armedf_state, terraf, ROT0, "bootleg", "Terra Force (Japan, bootleg set 2)", GAME_SUPPORTS_SAVE ) + GAME( 1987, kozure, 0, kozure, kozure, armedf_state, kozure, ROT0, "Nichibutsu", "Kozure Ookami (Japan)", GAME_SUPPORTS_SAVE ) + GAME( 1988, cclimbr2, 0, cclimbr2, cclimbr2, armedf_state, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1988, cclimbr2a,cclimbr2, cclimbr2, cclimbr2, armedf_state, cclimbr2, ROT0, "Nichibutsu", "Crazy Climber 2 (Japan, Harder)", GAME_SUPPORTS_SAVE ) + GAME( 1988, armedf, 0, armedf, armedf, armedf_state, armedf, ROT270, "Nichibutsu", "Armed Formation", GAME_SUPPORTS_SAVE ) GAME( 1988, armedff, armedf, armedf, armedf, armedf_state, armedf, ROT270, "Nichibutsu (Fillmore license)", "Armed Formation (Fillmore license)", GAME_SUPPORTS_SAVE ) + GAME( 1989, skyrobo, 0, bigfghtr, bigfghtr, bigfghtr_state, bigfghtr, ROT0, "Nichibutsu", "Sky Robo", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) GAME( 1989, bigfghtr, skyrobo, bigfghtr, bigfghtr, bigfghtr_state, bigfghtr, ROT0, "Nichibutsu", "Tatakae! Big Fighter (Japan)", GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION | GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/armedf.h b/src/mame/includes/armedf.h index f66a2b382df..bc13fd75755 100644 --- a/src/mame/includes/armedf.h +++ b/src/mame/includes/armedf.h @@ -30,7 +30,7 @@ public: required_shared_ptr m_spr_pal_clut; required_shared_ptr m_fg_videoram; required_shared_ptr m_bg_videoram; - UINT16 m_legion_cmd[4]; // legiono only! + UINT16 m_legion_cmd[4]; // legionjb only! // UINT16 * m_paletteram; // currently this uses generic palette handling /* video-related */ @@ -55,7 +55,7 @@ public: DECLARE_READ8_MEMBER(soundlatch_clear_r); DECLARE_WRITE16_MEMBER(irq_lv1_ack_w); DECLARE_WRITE16_MEMBER(irq_lv2_ack_w); - DECLARE_WRITE8_MEMBER(legiono_fg_scroll_w); + DECLARE_WRITE8_MEMBER(legionjb_fg_scroll_w); DECLARE_READ8_MEMBER(blitter_txram_r); DECLARE_WRITE8_MEMBER(blitter_txram_w); DECLARE_WRITE8_MEMBER(fg_scrollx_w); @@ -78,7 +78,7 @@ public: DECLARE_DRIVER_INIT(armedf); DECLARE_DRIVER_INIT(legion); DECLARE_DRIVER_INIT(terrafu); - DECLARE_DRIVER_INIT(legiono); + DECLARE_DRIVER_INIT(legionjb); DECLARE_DRIVER_INIT(kozure); DECLARE_DRIVER_INIT(terraf); DECLARE_DRIVER_INIT(terrafjb); diff --git a/src/mame/mame.lst b/src/mame/mame.lst index 46a1d271ae4..bbda7f5b6d4 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -510,7 +510,8 @@ youma2 // (c) 1986 (Japan) youmab // bootleg youmab2 // bootleg legion // (c) 1986 -legiono // (c) 1986 +legionj // (c) 1986 +legionjb // (c) 1986 terraf // (c) 1987 terrafu // (c) 1987 Nichibutsu USA terrafj // (c) 1987 Nichibutsu Japan -- cgit v1.2.3