In order to support software which modifies attributes and pixels synchronised with the ULA rasterization process, a few changes need to be implemented to fully capture the required data:
- Generate an internal ULA pixel clock of 7MHz / 7.0938MHz so we can "track" what ULA is rendering
- "raster" the internal framebuffer data similarly as ULA does to a second framebuffer
- Expose this new framebuffer to the system with per pixel-line attributes.