View Single Post
Old 08 June 2017, 16:48   #29
zero
Registered User
 
Join Date: Jun 2016
Location: UK
Posts: 428
Quote:
Originally Posted by kovacm View Post
I always wonder how arcade games has such nice graphics with so few KB of RAM (CPS: 64 KB WORK RAM + 192 KB VRAM)?
So how does CPS work? Does it have traditional buffer like ST and Amiga (bitplanes in memory which are read by hardware that generate signal for TV or monitor?) or hardware for generating video signal read data of sprites directly from ROM at exact position while TV beam draw image?
Or if you copy all sprites, background... from ROM to frame buffer - how fast you need to read and write data from ROM to frame buffer?? It looks like you need some serious bandwidth? I am really puzzled by hardware of Arcade games...
All the bitmaps are in ROM, and read directly by the graphics hardware. There is no frame buffer at all, as you speculate everything is read directly from ROM as the TV beam draws the image.

The only VRAM needed is for the tile map and sprites. The basic tile map is also in ROM, but by having it in RAM you can do animated backgrounds like the trees blowing in the wind on level 1. Typically a lot of the tile maps will be in ROM with just one layer of animated tiles, so you don't need much RAM for this.

Sound is similar. All samples in ROM, all music scores in ROM, all you need in RAM is a few pointers. The CPS has a second CPU, a Z80, just for sound which has its own 2kB of RAM anyway, so the main 68000 literally just sends it one command like "play sample X" or "play music track X".

That means that the 64k of work RAM is really just for the game logic, and 64k is actually a lot. The NES had 2k of similar work RAM, and could fit pretty big games like Mario 3 in there.
zero is offline  
 
Page generated in 0.04412 seconds with 11 queries