Discussion about the Korg PolySix synthesizer group photo

Yahoo Groups archive

Discussion about the Korg PolySix synthesizer

Index last updated: 2026-03-31 14:03 UTC

Thread

Specs available

Specs available

2003-09-04 by riccardo231057

Do you know if the specs of the sound of the tape interface is
available somewhere?

I will like to build a patch editor for my Polysix (easy task), to
group patches in set of 32 (easy too) and to self generate the wav
for that bank (not so easy).

So, what I need to know is the base sound (shape and frequency) and
its modulation related to values encoding.

Thanks a lot for any help.

Riccardo

Re: [PolySix] Specs available

2003-09-04 by The Old Crow

Here is my info on the tape data:

/* start clip from file */

Korg Polysix Tape Format

Info from Old Crow's Synth Shop

The tape interface is a simple one, based on the Kansas City Standard
for FM data-to-tape. A tape dump looks like this:

1) 10,240 "1" bits of leader tone
2) A 2-byte header; the 2 bytes are 0x50 and 0x36 (ASCII "P6")
3) 512 bytes of patch data for 32 patches
4) One-byte checksum of data
5) 1,536 "1" bits of trailer tone

Bytes are framed by one "0" start bit and two "1" stop bits, making
a single byte actually use 11 bits. Also, note that bytes are sent
LSB *FIRST*. That is 0x50 = 0b01010000 is sent 00001010.
LSB^ ^MSB

The "0" and "1" bits are designated by waveforms with periods of 640us
(1562.5Hz) and 320us (3125Hz), respectively. Note that the waveform
polarity is irrelevant, for example a "1" bit can be represented by a
_ _ _
_| |_ or by a |_|. Only the interval matters. Thus, 0x50 encoded in
FM data format with 1 start and 2 stop bits can appear as either of:
_ __ __ _ _ _ _...
Case#1: |__| |__| |__| |__| |__| |_|

Start bit->0 0 0 0 0 1 0 1 0 1 1<-Stop bits
__ __ __ __ __ _
Case#2: _| |__| |__| |_| |_| |_| |_...

\LSB____ 0x50 ____MSB/

The checksum is just the lower 8 bits of the sum of all 512 bytes of
the RAM data (carry outs of the sum aren't even stored; they just
"fall off" the data byte each time it exceeds 0xFF).

/* stop clip from file */

I made a simple PIC circuit with the factory patch data coded in ROM so
I can reload repaired boards without fumbling with tape recorders and
levels. Just connect it to the tape in jack, set the tape load mode
on the P6 and hit the single button on the PIC widget to zap the data
across.

Crow
/**/

On Thu, 4 Sep 2003, riccardo231057 wrote:

> Do you know if the specs of the sound of the tape interface is
> available somewhere?
>
> I will like to build a patch editor for my Polysix (easy task), to
> group patches in set of 32 (easy too) and to self generate the wav
> for that bank (not so easy).
>
> So, what I need to know is the base sound (shape and frequency) and
> its modulation related to values encoding.
>
> Thanks a lot for any help.
>
> Riccardo

Re: [PolySix] Specs available

2003-09-05 by Riccardo (Oggi)

Crow,
thanks a lot for your fast and punctual reply.

If I will build something interesting I'll let you know.

Riccardo
----- Original Message -----
From: The Old Crow
To: PolySix@yahoogroups.com
Sent: Friday, September 05, 2003 1:11 AM
Subject: Re: [PolySix] Specs available



Here is my info on the tape data:

/* start clip from file */

Korg Polysix Tape Format

Info from Old Crow's Synth Shop

The tape interface is a simple one, based on the Kansas City Standard
for FM data-to-tape. A tape dump looks like this:

1) 10,240 "1" bits of leader tone
2) A 2-byte header; the 2 bytes are 0x50 and 0x36 (ASCII "P6")
3) 512 bytes of patch data for 32 patches
4) One-byte checksum of data
5) 1,536 "1" bits of trailer tone

Bytes are framed by one "0" start bit and two "1" stop bits, making
a single byte actually use 11 bits. Also, note that bytes are sent
LSB *FIRST*. That is 0x50 = 0b01010000 is sent 00001010.
LSB^ ^MSB

