Some months ago Gregory Estrade (AKA “Torlus”) created a PC Engine core for the Altera DE1 board. Over the last few weeks I’ve taken a similar approach with this as I took with the OneChipMSX, generalising the core and making it buildable for multiple boards.
So far I have it building for MIST, Chameleon and DE1 (though I’ve temporarily disabled sound for the DE1 because I’ve run out of block RAM.)
I’ve used my ZPUFlex variant of the ZPU processor to handle ROM loading and OSD control, and also provide emulation of a gamepad – using cursor keys, right alt and ctrl, and Enter and Right shift to replace the Run and Select buttons, respectively.
F12 brings up the on-screen display menu where you can enable or disable scanlines, change screenmode, reset the core and load ROMs. It’s possible to save a configuration, but the core can’t create files, so you’ll need to copy an example config file to the SD card before saving.
Full source can be found here: https://github.com/robinsonb5/FPGAPCE
After checking out the source, you need to pull in the ZPUFlex submodule, like so:
git submodule init git submodule update