Re: [stella] Hardware comparisons

Subject: Re: [stella] Hardware comparisons
From: kurt.woloch@xxxxxxxxx
Date: Tue, 25 Apr 2000 12:09:16 +0200
Combee wrote:

>I just read De Re Atari, so the display list stuff is fresh in my mind.
>Display lists on the Atari 8-bit controlled the memory-to-screen mapping
>mode and the memory location from which the display was fetched.  So, just
>using a DL, you could draw the screen from several areas of memory, go
>between character and bitmapped modes, and insert blank lines.
>
>To alter anything else, you had to set the display list interrupt on that
>line, at which point the 6502 got called to change around hardware
>registers.  One thing that was nice about this was that the Atari OS had
>low-memory shadows of many of the important registers, so you could modify
>the hardware registers in a DLI knowing it would be reset during the
>vertical blank.

OK, I did some research for myself now.
You are basically correct for the display lists. Additionally, you have more
freedom moving around the displayed screen in memory, or even each
individual line, without the CPU having to do anything. To achieve scrolling
seems to be easier than on the C-64. On the other hand, the Ataris seem to
be limited to 128 different characters for playfield generation (plus the
inverted ones), and only 64 in multi-color mode, while the C-64 has 256 of
them in all modes. And, as already stated, the support for the
player/missile graphics on the ANTIC seems to be limited... it supports them
far less than it supports the background bitmap... which is, somehow,
vice-versa to the C-64. On the 64 you can't do that much with different
screen areas (at least not without CPU interaction) and the area where the
graphics come from is more or less fixed, but you have much freedom to do
what you want with the sprites.

Generally, if you come from the 2600 and go to Atari 8-bit, C-64 and Amiga
architecture, you could say the following:

The GTIA (Atari 8-bit video chip) still does basically the same as the TIA
on the 2600. It only puts everything out with more detail, has got more
color registers, and more sprite "layers". It still doesn't fetch the data
by itself, this job seems to be done by the ANTIC. But this is hard to
define which chip does what. Anyway, what's done is that the CPU doesn't
have to feed every single line by itself anymore. The point where the bitmap
data comes from can be selected with great flexibility. Still, there are
generally still the color registers (only 9 of them) selecting which colors
out of the 128 or 256 to use. The implementation of the player/missile DMA
support (which frees the CPU of doing this job) is, let's say, questionable,
since the 256-byte chunks for the PM data are relatively fixed in memory and
have to be re-written when the object is moved up and down, or animated
(which doesn't need to be done with screen scrolling).

The VIC (C-64 video chip) offers a bit other solution. It's got the screen
and bitmaps fixed at relatively few possible positions, which makes you
having to update the screen more often when scrolling, but allows sprite
positioning and animating with simple register writes. While there's no
total freedom of using the 16 colors, it's possible to do nearly all colors
in relatively small screen regions, compared to the Atari 8-bit.

The Amiga actually is more comparable to the Atari 8-bits than to the C-64
(because it was done by partly the same engineers). Downsides to the 8-bits
is that the "indirection level", which would create a character mode and a
way of building up the screen of tiles, is gone now, so everything has to be
stored as bitmaps. Also some of the player/missiles capabilities (they are
called "sprites" now) have been removed; there's no "double-width" sprites
anymore. But in the place of 8-pixel wide "players" on the 8-bits now appear
4-colour, 16-pixel-wide objects. The number of colors also have increased to
a total of 32, and like on the Atari 8-bits, there are screen modes suitable
to do even more of them (the Half Bright and the HAM). The way of handling
the sprites has improved, but still isn't as flexible than on the C-64. They
can now move up and down without having to re-write everything, but there
still has to be an own chunk of memory for every object displayed, even if
they look the same. And this time, also the number of colors have increased,
leaving the Color/Lum scheme alone, moving to RGB (which, by the way, makes
the Amiga PAL and NTSC pallettes finally look the same). And the "display
lists" from the Atari 8-bits have evolved into "Copper lists" which can do
even more... you can write values stored in the list to many of the Amiga's
display registers, including of course the color registers. And it's got the
blitter, which makes moving larger images inside of the bitmap more easy...
but that's rather a novelty not found in the two former systems.

Ah yes, and the 7800 seems to be a side-step in this history, in that it has
no such things as "background", "sprites" or whatever... it simply clashes
everything upon each other as long as you want, until you run out of
processing time. Maybe you could say what the Blitter does to the bitmap on
the Amiga, the 7800 does to each scanline... at real time.

Anyway, if we go up this history from the 2600 to the Atari 8-bit and the
Amiga, there's never been a tile-based color mode, like there is on the
Intellivision, VIC-20 and C-64, NES and Color Gameboy, and the TMS-9918
based systems (Colecovision, TI-99, MSX and others) and probably others
which we didn't touch here.

Now what does this mean for the game programmer? Frankly, I don't know...
Basically, I think you can write good games for any of the systems. The
difference is how much hardware support you get for the things you want to
do. And the Atari 8-bits seem to have been out 3 years before the C-64 - in
fact the 64 came halfway between them and the Amiga, so if you add this
fact, for that time they were surely advanced pieces of tech. But does
anyone know how much an Atari 800 costed in 1979 or 1980?

With love from Austria (and what-not to compare)
Kurt Woloch

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

Current Thread