summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar smf- <smf-@users.noreply.github.com>2020-01-06 22:01:14 +0000
committerGravatarGravatar smf- <smf-@users.noreply.github.com>2020-01-06 22:01:38 +0000
commitcdd8da5ca1e772425c62d88fc81308d6814965eb (patch)
treef69c2046365578860e43d0a774497c7f964fc872
parent1cc96cd2bdf117ef1a3bb8f15c166770ddfd999a (diff)
Hardware to generate interrupt 3 only exists on LSI Cart 3, 4 & cockpit boards, it is missing on TTL, LSI & LSI Cart 2. [GadgetFreak]
-rw-r--r--src/mame/drivers/atarisy1.cpp30
-rw-r--r--src/mame/includes/atarisy1.h10
-rw-r--r--src/mame/video/atarisy1.cpp4
3 files changed, 28 insertions, 16 deletions
diff --git a/src/mame/drivers/atarisy1.cpp b/src/mame/drivers/atarisy1.cpp
index 23eec4b26c2..eaf5dc76ccb 100644
--- a/src/mame/drivers/atarisy1.cpp
+++ b/src/mame/drivers/atarisy1.cpp
@@ -2563,18 +2563,18 @@ GAME( 1985, indytemp4, indytemp, indytemp, indytemp, atarisy1_state, init_indyt
GAME( 1985, indytempd, indytemp, indytemp, indytemp, atarisy1_state, init_indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (German)", 0 )
GAME( 1985, indytempc, indytemp, indytemp, indytemc, atarisy1_state, init_indytemp, ROT0, "Atari Games", "Indiana Jones and the Temple of Doom (Cocktail)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1985, roadrunn, atarisy1, roadrunn, roadrunn, atarisy1_state, init_roadrunn, ROT0, "Atari Games", "Road Runner (rev 2)", 0 )
-GAME( 1985, roadrunn2, roadrunn, roadrunn, roadrunn, atarisy1_state, init_roadrunn, ROT0, "Atari Games", "Road Runner (rev 1+)", 0 )
-GAME( 1985, roadrunn1, roadrunn, roadrunn, roadrunn, atarisy1_state, init_roadrunn, ROT0, "Atari Games", "Road Runner (rev 1)", 0 )
-
-GAME( 1987, roadblst, atarisy1, roadb110, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 4)", 0 )
-GAME( 1987, roadblstg, roadblst, roadb109, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 3)", 0 )
-GAME( 1987, roadblst3, roadblst, roadb109, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 3)", 0 )
-GAME( 1987, roadblstg2, roadblst, roadb110, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 2)", 0 )
-GAME( 1987, roadblst2, roadblst, roadb110, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 2)", 0 )
-GAME( 1987, roadblstg1, roadblst, roadb109, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 1)", 0 )
-GAME( 1987, roadblst1, roadblst, roadb109, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 1)", 0 )
-GAME( 1987, roadblstc, roadblst, roadb110, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, rev 2)", 0 )
-GAME( 1987, roadblstcg, roadblst, roadb109, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, German, rev 1)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1987, roadblstc1, roadblst, roadb109, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, rev 1)", MACHINE_IMPERFECT_GRAPHICS )
-GAME( 1987, roadblstgu, roadblst, roadb109, roadblst, atarisy1_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev ?)", 0 )
+GAME( 1985, roadrunn, atarisy1, roadrunn, roadrunn, atarisy1r_state, init_roadrunn, ROT0, "Atari Games", "Road Runner (rev 2)", 0 )
+GAME( 1985, roadrunn2, roadrunn, roadrunn, roadrunn, atarisy1r_state, init_roadrunn, ROT0, "Atari Games", "Road Runner (rev 1+)", 0 )
+GAME( 1985, roadrunn1, roadrunn, roadrunn, roadrunn, atarisy1r_state, init_roadrunn, ROT0, "Atari Games", "Road Runner (rev 1)", 0 )
+
+GAME( 1987, roadblst, atarisy1, roadb110, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 4)", 0 )
+GAME( 1987, roadblstg, roadblst, roadb109, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 3)", 0 )
+GAME( 1987, roadblst3, roadblst, roadb109, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 3)", 0 )
+GAME( 1987, roadblstg2, roadblst, roadb110, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 2)", 0 )
+GAME( 1987, roadblst2, roadblst, roadb110, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 2)", 0 )
+GAME( 1987, roadblstg1, roadblst, roadb109, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev 1)", 0 )
+GAME( 1987, roadblst1, roadblst, roadb109, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, rev 1)", 0 )
+GAME( 1987, roadblstc, roadblst, roadb110, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, rev 2)", 0 )
+GAME( 1987, roadblstcg, roadblst, roadb109, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, German, rev 1)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1987, roadblstc1, roadblst, roadb109, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (cockpit, rev 1)", MACHINE_IMPERFECT_GRAPHICS )
+GAME( 1987, roadblstgu, roadblst, roadb109, roadblst, atarisy1r_state, init_roadblst, ROT0, "Atari Games", "Road Blasters (upright, German, rev ?)", 0 )
diff --git a/src/mame/includes/atarisy1.h b/src/mame/includes/atarisy1.h
index bbd62b5cf24..7dcd0d514e7 100644
--- a/src/mame/includes/atarisy1.h
+++ b/src/mame/includes/atarisy1.h
@@ -106,7 +106,7 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(atarisy1_reset_yscroll_callback);
TIMER_DEVICE_CALLBACK_MEMBER(atarisy1_int3off_callback);
TIMER_DEVICE_CALLBACK_MEMBER(atarisy1_int3_callback);
- void update_timers(int scanline);
+ virtual void update_timers(int scanline);
void decode_gfx(uint16_t *pflookup, uint16_t *molookup);
int get_bank(uint8_t prom1, uint8_t prom2, int bpp);
DECLARE_READ16_MEMBER( atarisy1_int3state_r );
@@ -129,4 +129,12 @@ public:
void sound_map(address_map &map);
};
+class atarisy1r_state : public atarisy1_state
+{
+public:
+ using atarisy1_state::atarisy1_state;
+
+ virtual void update_timers(int scanline) override;
+};
+
#endif // MAME_INCLUDES_ATARISY1_H
diff --git a/src/mame/video/atarisy1.cpp b/src/mame/video/atarisy1.cpp
index a625f752c43..bdbbc1d35ed 100644
--- a/src/mame/video/atarisy1.cpp
+++ b/src/mame/video/atarisy1.cpp
@@ -396,6 +396,10 @@ READ16_MEMBER( atarisy1_state::atarisy1_int3state_r )
void atarisy1_state::update_timers(int scanline)
{
+}
+
+void atarisy1r_state::update_timers(int scanline)
+{
int offset = m_mob->bank() * 64 * 4;
int link = 0, best = scanline, found = 0;
uint8_t spritevisit[64];