RetroCade example: "Really Dumb MIDI monitor"

Recommended Posts

(really dumb meaning:All the fun stuff like printf("%02c", byte) happens in RTL state machines)




an example project (attached) for Papilio Pro / RetroCade: All incoming MIDI traffic is dumped to USB serial.

In windows, set up the 2nd USB serial device of the P. Pro board as "virtual com" port.

Use Tera term or the like, and connect to it at 9600 baud. 

Any incoming MIDI traffic will be dumped as hex.

After uploading the bitstream, the LED should turn on while any MIDI key is held down.


The project includes a simple MIDI parser for noteon-/off messages. It remembers the state of all keys (all channels are combined, "omni mode"). Maybe this could be useful for some MIDI music experiments with minimal fuss: Excluding UARTs and FIFO (reused modules), the actual RTL code that does all the work is only about two screen lengths.



  • The clock is tripled to 96 MHz even though it's not necessary (153.6 MHz would probably work, too)
  • Serial IO rate works fine also at 460800 baud (change baud rate divider).
  • if there is need for more throughput (capturing sysex data beyond the FIFO capacity would require 921kBaud, it should work but I haven't tried).
  • Active sensing (0xfe) is suppressed.

  • Like 1

Share this post

Link to post
Share on other sites

Hmmmm, this is very interesting, a verilog MIDI parser. :)


Great work, I need to think about integrating this into the Schematic library for people to use!



Share this post

Link to post
Share on other sites

Alllright. But now for "something completely different": A MIDI monitor that makes some sound.

One octave (only notes 60..71) of lovingly hand-tuned 18-bit sawtooth. Sounds almost like a ... Farfisa. Yikes.

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now