A closer look at the OSD/Control Module

Part 1 – an overview, and some details of the On-Screen Display

Both the OneChipMSX and PC Engine cores on this site make use the ZPUFlex processor to provide a bootstrap, control and OSD module.  Let’s take a closer look at this control module:

The control module needs to provide the following services:

  • Load a ROM from SD card (holding the host core off the SD card during the process, if necessary)
  • Provide an On-Screen Display, toggled by the F12 key.  The on-screen display must be generated in a form that can be merged with the host core’s video output.
  • Prevent keystrokes reaching the host core while the OSD is displayed
  • Allow various options to be set, and the settings to be read by the host core
  • Perform any high-level peripheral translation (keyboard-based gamepad emulation for the PC Engine core, mouse emulation for the OneChipMSX)

Continue reading

A new core…

NEC PC Engine!

Some months ago Gregory Estrade (AKA Torlus) created a PC Engine FPGA core which is available on GitHub – however his original version was targetted to the DE1 dev board, making use of the Flash memory and switches.  I’ve spent my very limited coding time over the last few weeks adding a control module, very similar to the one I added to the OneChipMSX core, and ported it to the Chameleon and MIST boards.

The project now has a page here.SHarrier