Antwort auf: Re: [stella] Miniaturization (NES programming)

Subject: Antwort auf: Re: [stella] Miniaturization (NES programming)
From: kurt.woloch@xxxxxxxxx
Date: Thu, 20 Apr 2000 14:13:24 +0200
Glenn Saunders wrote:

>That's not necessarily true.  A game system succeeds because of a 
>combination of factors:
>
>1) Pricepoint
>2) Hardware
>3) Game quality
>4) Game variety
>5) Marketing

True.

>Advanced is a relative term.  Intellivision (and Astrocade) hardware was 
>not optimized for action gaming the way Atari hardware was. (...)
>
>The Intellivision did not do everything the 2600 did and more.  It had only

>a 16 color palette. (...)
>
>Also, the 2600 hardware demanded that objects be updated every 1/60th of a 
>second. It was theoretically possible to skip processing, but I bet only a 
>handful of games intentionally make the sprites move choppy to save some 
>"think" inbetween frames.  The only real choppy animation is when you do 
>horizontal scrolling like on Vanguard, because of the coarse resolution of 
>the playfield. (...)

Some more comments to this:

I read some Intellivision specs some time ago, and there's written that its
operating system only allowed for sprite and screen updates, I think, every
1/20th of a second. Now there were ways to get around this, like writing to
the hardware directly, but this wasn't done by most programmers.
On the other hand, some choppy animations on the 2600 were based on the need
for tight kernals, I think. Look at Dig Dug, for instance. Its characters
move smoothly vertically, but when going up and down, do have choppy
animation. I think this is because to display the proper playfield there,
the TIA PF registers have to be written to in every scanline where it's
visible (hence the black stripes in between), and that doesn't leave much
time for processing, besides writing the characters. So I think the objects
here "jump" up and down in at least 4-pixel steps instead of going smoothly.
The same holds true for shots in many games, like in Moon Patrol, where the
shots you shoot upwards even vary in length as they go up, while those you
fire forward are always the same size and do go smoothly. But in essence
you're right here.
About the color scheme: Yes, the 2600 even has got more colors than the
C-64, and also than the NES and Sega Master System. So... some games that
were ported to the C-64 actually look better on the 2600. Now what's the
advantage of an 8-bit Atari computer over a C-64... I don't really know. I
own a C-64 and have learned to progam it, in Assembler too. Personally I
think the C-64's able to put out better graphics than the Atari 8-bit's.
Which is also caused by the different sprite architecture. From what I know,
the Atari 8-bit's still have 8-pixel-wide "players" like the 2600. They have
double the amount of them, but that's it, they still need to be re-written
every scanline. Now the Atari 8-bits have got custom chips that are able to
do that job for you, but if you want to move an object up and down, you
still have to re-write all of its data. But I'm not sure about this. Does
anyone else know more? Anyway, for games like Mario Bros. and Donkey Kong on
the 8-bits, Atari took software sprites instead of the built-in players,
while for the C-64 versions of the same games, they used sprites, which in
fact make the C-64 versions look better than those on their own 8-bit
machines. But there are surely also games originally written on the Atari
8-bits which look better there than on the C-64 (Ballblazer, for instance),
also because the C-64 seems to have a slower running CPU (1 MHz instead of
1,79)
By the way, the architecture of the Amiga seems to be based more on the
Atari computers than on the C-64 (it was partly done by the same engineers).
There's also a custom chip which reads in the registers for the sprites
itself, but it can also be done by the CPU (which, I think, no-one did on
the Amiga). Anyway, what's not possible there, unlike on the C-64, is to
share sprite data in memory among multiple objects, because the header of
the data also contains the positions the sprites should be displayed at. So
if you animate a sprite, on the Amiga you have to re-write it, and also if
you have multiple instances of the same object, they still need seperate
data chunks in memory with the respective locations inserted. This isn't
needed on the C-64, because there you can write the pattern and position
registers independently. But I'm slightly out of topic now...

By the way, I have to excuse for giving false information on the Game Boy
Color. After looking at some screen shots, it seems to have better graphics
capabilities than the NES... I think, 4 colors per 8x8 block instead of
16x16 blocks on the NES. And it's also got a CPU twice as fast as that of
the normal Gameboy... which runs at a little above 1 MHz? Is that true?
Normally Z-80 processors don't run that slow! Well, maybe they tried to save
battery power by that...

With love from Austria (and still many systems 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