summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-08-31 06:20:30 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2021-08-31 06:20:30 +0200
commitb625e52f5392f6647d0825b0018b0e3e27463c7c (patch)
treef260cd52fb6ad2781a9e5784596c330944ed7b0a
parent02fd7c4f4bd23ceb4a640b6fec7f0b1e24ed2fd7 (diff)
- f-32.cpp: hooked up M6295 to royalpk2
- segas16b.cpp: added proper ROM board IC locations for Riot City [Brian Troha] - vicdual.cpp: removed MWC flag from alphahob, since the color PROM is actually dumped for this set and the colors are fine
-rw-r--r--src/mame/drivers/f-32.cpp26
-rw-r--r--src/mame/drivers/segas16b.cpp48
-rw-r--r--src/mame/drivers/vicdual.cpp2
3 files changed, 49 insertions, 27 deletions
diff --git a/src/mame/drivers/f-32.cpp b/src/mame/drivers/f-32.cpp
index e3849a5254d..f65bb541819 100644
--- a/src/mame/drivers/f-32.cpp
+++ b/src/mame/drivers/f-32.cpp
@@ -108,7 +108,8 @@ public:
fe132_state(mconfig, type, tag),
m_nvram(*this, "nvram"),
m_hopper(*this, "hopper"),
- m_lamps(*this, "lamp%u", 0U)
+ m_lamps(*this, "lamps%u", 0U),
+ m_okibank(*this, "okibank")
{ }
void royalpk2(machine_config &config);
@@ -121,6 +122,7 @@ protected:
void royalpk2_io(address_map &map);
void royalpk2_map(address_map &map);
+ void oki_map(address_map &map);
void protection_seed_w(offs_t offset, uint32_t data);
uint32_t protection_response_r();
@@ -130,6 +132,7 @@ protected:
required_device<nvram_device> m_nvram;
required_device<hopper_device> m_hopper;
output_finder<31> m_lamps;
+ required_memory_bank m_okibank;
uint16_t m_protection_index;
uint8_t m_protection_response_byte;
@@ -342,6 +345,10 @@ int royalpk2_state::hopper_r()
void royalpk2_state::royalpk2_io(address_map &map)
{
+ // map(0x4000, 0x41ff).readonly().share("nvram"); // seems to expect to read NVRAM from here
+
+ map(0x4603, 0x4603).r("oki", FUNC(okim6295_device::read));
+
map(0x4800, 0x4803).portr("P1");
map(0x4900, 0x4903).portr("SYSTEM_P2");
@@ -351,10 +358,16 @@ void royalpk2_state::royalpk2_io(address_map &map)
map(0x6000, 0x61ff).ram().share("nvram");
+ map(0x6603, 0x6603).w("oki", FUNC(okim6295_device::write));
+
map(0x6800, 0x6803).portw("EEPROMCLK");
map(0x6900, 0x6903).portw("EEPROMCS");
map(0x6a00, 0x6a03).portw("EEPROMOUT");
+ // map(0x6b00, 0x6b03).nopw(); // bits 8, 9, 10 and 13, 14 used
+
+ map(0x6c03, 0x6c03).lw8(NAME([this] (uint8_t data) { m_okibank->set_entry(data & 0x03); })); // TODO: double check this
+
map(0x6d00, 0x6d03).w(FUNC(royalpk2_state::protection_seed_w));
map(0x7000, 0x7003).w(FUNC(royalpk2_state::outputs_w<0>));
@@ -364,6 +377,12 @@ void royalpk2_state::royalpk2_io(address_map &map)
map(0x7400, 0x7403).w(FUNC(royalpk2_state::outputs_w<4>));
}
+void royalpk2_state::oki_map(address_map &map)
+{
+ map(0x00000, 0x1ffff).rom();
+ map(0x20000, 0x3ffff).bankr(m_okibank);
+}
+
void royalpk2_state::machine_start()
{
save_item(NAME(m_protection_index));
@@ -374,6 +393,8 @@ void royalpk2_state::machine_start()
for (int i = 0; i < 31; i++)
m_lamps[i] = 0;
+
+ m_okibank->configure_entries(0, 4, memregion("oki")->base(), 0x20000);
}
void royalpk2_state::machine_reset()
@@ -478,6 +499,7 @@ void royalpk2_state::royalpk2(machine_config &config)
// ymsnd.add_route(1, "rspeaker", 1.0);
okim6295_device &oki(OKIM6295(config, "oki", XTAL(14'318'181)/8, okim6295_device::PIN7_HIGH)); /* 1.7897725 MHz */
+ oki.set_addrmap(0, &royalpk2_state::oki_map);
oki.add_route(ALL_OUTPUTS, "lspeaker", 1.0);
oki.add_route(ALL_OUTPUTS, "rspeaker", 1.0);
@@ -537,7 +559,7 @@ S1 is the setup button
VRAML & VRAMU are KM6161002CJ-12
DRAML & DRAMU are GM71C18163CJ6
-ROM1 & SND are stardard 27C040 and/or 27C020 eproms
+ROM1 & SND are standard 27C040 and/or 27C020 eproms
L00-L03 & U00-U03 are 29F1610ML Flash roms
diff --git a/src/mame/drivers/segas16b.cpp b/src/mame/drivers/segas16b.cpp
index 283d20577a3..b74fcfcd4b5 100644
--- a/src/mame/drivers/segas16b.cpp
+++ b/src/mame/drivers/segas16b.cpp
@@ -7979,36 +7979,36 @@ ROM_END
//
ROM_START( riotcity )
ROM_REGION( 0x80000, "maincpu", 0 ) // 68000 code
- ROM_LOAD16_BYTE( "epr-14612.bin", 0x000000, 0x20000, CRC(a1b331ec) SHA1(49136ffed35ecc9e5e9a6ea7acbe534e6ccc9dd8) )
- ROM_LOAD16_BYTE( "epr-14610.bin", 0x000001, 0x20000, CRC(cd4f2c50) SHA1(c7a7e95901c664a72195c202b50a159db8d5981d) )
- ROM_LOAD16_BYTE( "epr-14613.bin", 0x040000, 0x20000, CRC(0659df4c) SHA1(a24005ce354113732306c318de373c818400a9c8) )
- ROM_LOAD16_BYTE( "epr-14611.bin", 0x040001, 0x20000, CRC(d9e6f80b) SHA1(5ac56b3685bb121a4f07be3d81209807436e76ec) )
+ ROM_LOAD16_BYTE( "epr-14612.a7", 0x000000, 0x20000, CRC(a1b331ec) SHA1(49136ffed35ecc9e5e9a6ea7acbe534e6ccc9dd8) )
+ ROM_LOAD16_BYTE( "epr-14610.a5", 0x000001, 0x20000, CRC(cd4f2c50) SHA1(c7a7e95901c664a72195c202b50a159db8d5981d) )
+ ROM_LOAD16_BYTE( "epr-14613.a8", 0x040000, 0x20000, CRC(0659df4c) SHA1(a24005ce354113732306c318de373c818400a9c8) )
+ ROM_LOAD16_BYTE( "epr-14611.a6", 0x040001, 0x20000, CRC(d9e6f80b) SHA1(5ac56b3685bb121a4f07be3d81209807436e76ec) )
ROM_REGION( 0xc0000, "gfx1", 0 ) // tiles
- ROM_LOAD( "epr-14616.bin", 0x00000, 0x20000, CRC(46d30368) SHA1(a791ef0e881345b6be0b28f32af17127edb5b590) ) // plane 1
- ROM_LOAD( "epr-14625.bin", 0x20000, 0x20000, CRC(abfb80fe) SHA1(5f0d61d55f27e8f776b573e3193164c4d70ec12b) )
- ROM_LOAD( "epr-14617.bin", 0x40000, 0x20000, CRC(884e40f9) SHA1(f7eeae57544e7d95139588137605986732937d38) ) // plane 2
- ROM_LOAD( "epr-14626.bin", 0x60000, 0x20000, CRC(4ef55846) SHA1(2f23474e7d1d8880dc251ada55c5fca2fc19256a) )
- ROM_LOAD( "epr-14618.bin", 0x80000, 0x20000, CRC(00eb260e) SHA1(f293180fb9a053c98022ef086bf4002563752f61) ) // plane 3
- ROM_LOAD( "epr-14627.bin", 0xa0000, 0x20000, CRC(961e5f82) SHA1(dc88b511dff6cdebf96fe8bf388bf76098296b0f) )
+ ROM_LOAD( "epr-14616.a14", 0x00000, 0x20000, CRC(46d30368) SHA1(a791ef0e881345b6be0b28f32af17127edb5b590) ) // plane 1
+ ROM_LOAD( "epr-14625.b14", 0x20000, 0x20000, CRC(abfb80fe) SHA1(5f0d61d55f27e8f776b573e3193164c4d70ec12b) )
+ ROM_LOAD( "epr-14617.a15", 0x40000, 0x20000, CRC(884e40f9) SHA1(f7eeae57544e7d95139588137605986732937d38) ) // plane 2
+ ROM_LOAD( "epr-14626.b15", 0x60000, 0x20000, CRC(4ef55846) SHA1(2f23474e7d1d8880dc251ada55c5fca2fc19256a) )
+ ROM_LOAD( "epr-14618.a16", 0x80000, 0x20000, CRC(00eb260e) SHA1(f293180fb9a053c98022ef086bf4002563752f61) ) // plane 3
+ ROM_LOAD( "epr-14627.b16", 0xa0000, 0x20000, CRC(961e5f82) SHA1(dc88b511dff6cdebf96fe8bf388bf76098296b0f) )
ROM_REGION16_BE( 0x1c0000, "sprites", 0 ) // sprites
- ROM_LOAD16_BYTE( "epr-14619.bin", 0x000001, 0x020000, CRC(6f2b5ef7) SHA1(a0186fcc5b12c31b65b84355f88bcb10b1434135) )
- ROM_CONTINUE( 0x100001, 0x020000 )
- ROM_LOAD16_BYTE( "epr-14622.bin", 0x000000, 0x020000, CRC(7ca7e40d) SHA1(57d26cc1b530cb867b2a4779bb5108ac457b2154) )
- ROM_CONTINUE( 0x100000, 0x020000 )
- ROM_LOAD16_BYTE( "epr-14620.bin", 0x040001, 0x020000, CRC(66183333) SHA1(44bb9d57cd0308c0d7b6a10ba9bd95763ceea775) )
- ROM_CONTINUE( 0x140001, 0x020000 )
- ROM_LOAD16_BYTE( "epr-14623.bin", 0x040000, 0x020000, CRC(98630049) SHA1(216ae0b4a59f306b51bd50dfcbf831c3186a4d2a) )
- ROM_CONTINUE( 0x140000, 0x020000 )
- ROM_LOAD16_BYTE( "epr-14621.bin", 0x080001, 0x020000, CRC(c0f2820e) SHA1(ae433f6c5065ed495f5f57f50d6abe5ff98b041e) )
- ROM_CONTINUE( 0x180001, 0x020000 )
- ROM_LOAD16_BYTE( "epr-14624.bin", 0x080000, 0x020000, CRC(d1a68448) SHA1(7591f0476e899a11042d9b7e93f99b64de48b0ef) )
- ROM_CONTINUE( 0x180000, 0x020000 )
+ ROM_LOAD16_BYTE( "epr-14619.b1", 0x000001, 0x020000, CRC(6f2b5ef7) SHA1(a0186fcc5b12c31b65b84355f88bcb10b1434135) )
+ ROM_CONTINUE( 0x100001, 0x020000 )
+ ROM_LOAD16_BYTE( "epr-14622.b5", 0x000000, 0x020000, CRC(7ca7e40d) SHA1(57d26cc1b530cb867b2a4779bb5108ac457b2154) )
+ ROM_CONTINUE( 0x100000, 0x020000 )
+ ROM_LOAD16_BYTE( "epr-14620.b2", 0x040001, 0x020000, CRC(66183333) SHA1(44bb9d57cd0308c0d7b6a10ba9bd95763ceea775) )
+ ROM_CONTINUE( 0x140001, 0x020000 )
+ ROM_LOAD16_BYTE( "epr-14623.b6", 0x040000, 0x020000, CRC(98630049) SHA1(216ae0b4a59f306b51bd50dfcbf831c3186a4d2a) )
+ ROM_CONTINUE( 0x140000, 0x020000 )
+ ROM_LOAD16_BYTE( "epr-14621.b3", 0x080001, 0x020000, CRC(c0f2820e) SHA1(ae433f6c5065ed495f5f57f50d6abe5ff98b041e) )
+ ROM_CONTINUE( 0x180001, 0x020000 )
+ ROM_LOAD16_BYTE( "epr-14624.b7", 0x080000, 0x020000, CRC(d1a68448) SHA1(7591f0476e899a11042d9b7e93f99b64de48b0ef) )
+ ROM_CONTINUE( 0x180000, 0x020000 )
ROM_REGION( 0x50000, "soundcpu", 0 ) // sound CPU
- ROM_LOAD( "epr-14614.bin", 0x00000, 0x10000, CRC(c65cc69a) SHA1(28a75dd2085b8e1447fe4e6af210a54a6666fcb1) )
- ROM_LOAD( "epr-14615.bin", 0x10000, 0x20000, CRC(46653db1) SHA1(7a43d8742ee451d93bb5f1b0f4f261b274c3f0ef) )
+ ROM_LOAD( "epr-14614.a10", 0x00000, 0x10000, CRC(c65cc69a) SHA1(28a75dd2085b8e1447fe4e6af210a54a6666fcb1) )
+ ROM_LOAD( "epr-14615.all", 0x10000, 0x20000, CRC(46653db1) SHA1(7a43d8742ee451d93bb5f1b0f4f261b274c3f0ef) )
ROM_REGION( 0x0100, "plds", 0 )
ROM_LOAD( "315-5298.b9", 0x0000, 0x00eb, CRC(39b47212) SHA1(432b47aee5ecbf08a8a6dc2f8379c816feb86328) ) // PLS153
diff --git a/src/mame/drivers/vicdual.cpp b/src/mame/drivers/vicdual.cpp
index b68c3b172fe..c3a9bd468e6 100644
--- a/src/mame/drivers/vicdual.cpp
+++ b/src/mame/drivers/vicdual.cpp
@@ -4258,5 +4258,5 @@ GAME( 1980, digger, 0, digger, digger, vicdual_state, empty_i
GAME( 1981, pulsar, 0, pulsar, pulsar, vicdual_state, empty_init, ROT270, "Sega", "Pulsar", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1979, heiankyo, 0, heiankyo, heiankyo, vicdual_state, empty_init, ROT270, "Denki Onkyo", "Heiankyo Alien", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 19??, alphaho, 0, alphaho, alphaho, vicdual_state, empty_init, ROT270, "Data East Corporation", "Alpha Fighter / Head On", MACHINE_WRONG_COLORS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
-GAME( 19??, alphahob, alphaho, alphaho, alphaho, vicdual_state, empty_init, ROT270, "bootleg", "Missile / Circuit (bootleg of Alpha Fighter / Head On)", MACHINE_WRONG_COLORS | MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
+GAME( 19??, alphahob, alphaho, alphaho, alphaho, vicdual_state, empty_init, ROT270, "bootleg", "Missile / Circuit (bootleg of Alpha Fighter / Head On)", MACHINE_NO_SOUND | MACHINE_SUPPORTS_SAVE )
GAME( 1982, wantsega, 0, carhntds, wantsega, vicdual_state, empty_init, ROT270, "Sega", "Wanted (Sega)", MACHINE_NO_SOUND | MACHINE_IMPERFECT_CONTROLS | MACHINE_SUPPORTS_SAVE )