[sdiy] EX800 sysex?

ASSI Stromeko at compuserve.de
Sun Nov 16 23:25:59 CET 2003


On Wednesday 05 November 2003 22:38, ASSI wrote:
[...]

If anybody is interested, the only request that the EX800 understands 
seems to be the one for the full dump: F0 42 21 01 10 F7 (actually you 
can replace the 21 with anything, but the EX800 will answer with that 
number, which would be a device ID for other KORG synthesizers). Any 
other KORG sysex elicits a NAK response: F0 42 21 01 20 F7. Byte five 
in the full dump is the receive MIDI channel, then comes the sequencer 
data (I have not yet deciphered the format for that). At byte 580 the 
64 consecutive sound dumps start, each is 42 byte long, and at the end 
comes a checksum that I don't know to calculate yet. Playing truncated 
dumps back to the EX800 seems to work, which should enable replacing 
the sequencer data without touching the sounds. The sound format is 
this (offsets from the beginning of each sound):

 0: Octave 1     (Val&0x03)
    Octave 2     (Val&0x0c)>>2
                 0=Low
                 1=Mid
                 3=High
                 4=undef
 1: Waveform 1   (Val&0x01)
    Waveform 2  (Val&0x04)>>2
                 0=Square
                 1=Saw
 2: Harmonics 1 (Val&0x0f)
                 1=16'
                 2= 8'
                 4= 4'
                 8= 2'
 3: Harmonics 2 (Val&0x0f)
                 1=16'
                 2= 8'
                 4= 4'
                 8= 2'
 4: Detune       (Val&0x03)
 5: DCO          (Val&0x04)>>2
                 0=Whole
                 1=Double
    Chorus       (Val&0x08)>>3
                 0=On
                 1=Off
 6: Interval    min(Val&0x0f,12)
 7: Noise Level (Val&0x0f)
 8: EG Int       (Val&0x0f)
 9: Level 1.1    (Val&0x0e)*2
    Polarity     (Val&0x01)
                 0=negative
                 1=positive
10: Level 1.2    (Val&0x03)
    Level 2.1    (Val&0x0c)
11: Level 2.2    (Val&0x07)
12: Cutoff 1     (Val&0x0f)
13: Cutoff 2     min(Val&0x07,6)*16
    Trigger      (Val&0x08)>>3
                 0=Single
                 1=Multi
14: MG Freq      (Val&0x0f)
15: MG Delay     (Val&0x0f)
16: MG DCO       (Val&0x0f)
17: MG VCF       (Val&0x0f)
18: DEG1 A       (Val&0x0f)
19: DEG1 A       (Val&0x01)<<4
    DEG1 D       (Val&0x0e)>>1
20: DEG1 D       (Val&0x03)<<3
    DEG1 B       (Val&0x0c)>>2
21: DEG1 B       (Val&0x07)<<2
    DEG1 Sl      (Val&0x08)>>3
22: DEG1 Sl      (Val&0x0f)<<1
23: DEG1 S       (Val&0x0f)
24: DEG1 S       (Val&0x01)<<4
    DEG1 R       (Val&0x0e)>>1
25: DEG1 R       (Val&0x03)<<3
    DEG2 A       (Val&0x0c)>>2
26: DEG2 A       (Val&0x07)<<2
    DEG2 D       (Val&0x08)>>3
27: DEG2 D       (Val&0x0f)<<1
28: DEG2 B       (Val&0x0f)
29: DEG2 B       (Val&0x01)<<4
    DEG2 Sl      (Val&0x0e)>>1
30: DEG2 Sl      (Val&0x03)<<3
    DEG2 S       (Val&0x0c)>>2
31: DEG2 S       (Val&0x07)<<2
    DEG2 R       (Val&0x08)>>3
32: DEG2 R       (Val&0x0f)<<1
33: DEG3 A       (Val&0x0f)    
34: DEG3 A       (Val&0x01)<<4
    DEG3 D       (Val&0x0e)>>1
35: DEG3 D       (Val&0x03)<<3   
    DEG3 B       (Val&0x0c)>>2
36: DEG3 B       (Val&0x07)<<2
    DEG3 Sl      (Val&0x08)>>3
37: DEG3 Sl      (Val&0x0f)<<1
38: DEG3 S       (Val&0x0f)
39: DEG3 S       (Val&0x01)<<4
    DEG3 R       (Val&0x0e)>>1
40: DEG3 R       (Val&0x03)<<3
    Resonance    (Val&0x0c)>>2
41: Resonance    (Val&0x03)<<2
    Kbd Track    (Val&0x0c)>>2
                 0=Off
                 1=Half
                 2=Full

Once I have figured out how the sequencer data is encoded and the 
checksum calculated I will put the documentation up on my site. If you 
know more and/or have corrections to the above, please get in touch 
with me. I'd also like to know if someone has attempted to disassemble 
the ROM already and knows if one could throw out the cassette interface 
routines in exchange for a more complete MIDI&sysex implementation.


Achim.

-- +<[_Q+_Matrix-12_WAVE#46_microQkb/Omega_XTk/30_sonic_heaven_]>+ --

Factory and User Sound Singles for Waldorf Q, microQ and rackAttack:
http://homepages.compuserve.de/Stromeko#WaldorfSounds




More information about the Synth-diy mailing list