Roland JX8P, JX10, MKS70 and PG800 Info
The Roland JX8P, JX10 and MKS70 synthesizers use essentially the same 6-note polyphonic voice boards - the 8P having one board and the JX10 and MKS70 having two.
The voice boards feature an 8051 microcontroller which is responsible for the control of the DCOs, software generation of the envelopes and LFO, and control over the analogue filter and VCA sections, as well as the on-board analogue chorus.
The voice boards do not have any storage themselves beyond holding the current tone. They are controlled by the assigner board via an internal serial connection.
The assigner board features a Hitachi 6303 microcontroller, which shares it's memory with a custom Roland keyboard scanning IC which notifies the CPU of any keyboard activity by raising an interrupt.
It is the assigner processor which is responsible for patch and tone storage and editing, the front panel interface, midi reception and (indirectly) transmission, voice allocation and so on.
The assigner processor communicates with the voice boards as follows:
The synth's midi input is connected to the serial input on the assigner CPU.
The serial output from the assigner CPU is connected to both serial inputs of the voice board CPUs.
The serial output from only one of the voice board CPUs is then connected to the synth's midi output.
The assigner CPU uses illegal 'midi' commands to tell the voice boards whether it wishes to speak to a specific voice board, whether it wants to address both voice boards at the same time, or if it wants the voice board connected to the midi output to pass the data on to the outside world.
Once the assigner has established that it is speaking to the voice boards, it uses further non-standard commands to configure the current tone parameters, and also to set the pitch and gate status of each voice.
The PG800 programmer provides a full set of tone edit controls for the Roland JX8P, JX10 and MKS70 synthesizers.
The same commands used by the assigner CPU to control the voice boards are also output by the PG800 programmer in response to slider movements, with an extra command to store the tone.
As the assigner CPU only has one serial interface (in and out), the PG800 is connected to it via a synchronous serial interface.
In this type of interface, the device that is receiving the data (the synth) is responsible for sending a clock pulse to the transmitting device (the PG) for each data bit it is to receive.
Once the assigner CPU has received a command from the PG800, it pretty much just passes it straight on to the voice boards. It also stores the changed parameters in the edit buffer in case the user decides to store the edited patch.
PG800 commands are in a two byte format. The first byte is the command, the second is the data.
The commands are as follows:
|Command (hex) ||Voice Param |
|81||DCO1 WF .|
|83||DCO1 LFO .|
|84||DCO1 ENV .|
|86||DCO2 WF .|
|8A||DCO2 LFO .|
|8B||DCO2 ENV .|
|8C||BEND LFO .|
|8F||DCO DYNA .|
|90||DCO MODE .|
|91||MIX DCO1 .|
|92||MIX DCO2 .|
|93||MIX ENV .|
|94||MIX DYNA .|
|95||MIX MODE .|
|96||HPF FREQ .|
|97||VCF FREQ .|
|98||VCF RES .|
|99||VCF LFO .|
|9A||VCF ENV .|
|9B||VCF KEY .|
|9C||VCF DYNA .|
|9D||VCF MODE .|
|9F||VCA DYNA .|
|A1||LFO WF .|
|A3||LFO RATE .|
|A4||ENV1 ATT .|
|A6||ENV1 SUS .|
|A7||ENV1 REL .|
|A8||ENV1 KEY .|
|A9||ENV2 ATT .|
|AB||ENV2 SUS .|
|AC||ENV2 REL .|
|AD||ENV2 KEY .|
|AF||VCA MODE .|
For futher information on the electrical properties of the interface, refer to the JX8P and PG800, JX10 and MKS70 service manuals, which are still available from Roland.
Last update: 3rd March 2001