Sunday, September 20, 2015

It moves!

... the cursor that is, by the new keyboard interface.

While I have been fairly busy with other things, I managed to implement and test the VHDL for allowing keyboard input via a simple protocol on one of the PMOD connectors on the FPGA board. This means that the PCB that we have designed for connecting a real C64 or C65 keyboard to the FPGA board will hopefully soon work.  This will be very nice.

Basically there are 8 data lines on a PMOD connector, and there are five PMOD connectors on the Nexys4 board.  We are using just one at the moment to talk to the keyboard/joystick/cartridge port board for now -- this will change later, but we just want to get keyboard and joystick input working nicely first.

On that PMOD, we have one line as clock, another to indicate start of sequence, and then four bits of data from the PCB to the FPGA board.  The last two bits allow for a half-bandwidth back-channel to the PCB, for example to set keyboard/diskdrive LED status, and to set pins on the cartridge port.

The microcontroller on the PCB still needs to be programmed to support this, but I did manage to poke at the PMOD pins with my multi-meter set to current on the clock and data pins and make the MEGA65 think that the right cursor-key was being pressed. This was very nice to see :)

Unrelated in terms of functionality, I also took the opportunity to improve the timing closure in a few places (hopefully I haven't broken sprites in the process :), and change all mention of C65GS and G65 file extensions to MEGA65 and M65, reflecting the new name of thing.

So while this is a rather boring post visually, it does mark a significant step towards having the MEGA65 living in a real case with a real keyboard -- whether that be the desktop or laptop versions.

No comments:

Post a Comment