Re: [stella] Color & drawing limitations questions

Subject: Re: [stella] Color & drawing limitations questions
From: Eckhard Stolberg <Eckhard_Stolberg@xxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 19 Mar 1999 16:41:28 +0100
At 00:58 19.03.99 -0600, you wrote:

>If I understand it correctly, each can only have one color per line, but
>can have any number of colors vertically?  And can ALL of them have
>different colors, or are some dependent on others (like the ball is
>dependent on the background?)?

The background has a colour register of it's own. Player0 & missile0,
player1 & missile1 and the ball & playfield share their colour registers.

>Also, if you're copying a sprite, will all the copies have the same color
>per line, or is it possible to change the color before the next copy is
>drawn?

The TIA uses the graphics and colour values that are in the TIA registers
when it's time to draw an object. So if you manage to change the colour
and/or the graphics between two copies of a sprite, the TIA will display
two different looking sprites in that scanline.

>And what is the exact resolution of the screen in low-res and high-res
>mode?

There is no low-res or high-res screen mode. Depending on your TV set
the TIA can display about 200 scanlines on a NTSC TV. The movable
objects have a horizontal resolution of 160 pixels and the playfield
is 2*20 pixels per scanline.

>How many "sprites" can you put on the screen at once?  I guess you can do
>maybe 13 per line, but can you do that every "line" (or sprite height)?

If you mean independently moving objects, then there are only the
two player graphics, the two missiles and the ball. The player
graphics can display two or three copies with various spacings,
but then their missiles will also display two or three copies.
Those objects can have any hight, or you can reposition them on
different scanlines. For the rough positioning of an object there
will be one scanline where you don't have the time to change any
graphics or colour registers. For the fine positioning the scanline
will display the eight pixel black stipe on the left side of the
screen. The fine positioning can be done for all objects at once.

If you mean sprites with fixed positions and spacings, you can trick
the TIA to display up to nine copies of each player graphics per
scanline. But during this trick you don't have enough time to change
the graphics or colours during display, so that all copies will share
the same colour and shape in that scanline.

>Also, you can manipulate the background to look like there are extra sprites,
>right?  What kind of limits are on this?

For the background you can only change the colour, but the playfield
has 2*20 pixels (with a width of four normal pixels). If you manage
to change the three playfield registers during display, you can get
full 40 pixels. The playfield can have the same colour as the ball,
or the left half of the playfield has the same colour as player0
while the right half shares a colour with player1.

>If you want to summarize all this mess into one simple question, here it
>is: "what would you have to keep in mind if you wanted to make a fake
>screen shot that might theoretically be possible?".  :-)

Cycle counting! You can change all the TIA registers at any time,
but the 6507 isn't fast enough to change all of them in one scanline.
There are 76 cycles per scanline with three pixels per cycle. Reading
a value into the 6507 takes at least two cycles and writing a value
to the TIA takes at least three cycles. And there are only three
registers inside the 6507 to read a value into, which means that you
can store only three different values in a short time into the TIA.

If you are unsure about your picture you can always send it to the
list and we'll tell you why it wouldn't work. You still have some
days left before it has to be finished, right? ;-)


Ciao, Eckhard Stolberg



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

Current Thread