The "0" and "1" bits are designated by waveforms with periods of 640us
(1562.5Hz) and 320us (3125Hz), respectively. Note that the waveform
polarity is irrelevant, for example a "1" bit can be represented by a
_ _ _
_| |_ or by a |_|. Only the interval matters. Thus, 0x50 encoded in
FM data format with 1 start and 2 stop bits can appear as either of:
_ __ __ _ _ _ _...
Case#1: |__| |__| |__| |__| |__| |_|

Start bit->0 0 0 0 0 1 0 1 0 1 1<-Stop bits
__ __ __ __ __ _
Case#2: _| |__| |__| |_| |_| |_| |_...

\LSB____ 0x50 ____MSB/

The checksum is just the lower 8 bits of the sum of all 512 bytes of
the RAM data (carry outs of the sum aren't even stored; they just
"fall off" the data byte each time it exceeds 0xFF).

/* stop clip from file */

I made a simple PIC circuit with the factory patch data coded in ROM so
I can reload repaired boards without fumbling with tape recorders and
levels. Just connect it to the tape in jack, set the tape load mode
on the P6 and hit the single button on the PIC widget to zap the data
across.

Crow
/**/

On Thu, 4 Sep 2003, riccardo231057 wrote:

> Do you know if the specs of the sound of the tape interface is
> available somewhere?
>
> I will like to build a patch editor for my Polysix (easy task), to
> group patches in set of 32 (easy too) and to self generate the wav
> for that bank (not so easy).
>
> So, what I need to know is the base sound (shape and frequency) and
> its modulation related to values encoding.
>
> Thanks a lot for any help.
>
> Riccardo


Yahoo! Groups Sponsor
ADVERTISEMENT




To unsubscribe from this group, send an email to:
PolySix-unsubscribe@egroups.com

PolySix "Digiest" Page: http://www.acc.umu.se/~amber/Poly6

Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


[Non-text portions of this message have been removed]

Re: [PolySix] Specs available

2003-09-08 by Riccardo (Oggi)

Crow,
thanks to your info, generating a WAV encoding P6 parameters is no longer a problem.

But now I miss another couple of things:
1) parameter sequence: which comes first, which second etc. etc.
2) parameter values range.

Can you help me on this too?

Thanks a lot
Riccardo
----- Original Message -----
From: The Old Crow
To: PolySix@yahoogroups.com
Sent: Friday, September 05, 2003 1:11 AM
Subject: Re: [PolySix] Specs available



Here is my info on the tape data:

/* start clip from file */

Korg Polysix Tape Format

Info from Old Crow's Synth Shop

The tape interface is a simple one, based on the Kansas City Standard
for FM data-to-tape. A tape dump looks like this:

1) 10,240 "1" bits of leader tone
2) A 2-byte header; the 2 bytes are 0x50 and 0x36 (ASCII "P6")
3) 512 bytes of patch data for 32 patches
4) One-byte checksum of data
5) 1,536 "1" bits of trailer tone

Bytes are framed by one "0" start bit and two "1" stop bits, making
a single byte actually use 11 bits. Also, note that bytes are sent
LSB *FIRST*. That is 0x50 = 0b01010000 is sent 00001010.
LSB^ ^MSB

The "0" and "1" bits are designated by waveforms with periods of 640us
(1562.5Hz) and 320us (3125Hz), respectively. Note that the waveform
polarity is irrelevant, for example a "1" bit can be represented by a
_ _ _
_| |_ or by a |_|. Only the interval matters. Thus, 0x50 encoded in
FM data format with 1 start and 2 stop bits can appear as either of:
_ __ __ _ _ _ _...
Case#1: |__| |__| |__| |__| |__| |_|

Start bit->0 0 0 0 0 1 0 1 0 1 1<-Stop bits
__ __ __ __ __ _
Case#2: _| |__| |__| |_| |_| |_| |_...

\LSB____ 0x50 ____MSB/

The checksum is just the lower 8 bits of the sum of all 512 bytes of
the RAM data (carry outs of the sum aren't even stored; they just
"fall off" the data byte each time it exceeds 0xFF).

/* stop clip from file */

