One of the biggest mistakes in C='s history was NOT including a byte per pixel mode in AGA, apparently they were holding it over for the AGA+, and the infamous AAA next generation of chips. Erm, now that was wise
.. Anyway, To set the scene, in early 90's 3D was really taking off. These were the days of software renderers, where everybody (including myself) used to write their own engine from the ground up.
While bit planes (as used in the Amiga chipsets OCS/ECS/AGA) are not a huge issue when rendering filled vectors, actually in some ways their a benefit, but when it comes to individual pixel manipulation, it's an extremely clumsy format to read/write to. So one of original Amiga 80's strengths (it's planar video modes) was fast becoming a liability, as Gouraud and Linear Mapping started to become common place in the 386/486/svga games. The reason for this was not the speed of pc machines cpu's, but the video hardware (vga/svga cards) suits this type of pixel rendering, far better than planar does.
The step to AGA gave us the platform to compete easily in terms of visuals, but this was absolutely crippled by the need to translate chunky to planar in software. And thus the holy grail of C2P was born. So the theory is you alloc a slab of memory, and render to it as if it was the frame buffer, so each byte represents a pixel. These are 8bit palette mapped modes. Once your render passes as complete, you translate the chunky frame buffer in fast memory to the native planar format in video memory.
Seems easy enough doesn't it. But it major FPS killer, as to convert an 8bit frame of 320*256 took 6 or 8 frames to complete (68020 14mhz no fast). While this certainly improved over the years, as the infamious 'eor' merge/swap trick and multi pass blitter routines were developed, as well as faster chips became the norm. Today the 060 can comfortable c2p a low res frame buffer inside 1 vertical blank.
This over head crippled serious 3D attempts though, in particular on the stock low end machines, were people wanted to play these games. The user base was crying out for a Wolf3d/Duke Nuke3D a Doom and our only options were to resort to 'chunky copper' displays. Which weren't as nasty to display the scene on (speed wise), but you were limited by how many colour registered could be 'set' per scanline. So the 2*2, 2.5x*2.5, and 3.5 modes were being used. Theres are copper based 'virtuals' screen modes. Great for demos, but you get ugly image quality.
I spent a lot of time in the mid 90's working on a handful of engines/approaches trying to crack a solution. Pretty much did in the very late 90's but by then it was well truly over. What was that solution ?. Strip Buffer -> Planar mapping. The Z based strip buffer eliminates any over draw, and through using 4/5 or 6 plane textures, your render only costs round 1/2 the true (generic) 8 bit c2p.. You can conformably do 4 plane c2p + texture map, on the cpu registers. The palette bands are set by the blitter pass on the back planes. All you do set the 'open/close' strip bit and the blitter fills it for you..
In around 96/97. Steven from Austex Software approach us with a new RGB device he was trying to market, around the time the Graffiti card came out. The device took the rgb signal and rotated them for output. (yes I still have my proto) This allowed us to write chunky directly to video memory, and it would appear as a normal display. The speed difference, well you wouldn't believe it, even a stock 020 14mhz looked like a super computer.
To take this further, C= attempted to attract PC developers to the CD32. This was basically a Amiga1200 + CD drive passed off as a console. After a huge amount of pressure C= added the akiko chip to the consoles chip set, rather than AGA+. Akiko had a hardware c2p translator function, among other things... Anyway, The machine was just crippled by its lack of true fast memory. The custom chips really ate your cpu cycles to the bone (even with double burst enabled 64bit fetch (2 fetchs of 32bits)). As you could easly get twice or more the through put, running your code in true fast. So rather than akikio doing anybody any real favors, it couldn't be fed data fast enough or write to video memory. So the bottleneck remained.
If AGA+ had byte per pixel modes in it in 1992/93, like it was meant to have.. Well, who knows what would have happened, but it sure would made keeping up with the jones, a lot easier.
End of rant.. Yeah, i'm not bitter
Kevin Picone
Play Basic - Visible Worlds - Kyruss II
[url]www.underwaredesign.com[/url]