Picture on the screen!

A project log for Poly94

Yet another faux-retro game system

Martin CejpMartin Cejp 05/25/2022 at 20:250 Comments

This marks a major milestone of a working (-ish) framebuffer with software 3D rendering. It is slow to the extreme (the screenshot indicates 36 ms per frame, but this is actually 36 seconds as the poor 32-bit nanosecond-resolution timer had to be slowed down in order not to overflow during a single frame!)

The system diagram illustrates some of the current limitations:

I am using the public domain sdram_pnru controller, hacked up to support burst transfer which is needed for frame buffer output. This controller was originally written with generic clock domain crossing support, which adds extra synchronization cycles to every transaction. The plan is to write a new controller which will better fit the platform's needs.

The CPU is also compiled without any hardware multiply support and so on. There is a lot of work ahead.