RGB to HDMI
The RGBtoHDMI interface converts the "digital" RGB video signal from the BBC Micro or Electron to HDMI compatible with most modern TV/Monitors. The interface comprises a Raspberry Pi Zero and a specially designed Hat containing a small CPLD. Custom firmware on the Raspberry Pi, in conjunction with the CPLD, is able to correctly sample each of the Beeb's video modes to give a pixel-perfect rendition.
RGBtoHDMI is currently at the prototype stage - just 10 have been hand-built and allocated to keen Stardot members.
For support, please use the Stardot Thread
The main challenge with this project was successfully sampling Mode 7 on the Beeb.
The difficulty here is that the pixel spacing is very uneven:
This is because of the way the Beeb generated the 6MHz clock from 2, 4 and 8MHz clocks:
The clock edges (both are used by the SAA5050) deviate from where they should be with a pure 6MHz clock, but crucially the differences repeat every 6 edges.
The CPLD on the RGBtoHDMI interface allows the pixel sampling points to varied in units of 10.4ns (1/96MHz) over a range of +/- half a pixel. In mode 7, six possible sampling points can be configured, to match the clock skew.
An automatic calibration process is used to set these sample points.