mirror of
https://github.com/holub/mame
synced 2025-06-01 02:21:48 +03:00
![]() ---------- Forwarded message ---------- From: Paul Thacker <lennier_of_the_minbari@yahoo.com> - Hide quoted text - Date: Tue, Aug 10, 2010 at 4:50 AM Subject: Re: Astrocade video update To: submit@mamedev.org Phil (or whoever else checks this), Sorry for missing the Gorf case. I've hashed out the problem some more on the message boards, and I now see that while Astrocade BASIC calls the lightpen function on every scanline, Gorf calls it several times per vblank on seemingly random scanlines. So, that explains why the first fix didn't work. Looking at the code more closely, I see why Astrocade BASIC was running out of timers. The astrocade_trigger_lightpen function has a timer that doesn't expire until the end of vblank. Since this can be called many times per vblank, a bunch of timers could pile up. This happened on Gorf to some extent, but not enough to reach the MAX_TIMERS of 256. But Astrocade BASIC crashes every time. I changed the timer to only last for that scanline, and this seems to work. I tested this change in MAME and was able to play Gorf, Robby Roto, Wizard of Wor, Extra Bases, Space Zap, Seawolf II, Professor Pac-Man, and Demons & Dragons. In MESS, Astrocade BASIC is now usable, as well as some of the BASIC-carts like Candyman and Super Slope. (Road Toad doesn't run out of timers anymore, but is still unplayable for some reason.) And I've tested lots of other carts with no problems. Thanks, Paul aka ranger_lennier |
||
---|---|---|
docs | ||
src | ||
.gitattributes | ||
makefile |