Re: [stella] What's the purpose of address $29E?

Subject: Re: [stella] What's the purpose of address $29E?
From: "Eric Ball" <ericball@xxxxxxxxxxxx>
Date: Thu, 2 Dec 2004 22:38:36 -0500
> > (according to
> > http://www.6502.org/documents/datasheets/mos/mos_6532_riot.pdf) the same
> > as
> > TIM8T except it enables the interrupt from timer to !IRQ.

> So what are your theories on why this was done? Maybe to confuse us that
> reverse-engineer their code :-)

It means that D7 will be set on a read of $285 when the timer expires, which
can be useful if the code can't spin on INTIM.  In this case since TIM8T is
used, there's only 8 cycles between when INTIM = 0 and when it rolls over
to -1 and starts counting the number of cycles since the timer expired.  So
the programmer might have decided it was better to test $285 rather than
miss INTIM = 0 and get stuck for 256 cycles until the rollover counter
finally times out.  (I've had this happen for certain values of TIM64T when
my INTTIM loop included a STA WSYNC.)


Current Thread