RetroCade example: "Really Dumb MIDI monitor"


offroad

Recommended Posts

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

 

Hi,

 

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.

 

Notes:

  • 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.

140101_PapilioPro_MIDI_monitor.zip

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.