[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