New clones marked not working
----------------------------- Fruit Bonus 2010 (v. 2.0.1.0) [Ioannis Bampoulas] Tengai (bootleg) [Taksangs] - namco/namcos12.cpp: verified that contents of the TKK1-A CD for truckk are the same of the TKK2-A CD [Hammy]
This commit is contained in:
parent
37855066da
commit
9083885823
@ -18461,22 +18461,15 @@ ROM_END
|
||||
|
||||
ROM_START( fb2010 )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 )
|
||||
ROM_LOAD( "fb2013r.bin", 0x00000, 0x1000, CRC(9cc75315) SHA1(f77fbce1037dbf38ddaa4ce79266d62e5cc7989e) )
|
||||
ROM_CONTINUE(0x4000, 0x1000)
|
||||
ROM_CONTINUE(0x3000, 0x1000)
|
||||
ROM_CONTINUE(0x7000, 0x1000)
|
||||
ROM_CONTINUE(0x1000, 0x1000)
|
||||
ROM_CONTINUE(0x6000, 0x1000)
|
||||
ROM_CONTINUE(0x2000, 0x1000)
|
||||
ROM_CONTINUE(0x5000, 0x1000)
|
||||
ROM_CONTINUE(0x8000, 0x1000)
|
||||
ROM_CONTINUE(0x9000, 0x1000)
|
||||
ROM_CONTINUE(0xa000, 0x1000)
|
||||
ROM_CONTINUE(0xb000, 0x1000)
|
||||
ROM_CONTINUE(0xc000, 0x1000)
|
||||
ROM_CONTINUE(0xd000, 0x1000)
|
||||
ROM_CONTINUE(0xe000, 0x1000)
|
||||
ROM_CONTINUE(0xf000, 0x1000)
|
||||
ROM_LOAD( "fb2013r.bin", 0x0000, 0x1000, CRC(9cc75315) SHA1(f77fbce1037dbf38ddaa4ce79266d62e5cc7989e) )
|
||||
ROM_CONTINUE( 0x4000, 0x1000 )
|
||||
ROM_CONTINUE( 0x3000, 0x1000 )
|
||||
ROM_CONTINUE( 0x7000, 0x1000 )
|
||||
ROM_CONTINUE( 0x1000, 0x1000 )
|
||||
ROM_CONTINUE( 0x6000, 0x1000 )
|
||||
ROM_CONTINUE( 0x2000, 0x1000 )
|
||||
ROM_CONTINUE( 0x5000, 0x1000 )
|
||||
ROM_CONTINUE( 0x8000, 0x8000 )
|
||||
|
||||
ROM_REGION( 0x20000, "graphics", 0 )
|
||||
ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(5950b5fb) SHA1(64441fdbd768e7765e20a33acd4002e69b868f09) )
|
||||
@ -18501,7 +18494,46 @@ ROM_START( fb2010 )
|
||||
ROM_LOAD( "chu20.bin", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) )
|
||||
|
||||
ROM_REGION( 0x800, "nvram", 0 )
|
||||
ROM_LOAD( "fb2010.nv", 0x000, 0x800, CRC(a8fc7d38) SHA1(06848e50be1968e89ba92c29661e8ee9c479d29f) ) // default NVRAM. 0xd2a must be 0x53 to pass start up check
|
||||
ROM_LOAD( "fb2010.nv", 0x000, 0x800, CRC(a8fc7d38) SHA1(06848e50be1968e89ba92c29661e8ee9c479d29f) ) // default NVRAM. 0x2da must be 0x53 to pass start up check
|
||||
ROM_END
|
||||
|
||||
|
||||
ROM_START( fb2010a )
|
||||
ROM_REGION( 0x20000, "maincpu", 0 )
|
||||
ROM_LOAD( "27c512.u12", 0x0000, 0x1000, CRC(e5eb181d) SHA1(96288a31005d06f83d04c4410befe6dcf0b63cf5) )
|
||||
ROM_CONTINUE( 0x4000, 0x1000 )
|
||||
ROM_CONTINUE( 0x3000, 0x1000 )
|
||||
ROM_CONTINUE( 0x7000, 0x1000 )
|
||||
ROM_CONTINUE( 0x1000, 0x1000 )
|
||||
ROM_CONTINUE( 0x6000, 0x1000 )
|
||||
ROM_CONTINUE( 0x2000, 0x1000 )
|
||||
ROM_CONTINUE( 0x5000, 0x1000 )
|
||||
ROM_CONTINUE( 0x8000, 0x8000 )
|
||||
|
||||
ROM_REGION( 0x20000, "graphics", 0 )
|
||||
ROM_LOAD( "high.bin", 0x00000, 0x10000, CRC(5950b5fb) SHA1(64441fdbd768e7765e20a33acd4002e69b868f09) )
|
||||
ROM_LOAD( "low.bin", 0x10000, 0x10000, CRC(98b0454f) SHA1(91f7f4119a0cd591e68c87a9e716a8cd5233a4aa) )
|
||||
|
||||
ROM_REGION( 0x18000, "gfx1", 0 )
|
||||
ROM_COPY( "graphics", 0x18000, 0x00000, 0x4000 ) // 1
|
||||
ROM_COPY( "graphics", 0x08000, 0x08000, 0x4000 ) // 1
|
||||
ROM_COPY( "graphics", 0x04000, 0x10000, 0x4000 ) // 1
|
||||
ROM_COPY( "graphics", 0x1c000, 0x04000, 0x4000 ) // 2
|
||||
ROM_COPY( "graphics", 0x0c000, 0x0c000, 0x4000 ) // 2
|
||||
ROM_COPY( "graphics", 0x14000, 0x14000, 0x4000 ) // 2
|
||||
|
||||
ROM_REGION( 0x8000, "gfx2", 0 )
|
||||
ROM_COPY( "graphics", 0x02000, 0x00000, 0x2000 )
|
||||
ROM_COPY( "graphics", 0x12000, 0x02000, 0x2000 )
|
||||
ROM_COPY( "graphics", 0x00000, 0x04000, 0x2000 )
|
||||
ROM_COPY( "graphics", 0x10000, 0x06000, 0x2000 )
|
||||
|
||||
ROM_REGION( 0x200, "proms", 0 ) // palette (taken from nfb96se, not verified)
|
||||
ROM_LOAD( "chu19.bin", 0x0000, 0x0100, BAD_DUMP CRC(fafc43ad) SHA1(e94592b83f19e5f9b6205473c1e06b36405ebfc2) )
|
||||
ROM_LOAD( "chu20.bin", 0x0100, 0x0100, BAD_DUMP CRC(05224f73) SHA1(051c3ee9c63f5436e4f6c355fc308f37910a88ef) )
|
||||
|
||||
ROM_REGION( 0x800, "nvram", 0 )
|
||||
ROM_LOAD( "fb2010a.nv", 0x000, 0x800, CRC(f5a7ab38) SHA1(11f984c79fecc5ff5a61e4dc86cb442627e7d7a1) ) // default NVRAM
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -23576,6 +23608,7 @@ GAMEL( 1996, nc96l, nc96, amcoe2, nfb96, cmaster_state, init_nfb
|
||||
GAMEL( 2000, nc96txt, nc96, amcoe2, nfb96tx, cmaster_state, init_nfb96_c2, ROT0, "Amcoe", "New Cherry '96 Special Edition (v1.32 Texas XT, C2 PCB)", 0, layout_nfb96tx ) // ver. tc1.32axt C2 Sub-PCB
|
||||
|
||||
GAME( 2009, fb2010, 0, amcoe2, fb2010, cmaster_state, init_fb2010, ROT0, "Amcoe", "Fruit Bonus 2010 (v. 2.0.1.3)", 0 )
|
||||
GAME( 2009, fb2010a, fb2010, amcoe2, fb2010, cmaster_state, init_fb2010, ROT0, "Amcoe", "Fruit Bonus 2010 (v. 2.0.1.0)", 0 )
|
||||
|
||||
GAMEL( 1996, roypok96, 0, amcoe2, roypok96, cmaster_state, init_rp35, ROT0, "Amcoe", "Royal Poker '96 (set 1, v97-3.5)", 0, layout_roypok96 )
|
||||
GAMEL( 1996, roypok96a, roypok96, amcoe2, roypok96a, cmaster_state, init_rp36, ROT0, "Amcoe", "Royal Poker '96 (set 2, v98-3.6)", 0, layout_roypok96 )
|
||||
|
@ -20270,6 +20270,7 @@ eldoraddob // (c) 1991 Dyna Electronics
|
||||
eldoraddoc // (c) 1991 Dyna Electronics
|
||||
f16s8l //
|
||||
fb2010 // (c) 2009 Amcoe
|
||||
fb2010a // (c) 2009 Amcoe
|
||||
feverch // (c) 1986 Wing Co. Ltd
|
||||
fevercha // (c) 1986 Wing Co. Ltd
|
||||
feverchtw // (c) 1986 Wing Co. Ltd
|
||||
@ -38964,6 +38965,7 @@ samuraia // (c) 1993 (World)
|
||||
sngkace // (c) 1993 (Japan)
|
||||
sngkacea // (c) 1993 (Japan)
|
||||
tengai // (c) 1996 (World)
|
||||
tengaibl // bootleg
|
||||
tengaij // (c) 1996 (Japan)
|
||||
|
||||
@source:psikyo/psikyo4.cpp
|
||||
|
@ -3557,7 +3557,7 @@ ROM_START( truckk )
|
||||
ROM_LOAD( "tkk1prg0.ic7", 0x0000000, 0x020000, CRC(11fd9c31) SHA1(068b8364ec0eb1e88f9f85f40b8b322876f6f3e2) )
|
||||
|
||||
DISK_REGION( "cdxa_pcb:ata:0:cdrom" )
|
||||
DISK_IMAGE_READONLY( "tkk2-a", 0, SHA1(6b7c3686b22a508c44f67295b188504b757dd482) )
|
||||
DISK_IMAGE_READONLY( "tkk2-a", 0, SHA1(6b7c3686b22a508c44f67295b188504b757dd482) ) // TKK1-A CD is confirmed to have the same content as the TKK2-A CD
|
||||
ROM_END
|
||||
|
||||
ROM_START( ujlnow )
|
||||
|
@ -270,20 +270,22 @@ void psikyo_state::sound_bankswitch_w(u8 data)
|
||||
m_audiobank->set_entry((data >> Shift) & 0x03);
|
||||
}
|
||||
|
||||
template <uint8_t Which>
|
||||
void psikyo_state::s1945bl_okibank_w(u8 data)
|
||||
{
|
||||
// not at all sure about this, it seems to write 0 too often
|
||||
if (data < 5)
|
||||
m_okibank->set_entry(data);
|
||||
m_okibank[Which]->set_entry(data);
|
||||
}
|
||||
|
||||
template <uint8_t Which>
|
||||
void psikyo_state::s1945bl_oki_map(address_map &map)
|
||||
{
|
||||
map(0x00000, 0x2ffff).rom();
|
||||
map(0x30000, 0x3ffff).bankr("okibank");
|
||||
map(0x30000, 0x3ffff).bankr(m_okibank[Which]);
|
||||
}
|
||||
|
||||
void psikyo_state::psikyo_bootleg_map(address_map &map)
|
||||
void psikyo_state::s1945bl_bootleg_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x0fffff).rom(); // ROM (not all used)
|
||||
map(0x200000, 0x200fff).ram().share("boot_spritebuf"); // RAM (it copies the spritelist here, the HW probably doesn't have automatic buffering like the originals?
|
||||
@ -295,13 +297,37 @@ void psikyo_state::psikyo_bootleg_map(address_map &map)
|
||||
map(0x804000, 0x807fff).ram().share("vregs"); // RAM + Vregs
|
||||
map(0xc00000, 0xc0000b).r(FUNC(psikyo_state::gunbird_input_r)); // input ports
|
||||
|
||||
map(0xc00018, 0xc00018).rw(m_oki, FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
||||
map(0xc00019, 0xc00019).w(FUNC(psikyo_state::s1945bl_okibank_w));
|
||||
map(0xc00018, 0xc00018).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
||||
map(0xc00019, 0xc00019).w(FUNC(psikyo_state::s1945bl_okibank_w<0>));
|
||||
|
||||
map(0xfe0000, 0xffffff).ram(); // RAM
|
||||
|
||||
}
|
||||
|
||||
// TODO: different video regs / sprite RAM
|
||||
void psikyo_state::tengaibl_bootleg_map(address_map &map)
|
||||
{
|
||||
map(0x000000, 0x0fffff).rom();
|
||||
map(0x200000, 0x200fff).ram().share("boot_spritebuf");
|
||||
|
||||
map(0x400000, 0x401fff).ram().share("spriteram");
|
||||
map(0x604000, 0x605fff).ram().w(m_palette, FUNC(palette_device::write32)).share("palette");
|
||||
map(0x800000, 0x801fff).rw(FUNC(psikyo_state::vram_r<0>), FUNC(psikyo_state::vram_w<0>));
|
||||
map(0x802000, 0x803fff).rw(FUNC(psikyo_state::vram_r<1>), FUNC(psikyo_state::vram_w<1>));
|
||||
map(0x804000, 0x807fff).ram().share("vregs");
|
||||
map(0xc00000, 0xc0000b).r(FUNC(psikyo_state::gunbird_input_r));
|
||||
|
||||
map(0xc00014, 0xc00014).rw("oki1", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
||||
map(0xc00015, 0xc00015).w(FUNC(psikyo_state::s1945bl_okibank_w<0>));
|
||||
|
||||
map(0xc00018, 0xc00018).rw("oki2", FUNC(okim6295_device::read), FUNC(okim6295_device::write));
|
||||
map(0xc00019, 0xc00019).w(FUNC(psikyo_state::s1945bl_okibank_w<1>));
|
||||
|
||||
map(0xfe0000, 0xffffff).ram();
|
||||
|
||||
}
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
Sengoku Ace / Samurai Aces
|
||||
***************************************************************************/
|
||||
@ -982,6 +1008,14 @@ static INPUT_PORTS_START( tengaij )
|
||||
PORT_CONFSETTING( 0x0000000e, DEF_STR( World ) )
|
||||
INPUT_PORTS_END
|
||||
|
||||
static INPUT_PORTS_START( tengaibl )
|
||||
PORT_INCLUDE( tengai )
|
||||
|
||||
PORT_MODIFY("P1_P2")
|
||||
PORT_BIT( 0x00000004, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
PORT_BIT( 0x00000080, IP_ACTIVE_HIGH, IPT_UNKNOWN )
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
@ -1113,7 +1147,7 @@ void psikyo_state::s1945bl(machine_config &config) /* Bootleg hardware based on
|
||||
{
|
||||
/* basic machine hardware */
|
||||
M68EC020(config, m_maincpu, 16000000);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &psikyo_state::psikyo_bootleg_map);
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &psikyo_state::s1945bl_bootleg_map);
|
||||
m_maincpu->set_vblank_int("screen", FUNC(psikyo_state::irq1_line_hold));
|
||||
|
||||
/* video hardware */
|
||||
@ -1123,8 +1157,8 @@ void psikyo_state::s1945bl(machine_config &config) /* Bootleg hardware based on
|
||||
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(2500));
|
||||
m_screen->set_size(320, 256);
|
||||
m_screen->set_visarea(0, 320-1, 0, 256-32-1);
|
||||
m_screen->set_screen_update(FUNC(psikyo_state::screen_update_bootleg));
|
||||
m_screen->screen_vblank().set(FUNC(psikyo_state::screen_vblank_bootleg));
|
||||
m_screen->set_screen_update(FUNC(psikyo_state::screen_update));
|
||||
m_screen->screen_vblank().set(FUNC(psikyo_state::screen_vblank));
|
||||
|
||||
GFXDECODE(config, m_gfxdecode, m_palette, gfx_psikyo);
|
||||
PALETTE(config, m_palette).set_format(palette_device::xRGB_555, 0x1000);
|
||||
@ -1135,9 +1169,25 @@ void psikyo_state::s1945bl(machine_config &config) /* Bootleg hardware based on
|
||||
/* sound hardware */
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
OKIM6295(config, m_oki, XTAL(16'000'000)/16, okim6295_device::PIN7_LOW); // ?? clock
|
||||
m_oki->add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
m_oki->set_addrmap(0, &psikyo_state::s1945bl_oki_map);
|
||||
okim6295_device &oki1(OKIM6295(config, "oki1", XTAL(16'000'000)/16, okim6295_device::PIN7_LOW)); // ?? clock
|
||||
oki1.add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
oki1.set_addrmap(0, &psikyo_state::s1945bl_oki_map<0>);
|
||||
}
|
||||
|
||||
void psikyo_state::tengaibl(machine_config &config)
|
||||
{
|
||||
s1945bl(config);
|
||||
|
||||
m_maincpu->set_clock(28.636363_MHz_XTAL / 2 ); // divider not verified
|
||||
m_maincpu->set_addrmap(AS_PROGRAM, &psikyo_state::tengaibl_bootleg_map);
|
||||
|
||||
okim6295_device &oki1(OKIM6295(config.replace(), "oki1", 1'000'000, okim6295_device::PIN7_LOW)); // clock and pin 7 not verified
|
||||
oki1.add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
oki1.set_addrmap(0, &psikyo_state::s1945bl_oki_map<0>);
|
||||
|
||||
okim6295_device &oki2(OKIM6295(config, "oki2", 1'000'000, okim6295_device::PIN7_LOW)); // clock and pin 7 not verified
|
||||
oki2.add_route(ALL_OUTPUTS, "mono", 1.0);
|
||||
oki2.set_addrmap(0, &psikyo_state::s1945bl_oki_map<1>);
|
||||
}
|
||||
|
||||
|
||||
@ -1530,7 +1580,7 @@ ROM_START( s1945bl ) /* closely based on s1945nj set, unsurprising because it's
|
||||
ROM_REGION( 0x200000, "gfx2", 0 ) /* Layer 0 + 1 */
|
||||
ROM_LOAD16_WORD_SWAP( "rv27c1600.m1", 0x000000, 0x200000, CRC(aaf83e23) SHA1(1c75d09ff42c0c215f8c66c699ca75688c95a05e) )
|
||||
|
||||
ROM_REGION( 0x100000, "oki", 0 ) /* OKI Samples */
|
||||
ROM_REGION( 0x100000, "oki1", 0 ) /* OKI Samples */
|
||||
ROM_LOAD( "rv27c040.m6", 0x000000, 0x080000, CRC(c22e5b65) SHA1(d807bd7c136d6b51f54258b44ebf3eecbd5b35fa) )
|
||||
|
||||
ROM_REGION16_LE( 0x040000, "spritelut", 0 ) /* */
|
||||
@ -1820,6 +1870,36 @@ ROM_START( tengaij )
|
||||
ROM_LOAD( "u1.bin", 0x000000, 0x040000, CRC(681d7d55) SHA1(b0b28471440d747adbc4d22d1918f89f6ede1615) )
|
||||
ROM_END
|
||||
|
||||
ROM_START( tengaibl ) // SK000701 PCB. Has 2 AD-65 (M6295 comp.) instead of YM. XTALs are 28'636'360 and 19'660'800
|
||||
ROM_REGION( 0x100000, "maincpu", 0 )
|
||||
ROM_LOAD32_WORD_SWAP( "4_sk000701-upd27c4096.bin", 0x00000, 0x80000, CRC(1519c1c4) SHA1(7e8ff112c8d943d55797e32fe02bbce4ebd5c7b5) )
|
||||
ROM_LOAD32_WORD_SWAP( "5_sk000701-upd27c4096.bin", 0x00002, 0x80000, CRC(4f638dca) SHA1(cc15785a2acf6e45ca3ce13367d5d94f9a066a03) )
|
||||
|
||||
// GFX ROMs are 5x MX29F1610MC-12. They are soldered and weren't dumped. Using the ones from the original for now.
|
||||
ROM_REGION( 0x600000, "gfx1", 0 )
|
||||
ROM_LOAD( "u20.bin", 0x000000, 0x200000, BAD_DUMP CRC(ed42ef73) SHA1(74693fcc83a2654ddb18fd513d528033863d6116) )
|
||||
ROM_LOAD( "u22.bin", 0x200000, 0x200000, BAD_DUMP CRC(8d21caee) SHA1(2a68af8b2be2158dcb152c434e91a75871478d41) )
|
||||
ROM_LOAD( "u21.bin", 0x400000, 0x200000, BAD_DUMP CRC(efe34eed) SHA1(7891495b443a5acc7b2f17fe694584f6cb0afacc) )
|
||||
|
||||
ROM_REGION( 0x400000, "gfx2", 0 )
|
||||
ROM_LOAD( "u34.bin", 0x000000, 0x400000, BAD_DUMP CRC(2a2e2eeb) SHA1(f1d99353c0affc5c908985e6f2a5724e5223cccc) )
|
||||
|
||||
ROM_REGION( 0x80000, "oki1", 0 )
|
||||
ROM_LOAD( "1_sk000701-mx27c4000.bin", 0x00000, 0x80000, CRC(769f4c92) SHA1(a6ef5b180f691655a64f6121b1d00344c36a0ced) )
|
||||
|
||||
ROM_REGION( 0x80000, "oki2", 0 )
|
||||
ROM_LOAD( "2_sk000701-mx27c4000.bin", 0x00000, 0x80000, CRC(f06f0a00) SHA1(2f8e216ef710f501d7a0a962ce82cca87f90611d) )
|
||||
|
||||
ROM_REGION16_LE( 0x40000, "spritelut", 0 )
|
||||
ROM_LOAD( "3_sk000701-tms27c240.bin", 0x00000, 0x40000, CRC(cf44d2ba) SHA1(6e48b540c70050a7385d5a3fb412fd25aad923bb) ) // 1ST AND 2ND HALF IDENTICAL, otherwise identical to the original
|
||||
ROM_IGNORE( 0x40000 )
|
||||
|
||||
ROM_REGION( 0x600, "plds", ROMREGION_ERASE00 )
|
||||
ROM_LOAD( "gal20v8b_1", 0x000, 0x157, NO_DUMP )
|
||||
ROM_LOAD( "gal20v8b_2", 0x200, 0x157, NO_DUMP )
|
||||
ROM_LOAD( "gal16v8d", 0x400, 0x117, NO_DUMP )
|
||||
ROM_END
|
||||
|
||||
/***************************************************************************
|
||||
|
||||
|
||||
@ -1946,8 +2026,19 @@ void psikyo_state::init_s1945bl()
|
||||
{
|
||||
m_ka302c_banking = true;
|
||||
|
||||
m_okibank->configure_entries(0, 5, memregion("oki")->base() + 0x30000, 0x10000);
|
||||
m_okibank->set_entry(0);
|
||||
m_okibank[0]->configure_entries(0, 5, memregion("oki1")->base() + 0x30000, 0x10000);
|
||||
m_okibank[0]->set_entry(0);
|
||||
}
|
||||
|
||||
void psikyo_state::init_tengaibl()
|
||||
{
|
||||
m_ka302c_banking = true;
|
||||
|
||||
m_okibank[0]->configure_entries(0, 5, memregion("oki1")->base() + 0x30000, 0x10000);
|
||||
m_okibank[0]->set_entry(0);
|
||||
|
||||
m_okibank[1]->configure_entries(0, 5, memregion("oki2")->base() + 0x30000, 0x10000);
|
||||
m_okibank[1]->set_entry(0);
|
||||
}
|
||||
|
||||
|
||||
@ -1980,3 +2071,4 @@ GAME( 1995, s1945bl, s1945, s1945bl, s1945bl, psikyo_state, init_s1945bl
|
||||
|
||||
GAME( 1996, tengai, 0, s1945, tengai, psikyo_state, init_tengai, ROT0, "Psikyo", "Tengai (World)", MACHINE_SUPPORTS_SAVE )
|
||||
GAME( 1996, tengaij, tengai, s1945, tengaij, psikyo_state, init_tengai, ROT0, "Psikyo", "Sengoku Blade: Sengoku Ace Episode II (Japan) / Tengai (World)", MACHINE_SUPPORTS_SAVE ) // Region dip - 0x0f=Japan, anything else=World
|
||||
GAME( 1996, tengaibl, tengai, tengaibl, tengaibl, psikyo_state, init_tengaibl, ROT0, "Psikyo", "Tengai (bootleg)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_SUPPORTS_SAVE )
|
||||
|
@ -29,13 +29,12 @@ public:
|
||||
, m_bootleg_spritebuffer(*this, "boot_spritebuf")
|
||||
, m_spritelut(*this, "spritelut")
|
||||
, m_audiobank(*this, "audiobank")
|
||||
, m_okibank(*this, "okibank")
|
||||
, m_okibank(*this, "okibank%u", 0U)
|
||||
, m_in_dsw(*this, "DSW")
|
||||
, m_in_p1_p2(*this, "P1_P2")
|
||||
, m_in_coin(*this, "COIN")
|
||||
, m_maincpu(*this, "maincpu")
|
||||
, m_audiocpu(*this, "audiocpu")
|
||||
, m_oki(*this, "oki")
|
||||
, m_soundlatch(*this, "soundlatch")
|
||||
, m_gfxdecode(*this, "gfxdecode")
|
||||
, m_screen(*this, "screen")
|
||||
@ -52,6 +51,7 @@ public:
|
||||
void gunbird(machine_config &config);
|
||||
void s1945(machine_config &config);
|
||||
void s1945bl(machine_config &config);
|
||||
void tengaibl(machine_config &config);
|
||||
|
||||
void init_s1945a();
|
||||
void init_s1945j();
|
||||
@ -59,6 +59,7 @@ public:
|
||||
void init_s1945();
|
||||
void init_s1945bl();
|
||||
void init_tengai();
|
||||
void init_tengaibl();
|
||||
void init_gunbird();
|
||||
|
||||
int z80_nmi_r();
|
||||
@ -72,7 +73,7 @@ private:
|
||||
|
||||
required_region_ptr<u16> m_spritelut;
|
||||
optional_memory_bank m_audiobank;
|
||||
optional_memory_bank m_okibank;
|
||||
optional_memory_bank_array<2> m_okibank;
|
||||
optional_ioport m_in_dsw;
|
||||
optional_ioport m_in_p1_p2;
|
||||
optional_ioport m_in_coin;
|
||||
@ -122,7 +123,7 @@ private:
|
||||
u32 s1945_mcu_data_r();
|
||||
uint8_t s1945_mcu_control_r();
|
||||
u32 s1945_input_r(offs_t offset);
|
||||
void s1945bl_okibank_w(u8 data);
|
||||
template <uint8_t Which> void s1945bl_okibank_w(u8 data);
|
||||
template<int Shift> void sound_bankswitch_w(u8 data);
|
||||
template<int Layer> u16 vram_r(offs_t offset);
|
||||
template<int Layer> void vram_w(offs_t offset, u16 data, u16 mem_mask);
|
||||
@ -146,7 +147,6 @@ private:
|
||||
/* devices */
|
||||
required_device<cpu_device> m_maincpu;
|
||||
optional_device<cpu_device> m_audiocpu;
|
||||
optional_device<okim6295_device> m_oki;
|
||||
optional_device<generic_latch_8_device> m_soundlatch;
|
||||
required_device<gfxdecode_device> m_gfxdecode;
|
||||
required_device<screen_device> m_screen;
|
||||
@ -156,15 +156,16 @@ private:
|
||||
void gunbird_map(address_map &map) ATTR_COLD;
|
||||
void gunbird_sound_io_map(address_map &map) ATTR_COLD;
|
||||
void gunbird_sound_map(address_map &map) ATTR_COLD;
|
||||
void psikyo_bootleg_map(address_map &map) ATTR_COLD;
|
||||
void psikyo_map(address_map &map) ATTR_COLD;
|
||||
void s1945_map(address_map &map) ATTR_COLD;
|
||||
void s1945_sound_io_map(address_map &map) ATTR_COLD;
|
||||
void s1945bl_oki_map(address_map &map) ATTR_COLD;
|
||||
void s1945bl_bootleg_map(address_map &map) ATTR_COLD;
|
||||
template <uint8_t Which> void s1945bl_oki_map(address_map &map) ATTR_COLD;
|
||||
void s1945n_map(address_map &map) ATTR_COLD;
|
||||
void sngkace_map(address_map &map) ATTR_COLD;
|
||||
void sngkace_sound_io_map(address_map &map) ATTR_COLD;
|
||||
void sngkace_sound_map(address_map &map) ATTR_COLD;
|
||||
void tengaibl_bootleg_map(address_map &map) ATTR_COLD;
|
||||
};
|
||||
|
||||
#endif // MAME_PSIKYO_PSIKYO_H
|
||||
|
@ -12,7 +12,7 @@ TODO:
|
||||
- Improve IOX device for daifugo (many hardwired reads);
|
||||
- It's possible that there is only one coin chute and not two, needs a real board to know
|
||||
more about it.
|
||||
- hanaren2, harashi: Everythin. They seem to run on similar hardware, similar address maps, etc.
|
||||
- hanaren2, harashi: Everything. They seem to run on similar hardware, similar address maps, etc.
|
||||
|
||||
How to play:
|
||||
- A to D select a card.
|
||||
|
Loading…
Reference in New Issue
Block a user