Re: [stella] Cosmic Ark scanline pixel doubling

Subject: Re: [stella] Cosmic Ark scanline pixel doubling
From: "Eckhard Stolberg" <Eckhard_Stolberg@xxxxxx>
Date: Sat, 12 Mar 2005 09:05:13 -0500
> I assume you're refering to this post from back in 1997?

Yes, that's what I'm referring too. Although I later found out
that the shift actually is 17 pixels to the left in each scanline.
Also the "missing" pixel always happens in the scanline that comes
after a scanline where the missile was displayed over the first
pixel of a playfield block.

> I think my version gets the various NUSIZ tricks right.  These just sort
> of fall out naturally.  But I'm at a bit of a loss for the HMOVE tricks.
> I've tried walking through this logic a few times before, but I get lost
> in the intricacies of exactly what happens when HMOVE gets hit before
> the required setup time has occurred.

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.

The important part in the Cosmic Ark effect is that the HMOVE
logic will continue to send a shifting pulse every 4 pixels.
During the horizontal blank this will result in a 17 pixel
shift to the left.

But during the visible part of the screen the clock line for
the HMOVE shifting pulses is used for different things, like
advancing the pixel counter for the line. So on most VCSs
the extra HMOVE pulses have no effect during the visible part
of the screen.

In the 4 or 5 pixel setup logic for the movable object display
there must be something driven by that clock line, that could
be confused, if the HMOVE clock happens in such a way that it
would cancel out the normal clock pulse. Do you know how the
setup logic for the movable object display works? Is there
something in there that is driven by the same clock line that
is used for HMOVE shifting pulses?

Ciao, Eckhard Stolberg

Archives (includes files) at
Unsub & more at

Current Thread