Use the Sam2695 Dream MIDI chip
From F256 Foenix
Sam2695 Dream IC is in the F256K2 and F256Jr2 only[edit | edit source]
The MIDI specification from MIDI.org can be found in the organization's website https://midi.org/specs
There are many tutorials and overview of useful MIDI commands, here is one of them: https://www.cs.cmu.edu/~music/cmsip/readings/MIDI%20tutorial%20for%20programmers.html
Here's a reference list of General MIDI instruments by number: https://www.ccarh.org/courses/253/handout/gminstruments/
Register Name | Address | Description |
---|---|---|
MIDI_STATUS | 0xDDA0 | Read: Bit[1] = Rx_empty, Bit[2] = Tx_empty |
MIDI_FIFO_DATA_PORT | 0xDDA1 | read and write Data Port |
MIDI_RXD_COUNT_LOW | 0xDDA2 | Rx FIFO Data Count LOW |
MIDI_RXD_COUNT_HI | 0xDDA3 | Rx FIFO Data Count Hi - Only the 4 first bit are valid |
MIDI_TXD_COUNT_LOW | 0xDDA4 | Tx FIFO Data Count LOW |
MIDI_TXD_COUNT_HI | 0xDDA5 | Tx FIFO Data Count Hi - Only the 4 first bit are valid |
Steps in order to use MIDI OUT[edit | edit source]
MIDI OUT picks data from your program and sends it out to the SAM2695 chip as well as the MIDI Out port to an external device.
Send a MIDI command through 0xDDA1 in rapid sequence.
Moderately heavy middle C to channel 0: 0x90, 0x40, 0x40
Changing the instrument of channel 0 to a Slap Bass 1: 0xC0, 0x24