Use the Sam2695 Dream MIDI chip

From F256 Foenix
Jump to navigationJump to search

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