I made a simple PIC circuit with the factory patch data coded in ROM so
I can reload repaired boards without fumbling with tape recorders and
levels. Just connect it to the tape in jack, set the tape load mode
on the P6 and hit the single button on the PIC widget to zap the data
across.

Crow
/**/

On Thu, 4 Sep 2003, riccardo231057 wrote:

> Do you know if the specs of the sound of the tape interface is
> available somewhere?
>
> I will like to build a patch editor for my Polysix (easy task), to
> group patches in set of 32 (easy too) and to self generate the wav
> for that bank (not so easy).
>
> So, what I need to know is the base sound (shape and frequency) and
> its modulation related to values encoding.
>
> Thanks a lot for any help.
>
> Riccardo


Yahoo! Groups Sponsor
ADVERTISEMENT




To unsubscribe from this group, send an email to:
PolySix-unsubscribe@egroups.com

PolySix "Digiest" Page: http://www.acc.umu.se/~amber/Poly6

Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.


[Non-text portions of this message have been removed]

Re: [PolySix] Specs available

2003-09-08 by The Old Crow

I don't know exactly, but I'll give an educated guess:

There are 16 bytes per patch. Presuming the bytes are stored in RAM in
their hardware address order, you have:

1st byte: Effect Speed/Intensity knob
2nd byte: Filter Fc knob
3rd byte: Filter EG intensity knob
4th byte: Filter Q (resonance) knob
5th byte: Attack knob
6th byte: Decay knob
7th byte: Sustain knob
8th byte: Release knob
9th byte: Filter keyboard tracking knob
10th byte: PW/PWM knob
11th byte: PWM speed knob
12th byte: MG (LFO) speed knob
13th byte: MG delay knob
14th byte: MG level knob

15th byte: switch bits for VCO oct (2 bits), waveform (2 bits),
subosc mode (2 bits) and MG destination (2 bits).

16th byte: switch bits for EG VCA mode (1 bit), effect mode (2 bits),
attenuator (4 bits).

I don't know exactly which bit values mean which setting for the
switches. Best way to figure that out is just a little trial and error.

The 14 knob values are at 8-bit resolution.

Hope this helps,

Crow
/**/

On Mon, 8 Sep 2003, Riccardo (Oggi) wrote:

> Crow, thanks to your info, generating a WAV encoding P6 parameters is no
> longer a problem.
>
> But now I miss another couple of things:
> 1) parameter sequence: which comes first, which second etc. etc.
> 2) parameter values range.
>
> Can you help me on this too?

Re: [PolySix] Specs available

2003-09-08 by Riccardo (Oggi)

Crow,
don't know where in the world you are, but I am in debt with you!

Thanks again.

Riccardo

----- Original Message -----
From: The Old Crow
To: PolySix@yahoogroups.com
Sent: Monday, September 08, 2003 9:36 AM
Subject: Re: [PolySix] Specs available



I don't know exactly, but I'll give an educated guess:

There are 16 bytes per patch. Presuming the bytes are stored in RAM in
their hardware address order, you have:

1st byte: Effect Speed/Intensity knob
2nd byte: Filter Fc knob
3rd byte: Filter EG intensity knob
4th byte: Filter Q (resonance) knob
5th byte: Attack knob
6th byte: Decay knob
7th byte: Sustain knob
8th byte: Release knob
9th byte: Filter keyboard tracking knob
10th byte: PW/PWM knob
11th byte: PWM speed knob
12th byte: MG (LFO) speed knob
13th byte: MG delay knob
14th byte: MG level knob

15th byte: switch bits for VCO oct (2 bits), waveform (2 bits),
subosc mode (2 bits) and MG destination (2 bits).

16th byte: switch bits for EG VCA mode (1 bit), effect mode (2 bits),
attenuator (4 bits).

I don't know exactly which bit values mean which setting for the
switches. Best way to figure that out is just a little trial and error.

The 14 knob values are at 8-bit resolution.

Hope this helps,

Crow
/**/

On Mon, 8 Sep 2003, Riccardo (Oggi) wrote:

> Crow, thanks to your info, generating a WAV encoding P6 parameters is no
> longer a problem.
>
> But now I miss another couple of things:
> 1) parameter sequence: which comes first, which second etc. etc.
> 2) parameter values range.
>
> Can you help me on this too?



[Non-text portions of this message have been removed]