new working clone

---------------------------------
GunNail (bootleg) [xodaraP, sylphia]

(nw) needs hook up of the sound hardware
This commit is contained in:
Ivan Vangelista 2019-04-24 19:28:02 +02:00
parent c5ad28736d
commit 95e8104494
3 changed files with 95 additions and 1 deletions

View File

@ -1105,6 +1105,44 @@ void nmk16_state::gunnail_map(address_map &map)
map(0x0f0000, 0x0fffff).ram().share("mainram");
}
void nmk16_state::gunnailb_map(address_map &map)
{
map(0x000000, 0x07ffff).rom();
map(0x080000, 0x080001).portr("IN0");
map(0x080002, 0x080003).portr("IN1");
map(0x080008, 0x080009).portr("DSW1");
map(0x08000a, 0x08000b).portr("DSW2");
// map(0x08000e, 0x08000f).nopr();
map(0x080015, 0x080015).w(FUNC(nmk16_state::nmk_flipscreen_w));
// map(0x080016, 0x080017).noprw();
map(0x080019, 0x080019).w(FUNC(nmk16_state::nmk_tilebank_w));
// map(0x08001e, 0x08001f).nopw();
map(0x088000, 0x0887ff).ram().w(m_palette, FUNC(palette_device::write16)).share("palette");
map(0x08c000, 0x08c1ff).writeonly().share("scrollram");
map(0x08c200, 0x08c3ff).writeonly().share("scrollramy");
map(0x08c400, 0x08c7ff).writeonly(); // unknown
map(0x090000, 0x093fff).ram().w(FUNC(nmk16_state::nmk_bgvideoram_w<0>)).share("nmk_bgvideoram0");
map(0x09c000, 0x09cfff).mirror(0x001000).ram().w(FUNC(nmk16_state::nmk_txvideoram_w)).share("nmk_txvideoram");
map(0x0f0000, 0x0fffff).ram().share("mainram");
// map(0x194000, 0x194000)
}
void nmk16_state::gunnailb_sound_map(address_map &map)
{
map(0x0000, 0x7fff).rom();
map(0x8000, 0xbfff).bankr("audiobank");
map(0xc000, 0xdfff).ram();
}
void nmk16_state::gunnailb_sound_io_map(address_map &map)
{
map.global_mask(0xff);
//map(0x00, 0x00).w(FUNC(nmk16_state::macross2_sound_bank_w));
//map(0x02, 0x03).rw("ymsnd", FUNC(ym2203_device::read), FUNC(ym2203_device::write));
//map(0x04, 0x04).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
//map(0x06, 0x06).r(m_soundlatch, FUNC(generic_latch_8_device::read));
}
void nmk16_state::macross2_map(address_map &map)
{
map(0x000000, 0x07ffff).rom();
@ -4628,6 +4666,27 @@ void nmk16_state::gunnail(machine_config &config)
m_oki[1]->add_route(ALL_OUTPUTS, "mono", 0.10);
}
void nmk16_state::gunnailb(machine_config &config)
{
gunnail(config);
m_maincpu->set_addrmap(AS_PROGRAM, &nmk16_state::gunnailb_map);
GENERIC_LATCH_8(config, m_soundlatch);
Z80(config, m_audiocpu, 4000000); /* 4 MHz ? */
m_audiocpu->set_addrmap(AS_PROGRAM, &nmk16_state::gunnailb_sound_map);
m_audiocpu->set_addrmap(AS_IO, &nmk16_state::gunnailb_sound_io_map);
subdevice<ym2203_device>("ymsnd")->irq_handler().set_inputline(m_audiocpu, 0);
OKIM6295(config.replace(), m_oki[0], XTAL(16'000'000)/4, okim6295_device::PIN7_LOW); // no OKI banking
m_oki[0]->add_route(ALL_OUTPUTS, "mono", 0.10);
config.device_remove("nmk004");
config.device_remove("oki2");
}
void nmk16_state::macross2(machine_config &config)
{
/* basic machine hardware */
@ -5147,6 +5206,12 @@ void nmk16_state::init_bjtwin()
}
void nmk16_state::init_gunnailb()
{
decode_gfx();
init_banked_audiocpu();
}
/* NO NMK004, it has a PIC instead */
READ16_MEMBER(nmk16_state::vandykeb_r){ return 0x0000; }
void nmk16_state::init_vandykeb()
@ -6605,6 +6670,28 @@ ROM_START( gunnail )
ROM_LOAD( "10_82s123.u96", 0x0200, 0x0020, CRC(c60103c8) SHA1(dfb05b704bb5e1f75f5aaa4fa36e8ddcc905f8b6) ) /* unknown */
ROM_END
// bootleg board labeled 'GT ELEKTRONIK 16.04.93' with only 1 OKI and no NMK custom chips. Only sprites and bgtile ROMs are identical to the original.
ROM_START( gunnailb )
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_BYTE( "27c020.6d", 0x00000, 0x40000, CRC(b9566c46) SHA1(dcecec0d401cdf8054b4b7a5dedee62332d92002) )
ROM_LOAD16_BYTE( "27c020.6e", 0x00001, 0x40000, CRC(6ba7c54d) SHA1(3932b96d2f1f541f8679524de3bb8867aded9f83) )
ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "27c010.3b", 0x00000, 0x20000, CRC(6e0a5df0) SHA1(616b7c7aaf52a9a55b63c60717c1866940635cd4) )
ROM_REGION( 0x020000, "fgtile", 0 )
ROM_LOAD( "27c010.5g", 0x000000, 0x020000, CRC(6d2ca620) SHA1(6ed3b9987d1740f36235e33bdd66867c24f93f7e) ) /* 8x8 tiles */
ROM_REGION( 0x200000, "bgtile", 0 )
ROM_LOAD( "27c160.k10", 0x000000, 0x200000, CRC(062100a9) SHA1(c7e81656b8112c161d3e9be3edf001da97721727) ) /* 16x16 tiles, 1st and 2nd half identical */
ROM_REGION( 0x200000, "sprites", 0 )
ROM_LOAD16_WORD_SWAP( "27c160.a9", 0x000000, 0x200000, CRC(d49169b3) SHA1(565ff7725dd6ace79b55706114132d8d867e81a9) ) /* Sprites */
ROM_REGION( 0x040000, "oki1", 0 ) /* OKIM6295 samples */
ROM_LOAD( "27c020.1c", 0x00000, 0x40000, CRC(c5f7c0d9) SHA1(dea090ee535edb4e9167078f6e6e5fe4e544625a) )
ROM_END
ROM_START( macross2 ) /* Title screen shows Kanji characters & Macross II */
ROM_REGION( 0x80000, "maincpu", 0 ) /* 68000 code */
ROM_LOAD16_WORD_SWAP( "mcrs2j.3", 0x00000, 0x80000, CRC(36a618fe) SHA1(56fdb2bcb4a39888cfbaf9692d66335524a6ac0c) )
@ -8373,7 +8460,8 @@ GAME( 1991, hachamfp, hachamf, hachamf, hachamfp, nmk16_state, empty
GAME( 1992, macross, 0, macross, macross, nmk16_state, init_nmk, ROT270, "Banpresto", "Super Spacefortress Macross / Chou-Jikuu Yousai Macross", 0 )
GAME( 1993, gunnail, 0, gunnail, gunnail, nmk16_state, init_nmk, ROT270, "NMK / Tecmo", "GunNail (28th May. 1992)", 0 ) // Tecmo is displayed only when set to Japan
// a 1992 version of Gunnail exists, see https://www.youtube.com/watch?v=tf15Wz0zUiA 3:10
GAME( 1992, gunnailb, gunnail, gunnailb, gunnail, nmk16_state, init_gunnailb, ROT270, "bootleg", "GunNail (bootleg)", MACHINE_NO_SOUND ) // different sound hardware not hooked up
// a 1992 version of Gunnail exists, see https://www.youtube.com/watch?v=tf15Wz0zUiA 3:10; is this bootleg version 'gunnailb'?
GAME( 1993, macross2, 0, macross2, macross2, nmk16_state, init_banked_audiocpu, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II", MACHINE_NO_COCKTAIL )
GAME( 1993, macross2g, macross2, macross2, macross2, nmk16_state, init_banked_audiocpu, ROT0, "Banpresto", "Super Spacefortress Macross II / Chou-Jikuu Yousai Macross II (GAMEST review build)", MACHINE_NO_COCKTAIL ) // Service switch pauses game

View File

@ -54,6 +54,7 @@ public:
void twinactn(machine_config &config);
void firehawk(machine_config &config);
void gunnail(machine_config &config);
void gunnailb(machine_config &config);
void hachamf(machine_config &config);
void redhawki(machine_config &config);
void bjtwin(machine_config &config);
@ -90,6 +91,7 @@ public:
void init_banked_audiocpu();
void init_grdnstrm();
void init_grdnstrmau();
void init_gunnailb();
void init_spec2k();
void init_redfoxwp2a();
void init_grdnstrmg();
@ -236,6 +238,9 @@ protected:
void firehawk_map(address_map &map);
void firehawk_sound_cpu(address_map &map);
void gunnail_map(address_map &map);
void gunnailb_map(address_map &map);
void gunnailb_sound_map(address_map &map);
void gunnailb_sound_io_map(address_map &map);
void hachamf_map(address_map &map);
void macross2_map(address_map &map);
void macross2_sound_io_map(address_map &map);

View File

@ -30646,6 +30646,7 @@ grdnstrmj // (c) 1998 (Japan)
grdnstrmk // (c) 1998 (Korea)
grdnstrmv // (c) 1998 Apples Industries license
gunnail // (c) 1993 NMK / Tecmo
gunnailb // bootleg
hachamf // (c) 1991 NMK
hachamfa // (c) 1991 NMK
hachamfb // bootleg