OneChipMSX Mouse support

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.

3 thoughts on “OneChipMSX Mouse support

  1. Hi Alastair, very nice work! I hope you can add the mouse support to the Chameleon too.

    In the video, are you using the BIOS MSX3? Is there any advantage of using it over BIOS MSX2?

    The line you typed: “SYMBOS D032 -FDOCM2.DRV”, can be launched also executing the SYMB.BAT file, correct?

    And the last question (for now :-), it seems that the MSX supports joysticks with two buttons. Does the CDTV Remote Control button “B” corresponds to the second button of the joystick?

    Thanks! Best regards, Juan

    • The Chameleon now has mouse support too (just a matter of wiring up the right signals in the toplevel.) I’ve just uploaded the binary.

      I don’t know enough about MSX in general to say whether there’s any real advantage to using the MSX3 BIOS – the only real difference I’ve noticed is that the MSX2 BIOS seems to boot in 40-column mode.

      Yes, Symb.bat does the same thing – I hadn’t spotted that!

      And yes, the B button is wired to the second button signal on the MSX joystick port, but not knowing which games support a second button, I haven’t yet tested it.

      Next on the agenda is saving settings to SD card, then testing the NTSC mode with a Minimig-to-Scart cable!

Leave a Reply

Your email address will not be published. Required fields are marked *