From df603892d28de11ed30899bd15b116e9975d302d Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Wed, 12 May 2021 20:25:52 +0200 Subject: [PATCH] atari_s1.cpp, atari_s2.cpp updates: * verified 20967-01 PROM dump [Gerald (COY)] * synced sets with PinMAME --- src/mame/drivers/atari_s1.cpp | 12 ++++++------ src/mame/drivers/atari_s2.cpp | 25 ++++++++++++++++--------- 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/src/mame/drivers/atari_s1.cpp b/src/mame/drivers/atari_s1.cpp index a639d87b618..2dfab65b858 100644 --- a/src/mame/drivers/atari_s1.cpp +++ b/src/mame/drivers/atari_s1.cpp @@ -69,6 +69,7 @@ class atari_s1_state : public genpin_class public: atari_s1_state(const machine_config &mconfig, device_type type, const char *tag) : genpin_class(mconfig, type, tag) + , m_p_prom(*this, "proms") , m_maincpu(*this, "maincpu") , m_p_ram(*this, "ram") , m_dac(*this, "dac") @@ -114,7 +115,7 @@ private: uint8_t m_bit6; uint8_t m_out_offs; uint8_t m_t_c; - uint8_t *m_p_prom; + required_region_ptr m_p_prom; required_device m_maincpu; required_shared_ptr m_p_ram; required_device m_dac; @@ -446,7 +447,6 @@ void atari_s1_state::audiores_w(uint8_t data) void atari_s1_state::machine_reset() { - m_p_prom = memregion("proms")->base(); m_vol = 0; m_dac->set_output_gain(0, 0); m_t_c = 0; @@ -497,7 +497,7 @@ ROM_START(atarians) ROM_LOAD("atarian.e0", 0x7800, 0x0800, CRC(45cb0427) SHA1(e286930ca36bdd0f79acefd142d2a5431fa8005b)) ROM_REGION(0x0200, "proms", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_LOAD("07028-01.bin", 0x0000, 0x0200, CRC(e8034b5b) SHA1(6959912c530efcc4a0c690800867fb0d1f33627f)) ROM_END /*------------------------------------------------------------------- @@ -509,7 +509,7 @@ ROM_START(time2000) ROM_LOAD("time.e0", 0x7800, 0x0800, CRC(1e79c133) SHA1(54ce5d59a00334fcec8b12c077d70e3629549af0)) ROM_REGION(0x0200, "proms", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_LOAD("07028-01.bin", 0x0000, 0x0200, CRC(e8034b5b) SHA1(6959912c530efcc4a0c690800867fb0d1f33627f)) ROM_END /*------------------------------------------------------------------- @@ -521,7 +521,7 @@ ROM_START(aavenger) ROM_LOAD("airborne.e0", 0x7800, 0x0800, CRC(44e67c54) SHA1(7f94189c12e322c41908d651cf6a3b6061426959)) ROM_REGION(0x0200, "proms", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_LOAD("20252-01.bin", 0x0000, 0x0200, CRC(3d44551d) SHA1(926100f8169ab20230ad2168f94e6ad65fb1a7dc)) ROM_END /*------------------------------------------------------------------- @@ -554,7 +554,7 @@ ROM_START(spcrider) ROM_LOAD("spacel.bin", 0x7800, 0x0800, CRC(66ffb04e) SHA1(42d8b7fb7206b30478f631d0e947c0908dcf5419)) ROM_REGION(0x0200, "proms", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_LOAD("20967-01.j3", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) // PinMAME note: nuatari lists 20967-01 (and claims that all the SR boards (5) he has feature that one), manual schematics and parts list 20252-01 though ROM_END } // Anonymous namespace diff --git a/src/mame/drivers/atari_s2.cpp b/src/mame/drivers/atari_s2.cpp index 381f360bd8b..9e87da6d3d8 100644 --- a/src/mame/drivers/atari_s2.cpp +++ b/src/mame/drivers/atari_s2.cpp @@ -33,11 +33,14 @@ ToDo: #include "atari_s2.lh" +namespace { + class atari_s2_state : public genpin_class { public: atari_s2_state(const machine_config &mconfig, device_type type, const char *tag) : genpin_class(mconfig, type, tag) + , m_p_prom(*this, "proms") , m_maincpu(*this, "maincpu") , m_dac(*this, "dac") , m_dac1(*this, "dac1") @@ -47,6 +50,10 @@ public: void atari_s2(machine_config &config); void atari_s3(machine_config &config); +protected: + virtual void machine_reset() override; + virtual void machine_start() override { m_digits.resolve(); } + private: void sound0_w(uint8_t data); void sound1_w(uint8_t data); @@ -68,9 +75,7 @@ private: uint8_t m_vol; uint8_t m_t_c; uint8_t m_segment[7]; - uint8_t *m_p_prom; - virtual void machine_reset() override; - virtual void machine_start() override { m_digits.resolve(); } + required_region_ptr m_p_prom; required_device m_maincpu; required_device m_dac; required_device m_dac1; @@ -469,7 +474,6 @@ TIMER_DEVICE_CALLBACK_MEMBER( atari_s2_state::irq ) void atari_s2_state::machine_reset() { - m_p_prom = memregion("proms")->base(); m_vol = 0; m_dac->set_output_gain(0,0); m_dac1->set_output_gain(0,0); @@ -517,7 +521,7 @@ ROM_START(supermap) ROM_LOAD("atari_j.rom", 0x3800, 0x0800, CRC(26521779) SHA1(2cf1c66441aee99b9d01859d495c12025b5ef094)) ROM_REGION(0x0200, "proms", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_LOAD("20967-01.j3", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) ROM_END /*------------------------------------------------------------------- @@ -530,7 +534,7 @@ ROM_START(hercules) ROM_LOAD("atari_j.rom", 0x3800, 0x0800, CRC(26521779) SHA1(2cf1c66441aee99b9d01859d495c12025b5ef094)) ROM_REGION(0x0200, "proms", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_LOAD("20967-01.j3", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) ROM_END /*------------------------------------------------------------------- @@ -543,7 +547,7 @@ ROM_START(roadrunr) ROM_LOAD("3800.716", 0x3800, 0x0800, CRC(77262408) SHA1(3045a732c39c96002f495f64ed752279f7d43ee7)) ROM_REGION(0x0200, "proms", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_LOAD("20967-01.j3", 0x0000, 0x0200, BAD_DUMP CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) // PinMAME note: unknown so far if using the 20967-01 is correct for Road Runner, but sounds good ROM_END /*------------------------------------------------------------------- @@ -556,10 +560,13 @@ ROM_START(fourx4) ROM_LOAD("c000a70c.bin", 0xc000, 0x2000, CRC(c31ca8d3) SHA1(53f20eff0084771dc61d19db7ddae52e4423e75e)) \ ROM_RELOAD(0xe000, 0x2000) - ROM_REGION(0x0200, "proms", 0) - ROM_LOAD("82s130.bin", 0x0000, 0x0200, CRC(da1f77b4) SHA1(b21fdc1c6f196c320ec5404013d672c35f95890b)) + ROM_REGION(0x0200, "proms", ROMREGION_ERASE00) + // doesn't have PROMs according to PinMAME ROM_END +} // Anonymous namespace + + GAME( 1979, supermap, 0, atari_s2, atari_s2, atari_s2_state, empty_init, ROT0, "Atari", "Superman (Pinball)", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) GAME( 1979, hercules, 0, atari_s2, atari_s2, atari_s2_state, empty_init, ROT0, "Atari", "Hercules", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND) GAME( 1979, roadrunr, 0, atari_s3, atari_s2, atari_s2_state, empty_init, ROT0, "Atari", "Road Runner", MACHINE_MECHANICAL | MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND)