Re: [stella] Cosmic Ark scanline pixel doubling

Subject: Re: [stella] Cosmic Ark scanline pixel doubling
From: Andrew Towers <mariofrog@xxxxxxxxxxx>
Date: Sat, 12 Mar 2005 12:47:48 -0500
At 09:05 AM 12/03/2005 -0500, you wrote:
>Andrew Towers describes the HMOVE handling and the Cosmic Ark
>starfield effect quite nicely in the document that you linked
>to in one of your last messages. He only doesn't mention the
>pixel doubling for the missiles.

I have had some thoughts on this, but I haven't had a chance to
write them up yet. Well, here we go.

I haven't been able to find anything specific in the schematics
either for this one; all I can tell you is the doubling/missing
missile pixels must be due to interactions between the normal
movable object clock (MOTCK) and the extra pulses sent by HMOVE
during the visible part of the scanline.

In particular, I have reasoned thus: the effect repeats itself
every four lines which is interesting because it corresponds
to the starting phase of the two-phase clocked logic for the
missile position counter. There are 68 clocks of HBLANK time,
and each HMOVE moves the missile 17 pixels left. If I were to
do this four times, I would have used up 68 clocks (17*4=68)
so I'm back where I started. The position counter counts once
for every four clocks, and each line I add 17 -- so I actually
add 4 and 1/4 counts to the position counter each line. This
puts the position counter 1/4 out of phase with the previous
line each time.

This does not explain the doubling/missing effect, but it lays
the groundwork. The 17 pixel left shift is due to extra HMOVE
clocks during the non-visible part of the scanline; this is
quite straight-forward. I belive the strange pixel behavour
is due to "undefined" interactions between the normal MOTCK
and the extra HMOVE pulses during the *visible* part of the
scanline only.

I call these "undefined" because the interactions depend entirely
on the precise phase between the two clock signals (the HMOVE
pulses are twice as wide as the MOTCK pulses, and only come once
every 4th MOTCK). The phase depends on the gate delays introduced
on the HMOVE signal (approx. 4 gates worth), which in turn depends
on the exact transistor layout of the gates and the manufacturing
process used!

With this in mind, it can be seen that the HMOVE clock might
simply extend a normal MOTCK pulse, causing a double-wide pulse.
This might coincide nicely with two pixel clocks, causing a
double-pixel to be displayed, but only if it falls on the correct
1/4 cycle of the position counter.

Alternatively, with different transistor sizes in a later revision
(the TIA-1A schematics mention sizes changing for that revision),
the behaviour might be completely different, with the extra HMOVE
pulses plugging up MOTCK pulses instead of widening them.

I suspect this is also why some of these "borderline" effects
appear/disappear as the machine warms up.

I haven't looked into this very thoroughly, but these are my
current thoughts on the matter.

Regards,
Andrew.


Archives (includes files) at http://www.biglist.com/lists/stella/archives/
Unsub & more at http://stella.biglist.com

Current Thread