diff options
Diffstat (limited to 'src/mame/drivers/atari_s2.cpp')
-rw-r--r-- | src/mame/drivers/atari_s2.cpp | 25 |
1 files changed, 16 insertions, 9 deletions
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<uint8_t> m_p_prom; required_device<cpu_device> m_maincpu; required_device<dac_4bit_binary_weighted_device> m_dac; required_device<dac_3bit_binary_weighted_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) |