View Single Post
Old 08 June 2017, 15:27   #27
dlfrsilver
CaptainM68K-SPS France
 
dlfrsilver's Avatar
 
Join Date: Dec 2004
Location: Melun nearby Paris/France
Age: 46
Posts: 10,500
Send a message via MSN to dlfrsilver
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)?
this is special ram, used as hyperfast cache. Arcade games are rom based, everything is already in place to be executed.

The real memory size is the whole game size * 2

Ghouls'n'Ghosts use 8mb of VRAM, with double buffer, so 16mb in total.

Quote:
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?
the CPS system is basically a system where the program, the sound and the graphics are all hardware assisted.

The program has hardware functions that are releving the CPU for calculations for example (not all board, only some like Varth), as well as primary rotations on sprites (as can be seen in Final fight, with the 1st level boss, it has no frames from rotations, those are performed directly by the hardware). The palettes systems is also hardware assisted, you just need to feed the registers, and the hardware take care of them.

the graphic assets are a sort of big database of graphics. The 68000 is handling a tons of tile metadata that are 'word' based. his role is to send them/feed them to the graphics chips, which in turn are displaying the tiles and refreshing them.

The CPS system is using tiles, but the backgrounds are made of tiles printing on 3 independent playfields, that are all planar, and the system only display the part your currently moving on.

It's very different from the ST or the Amiga.

Quote:
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...
The system needs to know the X and Y position inside the playfield system, as well as if the sprite has to be flipped or not (just by 0 or 1 lol), as well as the X and Y positions of each playfields, and those variables are updated each VBL.

there is no "i pick from rom and copy to frame buffer". the system knows where to pick the tiles thanks to the tile metadatas uploaded by 68000 to the graphics chips, it then mix-up the palette, and it's printed directly on screen (TV or arcade monitor).

the CPS system is a tile animation hardware engine. its root are what the cartoon designers used to do for japan animes.

Multiple layers of backgrounds, characters to position, etc etc.

that's why the games looks like so much to animated cartoons
dlfrsilver is offline  
 
Page generated in 0.05126 seconds with 11 queries