I’ve been intrigued by SymbOS for a while, and being able to play with it was the main reason I wanted to try and port the CPCTrex core to a more current FPGA platform at some point (a task that will be tackled sometime between “one of these days” and “the heat death of the universe”, mainly because of the need for some kind of CompactFlash-to-SD bridge component.) However, SymbOS runs on MSX as well (and could in theory be ported to anything Z80-based provided it has enough RAM), so now I have the OneChipMSX core at my fingertips, I can finally give SymbOS a whirl.
There was just one thing missing – a mouse!
The official OneChipMSX platform has gameports that support the bidirectional pin required to read a real MSX mouse. Without extra hardware the DE1 has no gameports at all, and the Chameleon64 can use gameports on either the Docking Station or an actual C64, but has no support for bidirectional pins – so clearly I was going to need some kind of mouse emulation. Luckily there’s plenty of capacity in the control module I added to the OneChipMSX core to handle a PS/2 mouse, so adding MSX mouse emulation has been this weekend’s project.
Setting up SymbOS would have been quite tricky, since the OneChipMSX provides BIOS modules to handle accessing the SD card, but SymbOS disables the BIOS. Luckily, Caro provides a complete, ready-to-go SymbOS installation on the DE1 port’s official page: http://www.caro.su/msx/ocm_de1.htm
Once I’ve done a little more testing, I’ll release a TC64 binary with mouse emulation support.