3D pipeline now fully functional

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Andrew Davie


What is shown in this video works on real Atari 2600 hardware. That is, if you put this on a cartridge, plug it in, then any genuine Atari 2600 will run it. It will work just fine on a PlusCart with latest firmware. Please read my forum for details on implementation - the PlusCart provides an ARM chip on the cart which this demo uses for the 3D calculations. The '2600's TIA hardware chip is doing all the display for the TV; that is, the picture you see here consists of just one colour per scanline, 40 pixels resolution for playfield, and uses the two 8-pixel wide sprites and multiplexing.

Shown here is a few resets and random ships (3 of) while I variously rotate the camera and move forward/backwards. The ship positions change as expected, and all the scaling and rendering appears to be working correctly.

This was a particularly hard task for me and took some time. Although we have an ARM, there's only a small amount of time per frame available for the ARM to do its stuff - and all the code is written as a sort of cooperative multitasking behemoth - for the ARM chip also needs to service the 6507's request for bytes from the ROM. We don't have interrupts running; just a polling system. Timing is critical.  Aside from all that, just getting my head around the correct 3d processing math has taken me some time.