code:goftersysex
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | code:goftersysex [2015/11/19 15:00] (current) – created michfiel | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ==== Multimode ==== | ||
+ | |||
+ | In addition to the outdated sysex documentation, | ||
+ | |||
+ | ^ Label ^ Value ^ Description | ||
+ | | MULR | 01h | Multi Request | | ||
+ | | MULD | 11h | Multi Dump | | ||
+ | |||
+ | ==== User Wavetables ==== | ||
+ | |||
+ | ^ Label ^ Value ^ Description | ||
+ | | WTBD | 12h | Wavetable Dump | | ||
+ | |||
+ | A wavetable dump is used to transfer wavetable data to the Blofeld. Each wavetable is transferred as 64 consecutive wave dumps. | ||
+ | |||
+ | ^ WT ^ WN ^ Location | ||
+ | | 50 | 00..3F | Wavetable 80, Wave 1..64 | | ||
+ | | 76 | 00..3F | Wavetable 118, Wave 1..64 | | ||
+ | |||
+ | ==== Sample Code ==== | ||
+ | |||
+ | Convert a 21 bit signed integer (provided in three 7-bit characters) into a 32 bit signed integer | ||
+ | |||
+ | http:// | ||
+ | |||
+ | uint32 sample = | ||
+ | (sysex[kWavetableDataOffset + index * 3 + 0] << 14) | | ||
+ | (sysex[kWavetableDataOffset + index * 3 + 1] << 7) | | ||
+ | (sysex[kWavetableDataOffset + index * 3 + 2] << 0); | ||
+ | | ||
+ | if (sample & 0x00100000) { | ||
+ | sample |= 0xfff00000; | ||
+ | } | ||
+ | | ||
+ | curWavetable.data[wave][index] = (int)sample; | ||
code/goftersysex.txt · Last modified: 2015/11/19 15:00 by michfiel