08 June 2017, 11:28 | #21 | |||
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Quote:
If you go to 256 colours on the Amiga it will probably be about the same amount of data, but your game will be very slow. Quote:
The Megadrive version is only 5 megabit, which is actually 0.625 megabytes. In other words, the entire Megadrive version would fit into a 1MB RAM Amiga with lots of room to spare. In any case, with loading between levels it should be no problem, especially after all the graphics and sound are reduced to Amiga level. 512k should be more than adequate. Quote:
|
|||
08 June 2017, 13:47 | #22 | |
Registered User
Join Date: Nov 2012
Location: Willich/Germany
Posts: 233
|
Quote:
Converting all of them to 256 planar colours doubles the memory consumption because you need eight bits per pixel and you have still less colours compared to the arcade machine. You also have to add the horizontal flipped versions and a mask (which is another additional plane). And I didn't even mentioned the sprites which can have different palettes. |
|
08 June 2017, 14:28 | #23 | ||||||
CaptainM68K-SPS France
|
Quote:
1. The CPS systems ARE planar, just check the mame driver ! 2. The CPS systems are based on the graphic system used on the X68000 (it's the source hardware it's based on). The CPS1 hardware use 192 palettes of 16 colors. All those palettes are used for the sprites, backgrounds and foregrounds. Quote:
Quote:
The arcade code roms are 1024kb, so 1megabyte ! Quote:
A 512kb game on Megadrive would take at least 2 amiga disks ! Quote:
Quote:
the X68000 version use only 2mb of ram, but at the price of splitting the whole game per level and sprites. |
||||||
08 June 2017, 14:40 | #24 |
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Right, where did you get "16mb" from what? Is that mega BITS or mega BYTES?
The CPS display is NOT planar. The sprite and tile data is stored in a planar format, but the display is tile and layer based with independent palettes. The display is made up of tile maps and sprites. The point here is that you can't simply convert that to a 256 colour planar display. Also, remember that the 1MB of code is for the arcade hardware... Which has a second Z80 CPU to run sound, so you can chuck all that out and replace it with a light weight Amiga MOD + sound effects player. And ditch most of the background animation, because the blitter isn't going to be able to animate all those trees in the first level fast enough... |
08 June 2017, 14:56 | #25 | |||||
CaptainM68K-SPS France
|
Quote:
Final fight takes 12mb of ram, Strider 16mb of ram, Cadillac and dinosaurs 20mb of ram, etc etc..... Megabits were only used by the japanese. The US/EURO system is the byte, kilobyte, megabyte, terabyte. Quote:
Any game like Shinobi, shadow dancer or any other sega system 16,18,24 just won't display the tilemaps nor the sprites ! Why ? Because mame doesn't support the chunky/bitmap formats ! the Sega systems are MIXING planar assets with bitmap chunky assets If the CPS systems were not planar, you just should not be able to view the tiles and the sprites inside mame. In order to detail things better, the Amiga is a planar bitmap display computer, and the CPS system is planar tile display system. but both are planar. the palette colors attribution has nothing to do with the planar rendering. Quote:
Quote:
But yes, it would need a driver (a specific one able to deal with music and sfx at the same time.) Quote:
the 68000 here suffers the most, because it has to send the tile metadata to the graphics chips for display or refresh. |
|||||
08 June 2017, 14:56 | #26 | |
Banned
Join Date: Jan 2012
Location: Serbia
Posts: 275
|
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? 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... |
|
08 June 2017, 15:27 | #27 | |||
CaptainM68K-SPS France
|
Quote:
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:
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:
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 |
|||
08 June 2017, 16:40 | #28 | |||||
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Quote:
Quote:
That's extremely important to understand because it has huge implications for the number of on-screen colours, scrolling, animation etc. Quote:
The tiles are not rendered to a bitmap, they are read and displayed using DMA on the fly similar to how the Amiga reads bitplane data just as it is needed. Quote:
Quote:
I suggested a way to double up channels to get 8 virtual channels using the blitter, but with everything else there won't be any free cycles for it. |
|||||
08 June 2017, 16:48 | #29 | |
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Quote:
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. |
|
08 June 2017, 17:57 | #30 | ||||
CaptainM68K-SPS France
|
Quote:
Those zones are Planar. The only thing that differs, is that it's a planar display without colors limitations ! If you basically mean that it's a PC like display, you're wrong ! The sega megadrive for instance is not using a planar display, it's a chunky tiled display ! Quote:
Quote:
I have extracted some sprites straight from Final Fight from Instance, so i know what i'm talking about ! The hardware doesn't give a fuck about the amount of bitplanes needed to display a sprite or tilemaps for levels ! If it need 5 BPL, it will use 5BPL, 8BPL if 8BPL is needed and so on ! Why and how ? because each tile is seperately managed as a seperated planar object ! Doing the same thing on Amiga would require considering what Anima shown something like 24 BPL for the whole game, as this game use for the whole game 1270 unique colors ! Quote:
The Arcade code is building on startup the 3 tilemap layers, setting the color hardware registers, etc etc. Each layer is a virtual space of a defined and limited size. the tiles are printed inside each tilemap thanks to the indications given by the tiles metadata inside the 68000 program. There is no "hop, i trigger the DMA and hop i print on screen". The roadmap is : 68000 is access a data space (tile metadata) inside the program code. It then parse the amount of metadata size and then feed the graphics chips registers with them. Thanks to the protected GAL on each board of the hardware, this one knows exactly where can be found each type of tiles. Once the graphics chip are processing and displaying the tiles, the 68000 is running the game logic during the whole VBL. That's what a CPS engineers (read game programmer) explained. The CPS hardware is doing parallel processing. Once the 68000 has fed the graphic system, the graphic system is doing its job, and the 68000 is not stopped, it continues to run the game logic ! That's another difficulty if you want to convert a CPS game on a computer with no hardware tile assistance. the CPS system has some common points with the Sega Megadrive, with many differences however. |
||||
08 June 2017, 18:03 | #31 |
CaptainM68K-SPS France
|
double post
Last edited by dlfrsilver; 08 June 2017 at 18:03. Reason: Double post |
08 June 2017, 18:16 | #32 | ||
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
dlfrsilver, you are hopelessly confused. You are arguing about things you seem to agree with me on.
Quote:
Quote:
If there is any kind of cache bitmap for the scanline, it must be internal to the graphics hardware and certainly is not memory mapped in the main CPS memory space. |
||
08 June 2017, 19:08 | #33 |
Banned
Join Date: Jan 2012
Location: Serbia
Posts: 275
|
@DamienD
I think that it is pretty important (and for Rygar conversion thread) to understand how Arcade work and how Amiga work so please make another topic. --- @zero So 68000 in CPS never read graphics or sound data from ROM but only "order" to video and sound hardware what and how they should draw/play. This is somehow similar to e.g. how Amigas 68000 setting custom chips (blitter, agnus, paula...)? 192 KB VRAM in CPS is used to compose background layer? Anyway, quite clever system how much did cost ROM vs RAM back in 80s and 90s? I found how Metal Slug for NeoGeo compose display (somebody spread graphics to layers): [ Show youtube player ] - but I am not sure how much NeoGeo is different from CPS... Last edited by kovacm; 08 June 2017 at 19:18. |
08 June 2017, 19:11 | #34 | |
Banned
Join Date: Jan 2012
Location: Serbia
Posts: 275
|
Quote:
8MB of VRAM??! VRAM is RAM. CPS does not have 8MB of any RAM... ?!? What you mean by this? --- and please write MB - for mega bytes and Mb - for mega bits (8 time smaller) |
|
09 June 2017, 06:52 | #35 |
Registered User
Join Date: Feb 2011
Location: Italy/Rome
Posts: 2,344
|
what about doing a simple test on amiga to see what i could be possible?
|
09 June 2017, 07:26 | #36 | |
Registered User
Join Date: Nov 2012
Location: Willich/Germany
Posts: 233
|
Quote:
|
|
09 June 2017, 10:21 | #37 | ||||
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Quote:
It's the same with sound. You just tell the hardware which bit of RAM to read the sample data from, what pitch and how long to play it for, and it does all the actual reading of data for you. The main difference with the CPS hardware is that all the graphics and sound are in ROM. There is no need to copy them to RAM, they can be read directly from ROM by the graphics hardware. On the Amiga you have to load the graphics from disk into RAM, so you need a lot of RAM. Quote:
Quote:
Quote:
|
||||
09 June 2017, 10:23 | #38 | |
Registered User
Join Date: Jun 2016
Location: UK
Posts: 428
|
Quote:
When doing an Amiga conversion, you would need to copy that data into RAM, so maybe he thinks you need 8MB of RAM for it... Assuming you don't load data between levels, and keep all the animations (impossible on Amiga due to blitter speed). |
|
09 June 2017, 11:43 | #39 | |
Banned
Join Date: Jan 2012
Location: Serbia
Posts: 275
|
Thanks, now things are much more clear now.
Just one more thing: Quote:
--- Now I understand that RAM only hold ID of tile and actual data (pixels) are in ROM. If every sprite and tile has one 16 color palette so every pixel is stored as 4bit value of palette entry. Also every sprite/tile need to store information which palette he use (one byte is enough if there is 192 different palettes). So what happens if you need to display background tile (e.g. 16x16px) but from 4th pixel? Player move to right for 3 pixel and entire background should now be displayed shifter for 3 pixels. How hardware do this? It simple know that should start to read from 4th pixel and after 13 pixels to wrap and read (display) 1st pixel in tile? I mean there is no need to rotating bits in byte (or more bytes, like in case of ST) on bitplanes (or similar technique) like in ST or Amiga? |
|
09 June 2017, 12:00 | #40 | |
Registered User
Join Date: Jul 2015
Location: The Netherlands
Posts: 3,436
|
Quote:
I don't know exactly how the CPS-1 hardware does this, but I presume it's similar to how other tile based systems (such as the C64, PC-Engine, MegaDrive/Genesis and SNES) do it: either hide the pixels to draw behind a border, or fetch more columns and rows than are visible and offset them. This is actually fairly similar to how the Amiga does barrel-shifted scrolling, except the source of the pixels is different (tile ROM/RAM vs bitmap RAM). What might help is to decouple the tiles from drawn pixels in your mind. It really doesn't matter for a display chip what the source of the pixels is. As long as it knows what pixels come next it can draw them and if it has shift circuity, it can shift them while doing so. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Japanese Console/Computer RPG discussions | Retro-Nerd | Retrogaming General Discussion | 2 | 02 April 2009 01:32 |
Given the recent Scanlines discussions... | DamienD | request.UAE Wishlist | 26 | 26 April 2007 17:36 |
Wii Virtual Console / Xbox Live Arcade? | killergorilla | HOL suggestions and feedback | 2 | 06 March 2007 17:20 |
Landover's Amiga Arcade Conversion Contest | Frog | News | 1 | 28 January 2005 23:41 |
|
|