Re: [stella] Hardware comparisons

Subject: Re: [stella] Hardware comparisons
From: kurt.woloch@xxxxxxxxx
Date: Wed, 26 Apr 2000 08:29:22 +0200
Glenn Saunders wrote:

>>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
>
>I'm not sure how many games on the 8-bit used character mode graphics.  The

>big advantage of doing this was speed.  It was faster to blit a custom 
>character set than update a true bitmap.  I heard that Ballblazers used a 
>character system, though.

I think the majority of games used character mode graphics. The key to
choose which mode to use probably was how the background was supposed to
change during gameplay. In games like Missile Command, Qix and all the 3-d
racing games, where the whole screen changed in a way that wasn't
pre-defined (according to gameplay), the Hi-Res mode makes sense. But the
downside is, it's not too fast - a complete re-write of the Hi-Res bitmap
takes about 1/8 sec. on the C-64 - probably less on the Atari 8-bits due to
the faster CPU. This makes it also impossible to do smooth scrolling in
Hi-Res mode, at least on the 64, so every scrolling game had character mode
graphics. Of course, they redefined the characters to their needs. Sometimes
even multiple character sets in one screen are used. I discovered this by
looking at the C-64 version of Marble Madness. There they tried to
"compress" the screen down to characters to make it scrollable, but ran out
of chars, so on a line where they wouldn't have enough remaining characters
left to display it correctly, they began a new character set, and while
displaying the screen, they apparently switch character sets at that point.
(Aside from that, the only great version of that game is the Amiga one - all
others, at least for computers, were done by Will Harvey who, more or less,
butchered the game)
Anyway, also many games where the screen is fixed use character graphics,
including many platform games, where the graphics really don't have that
kind of variety which would require more than 256 different "tiles". In
fact, also the majority of Arcade games I know rely on such a system, which
also saves screen memory.
Ballblazer, I'm pretty sure, used a Hi-Res screen on the Atari 8-bits, but a
character system on the C-64 (where the character sets for different
vertical player positions are pre-defined, while the horizontal ones are
done by raster interrupt and color register changes).
One downside of the charset mode on the C-64 is, it's a little less
colorful... out of 4 colors, three are fixed and only one changable per
tile... while in Hires mode, the "char number" byte is used to give 2 more
color infos per tile, so only one remains fixed.

>Yes, but most Amiga games started using BLOBs, or Blitter 
>objects.  Basically software sprites.  The Amiga was fast enough with its 
>blitter to increase the apparent spritecount this way.  This worked better 
>than software sprites on the Atari 8-bit, for instance, which tended to 
>really strain the CPU.

Yes, I know this... I'd also say, curiously, that the presence of the Atari
ST degraded the quality of many Amiga games... since the Amiga,
graphics-wise, basically could do everything the ST could "and more", and
also had the same CPU, they simply wrote the games for the ST and ported
them over to the Amiga, without making use of its enhanced capabilities,
like 32 colors out of 4096, sprites, or the blitter. This, and the fact that
often on the Amiga BLOBS were used instead of sprites (which still DID take
more processing time), made many Amiga games look worse in smoothness than
their C-64 counterparts.

>One notable difference between the 7800 and the Amiga was clocking.  The 
>original Amiga was 7.56? mhz which is 2x colorburst.  The custom chips 
>match this clock.  If you implement an accellerator, you need to separate 
>"chip" RAM with "fast" RAM so that the CPU can numbercrunch without being 
>slowed down by the graphics chips.  So in any modern Amiga like my editing 
>workstation, the CPU runs at many orders of magnitudes faster than the 
>custom chipset.  This was something that, unfortunately, was never really 
>viable on the Atari 8-bit system, which is why you don't see 8+mhz Atari 
>8-bit accellerators like you do for the C=64.  The 8-bit was so closely 
>tied to the chipset that even if you did manage to separate the two it 
>would break most software compatibility.

So... do all the old Amiga games run on your editing workstation?

>The 7800 goes the opposite way.  The CPU remains 1.79mhz and the graphics 
>chips are 7.56mhz.  I think the TG16 may also be that way, having an 
>overpowering graphics chip compared to the CPU.  The SNES also relied on 
>the graphics chip rather than the mhz of the CPU.

The question is also at which rate the memory can be accessed. On the
original Amiga, though the CPU runs at 7.16 MHz, bus speed is also half of
that, and half of the bus cycles are reserved to the video and other
DMA's... even more if the system runs a video mode that requires more than
16 colors at 320 columns, or more than 4 colors at 640 columns resolution.
Since the Amiga has 16-bit memory, essentially a total of 7.16 million bytes
can be fetched by second and have to be shared by the CPU, the video output,
the Blitter, Sound and all other operations. "Fast Ram" here means that this
part of RAM won't be slowed down if the system goes into more colors than
mentioned, or the Blitter starts working. I believe on the Atari ST screen
modes were limited to an amount that the CPU wouldn't be slowed down. On the
C-64, for comparison, the CPU gets the bus for every cycle, and the video
chip comes in between that, and only stops the CPU when it reads the first
line of a "tile set" in character mode, where it has to read two bytes per
tile, the character number and the charset information. So there the memory
can serve about 2 million bytes per second. I don't know how much the DMA
interferes with the CPU on the Atari 8-bits.

>Yow! Glenn, I'd say the VAST MAJORITY of 8-bit Atari games used character
>mode graphics. Almost every game with scrolling (run 'n' jump, shoot 'em
up,
>etc...) used character mode.  Some games  even used dynamically redefined
>characters as sprites! (Super Pac-Man for example)  Aside from speed,
>another huge advantage was memory savings... you could have an entire
>hires-looking color screen in only 1K of RAM (well okay... 2K including the
>char data).

Well, for redefining characters as sprites, most C-64 games don't go that
route, except for many of the Centipede incarnations on that system,
including the original Centipede version by Atari, or some games originally
written for the Apple II, which didn't have sprites, or other games having
more than 8 objects on the screen (like Fort Apocalypse, I think, where the
running men are done with the charset, Shamus, Drelbs, and Shamus II). One
other thing they did is animating the characters to give an impression of
moving or pulsating walls, barriers or water. And sometimes even to give an
impression of 2-plane scrolling (like in Bounder). I'm pretty sure this has
been done on the NES, SMS and Gameboy too...

>Has anyone pointed out yet that C64 bitmap mode is laid out like custom
>character set storage? It's really weird.

Yes, but not too hard to handle if you get used to it.

With love from Austria (and more things to point out)
Kurt Woloch

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

Current Thread