summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-05-12 20:25:52 +0200
committer Ivan Vangelista <mesgnet@yahoo.it>2021-05-12 20:25:52 +0200
commitdf603892d28de11ed30899bd15b116e9975d302d (patch)
tree989a87142195c15dbe6e3e298525fb44401aee13
parentdfa8f43daf3eccd5e5d5c7dc3b6c4bb782e35aec (diff)
atari_s1.cpp, atari_s2.cpp updates:
* verified 20967-01 PROM dump [Gerald (COY)] * synced sets with PinMAME
-rw-r--r--src/mame/drivers/atari_s1.cpp12
-rw-r--r--src/mame/drivers/atari_s2.cpp25
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<uint8_t> m_p_prom;
required_device<cpu_device> m_maincpu;
required_shared_ptr<uint8_t> m_p_ram;
required_device<dac_4bit_r2r_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<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)