diff options
-rw-r--r-- | src/mame/drivers/f-32.cpp | 26 | ||||
-rw-r--r-- | src/mame/drivers/segas16b.cpp | 48 | ||||
-rw-r--r-- | src/mame/drivers/vicdual.cpp | 2 |
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 ) |