Archive of the former Yahoo!Groups mailing list: Korg Poly800/EX800 Users

previous by date index next by date
previous in topic topic list next in topic

Subject: Re: [korgpolyex] Re: Decoding 800 Mk1 Cassette Data

From: ASSI <Stromeko@...>
Date: 2012-08-29

On Wednesday 29 August 2012, 18:53:28, bereiden wrote:
> Here is an update to the cassette data format:
>
> byte 1: 0xB3 (I assume this is header info)
> byte 2: 0xBF
> byte 3: 0x00 (MIDI channel - 1)
> bytes 4-259: Sequence data
> bytes 260-270: Chord memory
> bytes 271-290: ??? (so far always 0xFF)

From the Poly800 MkII manual:

2. RAM data structure.

∗The RAM data portion of DATA DUMP data is organized as shown here.
DATA RELATIVE ADDRESS BYTES(decimal)
---- ---------------- --------------

MIDI CHANNEL 000H 1
SEQ DATA 001H~3E8H 1000
(UNDEFINED) 3E9H~3F0H 8
CHORD MEMORY 3F1H~3F8H 8
SEQ MODE 3F9H 1
SEQ CKL 3FAH 1
PROG CHANGE DIS/ENA 3FBH 1
(UNDEFINED) 3FCH~3FFH 4
PROG DATA 4O0H~A7FH 1664


∗Actually, when this data is transmitted on MIDI, each byte
is split at its least
significant four bits and sent starting from relative
address 000H.
(UNDEFINED data does not affect internal operation; it is
only used in the check sum.)

> bytes 291-1634: Patch data
> byte 1635: ??? (different between the factory dump and my Poly
> 800)
> byte 1636: Checksum (unsigned sum of bytes 3 through 1635)
>
> The changes are identification of byte 3 as the MIDI channel, adding the
> chord memory region, and changing the checksum start from byte 4 to byte
> 3.
>
> Note: The chord memory ∗should∗ only need 8 bytes to save an 8-note
> chord, but there are 11 bytes reserved. There may be some other
> information in that region that hasn't been identified yet.

Sound Untangled
---------------
0: Octave 1 (Val&0x03)
Octave 2 (Val&0x0c)>>2
0=Low
1=Mid
3=High
4=undef
Waveform 1 (Val&0x10)>>4
Waveform 2 (Val&0x40)>>6
0=Square
1=Saw
1: Harmonics 1 (Val&0x0f)
Harmonics 2 (Val&0xf0)>>4
1=16'
2= 8'
4= 4'
8= 2'
2: Detune (Val&0x03)
DCO Mode (Val&0x40)>>5
0=Whole
1=Double
Chorus (Val&0x80)>>7
0=On
1=Off
3: Interval min(Val&0x0f,12)
Noise Level (Val&0xf0)>>4
4: EG Int (Val&0x0f)
Polarity (Val&0x10)>>4
0=negative
1=positive
5: Level 1 (Val&0x1f)


6: Level 2 (Val&0x1f)
7: Cutoff min(Val&0x7f,99)

Trigger (Val&0x80)>>7
0=Single
1=Multi
8: MG Freq (Val&0x0f)
MG Delay (Val&0xf0)>>4
9: MG DCO (Val&0x0f)
MG VCF (Val&0xf0)>>4
10: DEG1 A (Val&0x1f)


11: DEG1 D (Val&0x1f)
12: DEG1 B (Val&0x1f)


13: DEG1 Sl (Val&0x1f)

14: DEG1 S (Val&0x1f)

15: DEG1 R (Val&0x1f)

16: DEG2 A (Val&0x1f)
17: DEG2 D (Val&0x1f)

18: DEG2 B (Val&0x1f)

19: DEG2 Sl (Val&0x1f)

20: DEG2 S (Val&0x1f)


21: DEG2 R (Val&0x1f)

22: DEG3 A (Val&0x1f)
23: DEG3 D (Val&0x1f)


24: DEG3 B (Val&0x1f)
25: DEG3 Sl (Val&0x1f)

26: DEG3 S (Val&0x1f)


27: DEG3 R (Val&0x1f)
28: Resonance (Val&0x0f)

Kbd Track (Val&0x30)
0=Off
1=Half
2=Full

Poly-800MkII
29: DDL Time min(Val&0x7f,99)
30: DDL FX Lev (Val&0xf0)>>4
DDL Feedbk (Val&0x0f)
31: DDL ModFreq (Val&0x1f)
32: DDL Mod Int (Val&0x1f)
33: EQ Bass (Val&0xf0)>>4
EQ Treble (Val&0x0f)


HTH,
Achim.
--
+<[Q+ Matrix-12 WAVE#46+305 Neuron microQkb Andromeda XTk Blofeld]>+

SD adaptations for KORG EX-800 and Poly-800MkII V0.9:
http://Synth.Stromeko.net/Downloads.html#KorgSDada