summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author angelosa <lordkale4@gmail.com>2022-10-03 03:03:52 +0200
committer angelosa <lordkale4@gmail.com>2022-10-03 03:03:55 +0200
commitbaef2b80f656ce3eaf677e2d59c3b2063154c8ec (patch)
tree86054f194251641fddc3da46f6d4f3396a23750b
parent2ee081f55c85eacabbc7784aeb73f50849f414a8 (diff)
atari/antic.cpp: use pixel_period() for steal_cycles timer
* fixes elktrgld, galaxian, blaster crashes, pitfall2 score display, alfclrcv stuck on first hole, batlband GFX faces on gameplay, mash and bldrbmbs flickering, likely more
-rw-r--r--src/mame/atari/antic.cpp3
-rw-r--r--src/mame/atari/atari400.cpp1
2 files changed, 3 insertions, 1 deletions
diff --git a/src/mame/atari/antic.cpp b/src/mame/atari/antic.cpp
index 2ac7906b4f5..dcf6492d040 100644
--- a/src/mame/atari/antic.cpp
+++ b/src/mame/atari/antic.cpp
@@ -1183,6 +1183,7 @@ uint8_t antic_device::read(offs_t offset)
data = m_r.antic09;
break;
case 10: /* WSYNC read */
+ // TODO: strobe signal, should happen on write only?
m_maincpu->spin_until_trigger(TRIGGER_HSYNC);
m_w.wsync = 1;
data = m_r.antic0a;
@@ -2007,7 +2008,7 @@ TIMER_CALLBACK_MEMBER( antic_device::line_done )
TIMER_CALLBACK_MEMBER( antic_device::steal_cycles )
{
LOG(" @cycle #%3d steal %d cycles\n", cycle(), m_steal_cycles);
- m_line_done_timer->adjust(ANTIC_TIME_FROM_CYCLES(m_steal_cycles));
+ m_line_done_timer->adjust((attotime)screen().pixel_period() * (m_steal_cycles));
m_steal_cycles = 0;
m_maincpu->spin_until_trigger(TRIGGER_STEAL);
}
diff --git a/src/mame/atari/atari400.cpp b/src/mame/atari/atari400.cpp
index 715ce078956..fcca699c90b 100644
--- a/src/mame/atari/atari400.cpp
+++ b/src/mame/atari/atari400.cpp
@@ -2156,6 +2156,7 @@ void a400_state::atari_common_nodac(machine_config &config)
//m_screen->set_visarea(antic_device::MIN_X, antic_device::MAX_X, antic_device::MIN_Y, antic_device::MAX_Y);
m_screen->set_screen_update("antic", FUNC(antic_device::screen_update));
m_screen->set_palette("palette");
+// m_screen->set_video_attributes(VIDEO_UPDATE_SCANLINE);
PALETTE(config, "palette", FUNC(a400_state::a400_palette), std::size(atari_colors) / 3);