<< Newer | Article #220 | Older >> |
Neurotica
When I first started working on the Midway Zeus 3D hardware, I was hopeful that the so-called "Zeus 2" chip would follow logically from the original. So it was with heightened expectations that I started looking at Cruis'n Exotica and The Grid, during a couple of free days I had off.
Sadly, my wishes did not come true. While the second generation Zeus chip shares a few fundamental concepts with the original, there is quite a lot about it that is very different. For example, the Zeus 2 renders to a 32bpp framebuffer instead of 16bpp, and directly accepts some parameters in the wacky TMS3203x floating-point format rather than requiring the main CPU to convert everything to integers first. But even worse, all the registers and data formats are different, so it's like starting from scratch again.
It's been pretty frustrating making progress, but at least I have something to show. The game is "playable" as long as you don't mind not seeing large chunks of geometry and enjoy having your view blocked by the background. But at least textures and colors seem to be mostly right, and the geometry is fundamentally there, if a bit mis-sorted.
The Grid is proving even more problematic, demonstrating a fundamental flaw in the TMS3203x interrupt handling that is causing me to rework it in the core and then fix all the other games that use it.