User Tools

Site Tools


hgk:sysex

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

hgk:sysex [2015/11/07 14:59] – created michfielhgk:sysex [2015/11/17 12:36] (current) – removed michfiel
Line 1: Line 1:
-==== Multimode ==== 
- 
-In addition to the outdated sysex documentation, at least in firmware 1.15, a protocol for the multimode is implemented 
- 
-^ 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://stackoverflow.com/questions/11704309/how-to-build-a-negative-32-bit-integer-from-bytes-without-a-range-check-error 
- 
-            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; 
  
hgk/sysex.1446904764.txt.gz · Last modified: 2015/11/07 14:59 by michfiel