Go to file
Phil Bennett 80705c849b video/astrocde.c: Limited the number of timers potentially produced by astrocade_trigger_lightpen() [ranger_lennier]
---------- 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
2010-08-11 19:38:51 +00:00
docs Changed behavior of -watchdog option to act like a real watchdog. It now 2009-12-24 02:52:17 +00:00
src video/astrocde.c: Limited the number of timers potentially produced by astrocade_trigger_lightpen() [ranger_lennier] 2010-08-11 19:38:51 +00:00
.gitattributes Merged aladbl.c and ssf2md.c to create genesisb.c [Sonikos] 2010-08-11 19:12:32 +00:00
makefile Created CPU-specific device types for all CPUs, using new macros 2010-07-03 00:12:44 +00:00