Use the Sam2695 Dream MIDI chip: Difference between revisions

From F256 Foenix
Jump to navigationJump to search
(fleshed out a first draft of the sam2695 midi out page, midi in has to be filled in when more will be known)
 
m (typos)
Line 5: Line 5:
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<br>
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<br>


Here's a reference list of General MIDI instrument by number: https://www.ccarh.org/courses/253/handout/gminstruments/<br>
Here's a reference list of General MIDI instruments by number: https://www.ccarh.org/courses/253/handout/gminstruments/<br>


=== Steps in order to use MIDI OUT ===
=== Steps in order to use MIDI OUT ===
Line 12: Line 12:


Send a MIDI command through 0xDDA1 in rapid sequence.
Send a MIDI command through 0xDDA1 in rapid sequence.
For example, a middle C sent to MIDI channel 0 at moderate speed would be the bytes:<br>
<br>


Moderately heavy middle C to channel 0: 0x90, 0x40, 0x40<br>
Moderately heavy middle C to channel 0: 0x90, 0x40, 0x40<br>

Revision as of 10:13, 2 November 2024

Sam2695 Dream IC is in the F256K2 and F256Jr2 only

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/

Steps in order to use MIDI OUT

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


Steps in order to use MIDI IN

to do: revise this with an accurate procedure.


0xDDA0 is a control register - full usage is unknown

0xDDA1 is the serial data register - unknown how to use it in a MIDI in context

0xDDA2 and 0xDDA3 are the low and high bytes representing the count of buffered midi bytes in the FIFO buffer