The Juno-106 has two CPU:s both are NEC 87AD cpus, model numbers uPD7810 or uPD7811. The 7810 models all have external Eprom:s for the CPU code. Some of the 7811 versions have external Eprom. The 7811s in my chopped-down Juno have CPU-internal masked ROM which cannot be read out, which is why I bought an older CPU card on e-bay.
Both ROM images are 4096 bytes.
The MAIN CPU seems to take care of:
- Scanning of front panel Sliders and buttons
- Scanning the keyboard
- Storing / recalling patch setting from battery-backed RAM
- Receiving MIDI data
- Signalling the SLAVE CPU upon keyboard action or MIDI events
From the schematics it seems plausible that the MAIN CPU talks to the SLAVE
cpu with MIDI-like messages. This model is used in the JX-10 (which is
another project that may appear on this web server some day) and makes it
easy to receive MIDI data, since the MAIN CPU then just have to forward the
incoming MIDI message onto the SLAVE CPU which then produces the correct
voltages for the note to start playing.
The SLAVE CPU seems to take care of:
- Generating control (pitch, envelope, lfo) voltages for DCOs, VCFs and VCAs
- Generating control signals for Chorus and HPF (fed to JACK board where those circuits are placed)
The SLAVE CPU generates control voltages by putting a 12-bit value onto the PB and PC ports, which is D/A converted in an external R/2R resistor network. This voltage is time-divided into 23 time slots?!?, where for example time slot 0 is noise level, and time slot 6 is DCO CV for voice 3 (found in Juno-106 service manual). The frequency of this pattern is 238 Hz (i.e. each control voltage appears on the CV pin 238 times per second). Had this frequency been higher, the Juno could probably have had much snappier envelopes than it currectly has.
I have received the CPU board with external Eprom from a guy in the US
The 4kb eprom image has been disassembled and I am now trying to identify the various subroutines in the NEC 7811 code.
Started looking at the CPU Initialization parts.
Got a son, time just isn't there for this...
Got another son. An endless wait for assembler time...
Managed to control unison detune (spread) from the portamento knob by modifying 43 bytes of voice-CPU code!!
More hopefully to come in the near future.
Back: To chapter one