Since Ensoniq refuses to give any technical information about the SQ80
Cross Wave Synthesizer someone had to do the job... I hope this documentation will help the electronically skilled to repair and/or improve their
beloved machine. At least it will give some deeper understanding of what’s
going on inside.
Contents
1Introduction5
1.1What is the (E)SQ family of synthesizers all about?. . . . .6
The SQ80 was released at the beginning of 1988 (at least here Europe) and
was one of the first so-called workstations. It not only was a synthesizer
but also came along with a 8-track sequencer. Obviously, it also featured
multi-timbrality and dynamic voice allocation which was quite a novum.
And as one of the first synthesizers it was equipped with a 3.5” disk drive
- no need for expensive sound cartridges or excessive bulk dump sessions
anymore.
What also made the (E)SQ family of synthesizers a success was the
easy-to-use user interface.Unlike most synthesizers of that time where
one had to select a parameter by number (!) and editing that one again
by number (sometimes even in hexadecimal) the SQ80 came (as its little
brother the ESQ-1) with a big alpha-numeric display and a load of buttons
each being responsible for a group of functions.
Unfortunately, the early Ensoniq synths and accessories for these such
as the single output expansion unit disappeared completely after the first
TransWave
T M
synthesizer – the VFX – hit the market.
5
6CHAPTER 1. INTRODUCTION
OSC #1
OSC #2
OSC #3
DCA #1
DCA #2
DCA #3
VCFVCA/PAN
LFO #2LFO #1LFO #3
EG #1EG #2EG #3EG #4
Sync
AM
1.1What is the (E)SQ family of synthesizers all
about?
The (E)SQ synthesizers aswell as Ensoniq’s first sampler (which was a great
success) are based on the so called DOC chip. This abbreviation stands for
Digital Oscillator Circuit and is the musical heart of all of these machines.
Speaking of the synthesizers we could say that the SQ80 is a superset of the
ESQ-1 offering the following enhancements:
• bigger waveform memory (75 waves including the 32 ESQ-1 waves)
• bigger sequencer memory (64kB by default)
• built-in 3.5” disk drive
• keyboard with polyphonic aftertouch
What makes the (E)SQ synthesizers (even today!) quite interesting is
their great flexibility. They can either sound warm and analog but also cold
and digital. The reason lies in their hybrid nature – digital oscillators but
analog sound processing. The factory presets give a rough overview over the
SQ80’s capabilies but to get a real impression of what this machine can do
should get e.g. the Transoniq Hacker patches.
1.2Synthesis Parameters
Figure 1.1 shows the basic architecture of each voice:
Figure 1.1: Architecture of an SQ80 voice
1.2. SYNTHESIS PARAMETERS7
Unlike modern synthesizers where a single voice mostly consists of an
oscillator plus filters the SQ80 offers 3 oscillators per voice (using 4 oscillators
might have overextended the CPU’s capabilities, I just don’t know) which
gives it a rich base sound. Also pretty nice is that per voice four envelope
generators and three LFOs exist – soundprogrammer’s heaven. Besides, the
SQ80 offers some more features which I will explain as follows:
Gated Mode: Besides some one-shot (not loopable) waveforms the SQ80
offers a special playback mode where an Envelope is only processed
once treating the sustain level as just an ordinary envelope step. This
is nice for producing percussive sounds which don’t need a sustain
phase.
Synchronization: You know that fancy “EEEOOOOW” sounds? It’s the
audible effect of one oscillator synchronizing another. The SQ80 can
produce these, too, since the DOC chip supports oscillator synchronization - unfortunately only between an even/odd pair of oscillators,
that’s why only synchronizing OSC2 by OSC1 is possible.
Amplitude Modulation: Good for making gong sounds or any other
which need disharmonic spectrals. Not quite the same as ring modulation but pretty close.
Oscillator Restart In usual DCO-based synthesizers the oscillator starts
playing back a wave from its very beginning when a key is played.
This is ok for complex waves but results in a static sound when using
short, looped waves such as e.g. SAW. Thinking of analog oscillators
such a reset of the waveform is unnatural (saw oscillators are based
on integrators) - the SQ80 offers both: oscillator reset or free-running
waves. However, this can be only programmed per sound program,
not individual for each oscillator.
LFO Specialties: Instead of a fixed output amplitude the modula-
tion depth of each LFO can be programmed to fade in (or out).
If that’s not enough an assignable modulation depth modulator exists.
Digitally controlled synthesizers tend to offer very static LFOs: As
soon as you hit a key the LFO starts at position 0 of the selected wave
- this is very annoying when using the LFO for e.g. filter sweeps, so
the SQ80’s LFOs can be programmed to be running freely or being
reset by each keystroke. And if you think that digital LFOs sound too
static – switch on the HUMANIZE function!
Envelope Specialties: Not much uncommon here, but for completeness’
sake I’d mention that an envelope generator can be programmed
8CHAPTER 1. INTRODUCTION
to react on key velocity (linear and exponential response) and key
position. What’s really fancy about the envelopes is that the so called
second release which does not really replace a reverb but produces a
similar effect.
Of course the envelopes are not of ADSR-type but a 4 level/rate model.
1.3The sequencer
Normally, on-board sequencers are a nice add-on but nothing more. Not
the SQ80 built-in sequencer which is really useful. It’s a pattern-oriented
sequencer capable of holding up to 20 songs consisting of up to 60 sequences. What makes it so useful is the fact that you not only have a basic
record/quantize/playback functionality but also the capabilites of track
transpose, sequence editing (add/delete bars) and even single step editing
of track contents. Also it contains a very flexible song editor and locator.
Needless to say that the sequencer not only can be controlled by MIDI but
also synchronized to MIDI clock or Tape Sync.
On the “minus” side there’s only few. Have you ever tried to attach a
new volume level to an existing track after having recorded it? On earlier
software versions this is impossible.
1.4Multitimbrality - I need more voices!
The SQ80 was one of the first synthesizers offering multitimbrality which
means that one machine was able to play independent sounds on each voice
(to that time we used the term MIDI multi mode capable which is pretty
the same).
Unfortunately, the SQ80 offers only 8 voices which is not much if you
think of complex arrangements.Fortunately, it has a really neat voice
allocation algorithm (much better as the very static one used e.g. in the
Yamaha SY-77) which can be influenced per sound program individually.
Think of natural instruments - if you play the same note twice the
previously played note will be replaced by the following one. The SQ80
can mimic this behaviour – or disregard nature, just as you like. But keep
in mind that the latter one forces a more aggressive voice allocation since
there’s no oscillator to “recycle”.
Lucky people (such as me :-) own more than one SQ80 – and can easily
daisy-chain these by enabling the overflow mode. This means that any note
1.4. MULTITIMBRALITY - I NEED MORE VOICES!9
which an SQ80 can’t play since all oscillators are used will be handed down
the chain to another SQ80 which might have free resources.
10CHAPTER 1. INTRODUCTION
Chapter 2
Technical Documentation
I’ve asked Ensoniq three times for the original technical documentation of
the SQ80, here’s what they responded:
1. “The schematics are proprietary and not meant to be given away.”
(This was after my naive(?)first-time asking, but hey, I got the
schematics of my Yamaha equipment aswell - and these are far more
high-tech!)
2. “Your work sounds incredible – but we wish you all the best.” (after
telling them that I started to reverse-engineer the SQ80)
3. “Congratulations on your work!” (when finally telling them that I
succeeded in drawing schematics, documenting the OS and creating
an assembly language source code for further OS development)
With no word they told me that they dislike these efforts, neither they
told me to keep that knowledge for myself. So here it comes...
11
12CHAPTER 2. TECHNICAL DOCUMENTATION
Sequencer Memory
DOS Memory
Operating System
System Memory
CPU
DUART
Cart.MIDI
Keybrd.
&
Displ.
Control
Address Decodier
Floppy
Drive
DOC
FDC
2.1System Overview
Basically, the SQ80 is nothing more than a microcomputer with some specialized peripherals. Figure 2.1 gives an overview over the system architecture:
Figure 2.1: Anatomy of an SQ80
Mostly computer stuff, the only dedicated “musical” parts are the DOC
and the analog sound processors. This is a big advantage over other, especially modern synthesizers, since you can get replacement parts from the
next distributor of electronic parts.
2.2. THE ONE WHICH DRIVES IT ALL: MC6809E13
2.2The one which drives it all: MC6809E
The Motorola 6809 was widely used for synthesizers back in the 80’s.
Not only Ensoniq did use it in their (E)SQ synthesizers and the Mirage
samplers, it’s also the heart of e.g. the Oberheim XPander. And even the
DX-7 used some special kind of 6809, the Hitachi 6309 (an improved 6809).
What made the 6809 that attractive was its computing power combined
with a very flexible instruction set. The SQ80 makes heavy use of the 6809’s
specialties:
• loadable system stack pointer S (used for context switching)
• loadable user stack pointer U (used as another 16-bit index register)
• 16-bit index registers X and Y
• 16-bit accumulator D
• fast (integer) multiplication / division
• software interrupts (used for error signalling)
• SYNC and CWAI commands forcing the CPU to wait for an external
interrupt
In the SQ80 the 6809E was used. Unlike the 6809 it’s E–mate could be
completely externally controlled which is needed inside the SQ80 where the
generation of clock signals is influenced by the DOC chip. See p.111 for
details on this processor.
14CHAPTER 2. TECHNICAL DOCUMENTATION
2.3Let there be sound: DOC5503 and CEM3379
Some of you might know that the creator of the DOC, Bob Yannes, was
also the designer of the all famous SID chip which was the sound engine of
the Commodore 64 home computer. Both are based on the same principle:
phase accumulation. This means that the frequency of a digital voice is
not determined by the playback frequency (clock) as it was used in former
drum computers (and which will drive every today’s studio technician mad
since a variable playback frequency won’t fit very well into digital mastering
using fixed frequencies of 44.1kHz or 96kHz), instead the frequency will
be derived from a counter: This counter – roughly said – counts up the
waveform address. If you need to get higher frequencies you increment the
counter steps, for lower frequencies you decrement them. Thus the name
“phase accumulator” – it’s an accumulator where the resulting address is a
phase pointer.
The DOC uses a 24bit counter for this purpose.The frequencydetermining value will be added to the lower 16 bit whereas the higher
bits are used as the phase pointer (which of them will be used can be
programmed, see 107 for details).
The DOC contains 32 digital oscillators and 32 amplifiers aswell as an
output multiplexer to make it possible to route these 32 oscillators to one
out of 16 channels. The SQ80 makes only use of 24 oscillators/amplifiers
and 8 channels. The uppermost channel mux bit is used for selecting either
Wave ROM 0 or 1.
Now the CEM3379: It was designed by Curtis Electromusic and contains an analog 4pole low-pass filter with adjustable center frequency and
resonance. Furthermore it also contains a dual VCA with adjustable gain
and pan position. Each SQ80 voice contains mainly of one CEM3379, the
DOC’s output is routed to the desired CEM3379 using an ordinary 4051
multiplexer.
2.4. THE ART OF DISK STORAGE15
2.4The art of disk storage
The SQ80 uses standard 3.5” DD disks for storage of programs, program
banks and sequencer data. As disk controller it uses the Western Digital
WD1772 which was quite common in the 80s, the same chip is used e.g.
inside the Atari ST machines and the Commodore 1581 disk drive.
The disks have a fixed geometry: Although one disk may hold up to
880kB of data it’s not possible to make dynamic use of a disk in a way
of storing e.g. up to 220 program banks or up to 8834 single programs.
Neither it is possible to store more than 10 sequencer files even if they don’t
make use of the entire disk. Instead the fixed disk geometry causes the well
known layout of 10 sequencer/sysex files, 40 program banks and 128 single
programs – which unfortunately most of the time is just wasting disk space.
2.4.1Track Layout
Some of you might have tested it: It’s almost impossible to copy a SQ80
disk using standard PC drives.This is due to the fact that Ensoniq –
in their eternal wisdom – decided to use a very special disk format. Not
only that they use a fixed disk layout (which is understandable in terms of
complexity: A fixed disk layout is just way easier to program and needs less
administration – on the other hand it wouldn’t have been a big problem to
modify the SQ80 hardware to have additional ROM space which would be
needed for the implementation of a “real” DOS making dynamic use of the
disk space), they also use a special track/sector layout:
• sectors 0 to 4 hold 1024 data bytes each
• sector 5 holds 512 data bytes
The reason why a lot of PC disk controllers fail to read and even
write these disks is the change in sector size inside a track. Whereas the
WD177x family can perform single sector reads and writes older PC floppy
controllers such as the NEC 765 or Intel 8278 based ones can only read and
write a single track. More modern ones like Intel 82077 and newer are at
least able to read and write single sectors – but not format these individually.
Have you ever wondered why the SQ80 won’t format a disk where
your PC formats it without bad sectors? That’s because Ensoniq formats
DD disks to their limit (880kB / 901120 bytes) – which also made the
Commodore Amiga be very sensitive to cheapo disks. (Mean trick: Let the
SQ80 format and complain, then put the disk into your PC and copy disk
images using the SQ80 Toolkit onto it.
16CHAPTER 2. TECHNICAL DOCUMENTATION
2.4.2Disk Directory Structure
The disk directory consists of two parts: The first part is responsible for
“big files”, namely sequencer memory dumps and sound banks. Thus, it
holds 50 entries of the following structure:
typedef struct directory_entry {
char type;
char name[10];
int size;
} de_t;
Size and type are only vital for sequencer files since they tell, guess
what... File size is measured in bytes, but the file type needs some more
explanation:
/* standard file types */
#define FREE0/* unused */
#define OS1/* operating system */
#define BNK2/* program bank */
#define SNG3/* all sequence (song) */
#define SEQ4/* one sequence */
#define SYX5/* system exclusive */
#define PRG6/* single program */
I guess you get it from the above table. The very first entry is used for
unused or deleted file, the second one is not used on the SQ80 and is a
remnant of the good old Mirage times - it’s reserved for bootable system files.
But what about the single program files? It’s definitely not true that
you need to extract the program names from a program files PCB structure
- if that would be the case you’d hear annoying floppy noises each time
you access the DISK/LOAD/PROGRAM menu. Instead, the file names are
listed just behind that 50 “big” entries.
2.4.3Sequencer Memory Dumps
This kind of files occupies the first and biggest disk partition, you will find
these at the following locations (format: start c/h/s, end c/h/s):
Looks easy? It indeed is - but not as simple as it looks like. Your SQ80
is a lazy guy which changes disk sides only when it’s necessary. This means
a multi-track read goes like this: c/0 – c/1 – c+1/1 – c+1/0 – c+2/0 and
so on. To mark whether the head has changed before or not bit 4 of the
head byte is used - if it is set to 1 it forces a head change together with the
next track change.
But there’s even more: On sector 5 of the end track/side there’s additional information stored such as song names. You’ll see the side effects of
this when discussing the storage of single program files.
2.4.4Bank Files
Program bank file storage is easy: Each bank occupies 4 long sectors on
disk starting with track 64 and ending with track 79. Banks 1 to 20 will be
stored on side 0, banks 21 to 40 on side 1 of a disk. Each bank consist of
40 single program dumps organized as PCBs.
In the directory structure these files are marked with file type 2 (BNK)
and size 0.
2.4.5Program Files
Getting a program file’s position on disk is a tricky task. In theory the single
programs reside on the remaining (read: not occupied by the directory)
sectors 5 of a disk – but remember what I said about the sequencer files:
These need another 10 short sectors which leads to the following routine:
Needless to say that the storage format – again – is PCB.
2.5. WHAT COMES IN, MUST COME OUT - THE I/O SUBSYSTEM19
2.5What comes in, must come out - the I/O subsystem
Big words for a small chip - but indeed the MC2681 DUART is a vital part
of any SQ80 since it’s responsible for the following functions:
• MIDI communication (Serial Port A)
• communication with keyboard processor (Serial Port B)
• communication with panel processor (Serial Port B)
• tape I/O
• cartridge presence checking
• disk head access
• disk change detection
• selection of voltages to be sampled
• OSROM low bank switching
• SEQRAM selection and bank switching
• metronome click generation
• timing
To be more precise, the input and output lines are used for the following
tasks:
InportTaskOutportTask
0Tape In0Disk Head
1Disk Change Detection1Multiplexer Bit 0
2Cartridge Detection2Multiplexer Bit 1
3500Hz Interrupt3Multiplexer Bit 2
4500Hz Interrupt4Metronome Click Generation
51kHz Interrupt5Metronome Click Generation
61kHz Interrupt6Tape Out
-7Tape Out
Table 2.1: Additional DUART tasks
20CHAPTER 2. TECHNICAL DOCUMENTATION
2.6The system software
Now this is something which really impressed me: The SQ80 has a really
nice multitasking real-time operating system (RTOS). Normally, you don’t
get in contact with the mysteries of this OS, but just for completeness’ sake
I’ll give a rough overview:
2.6.1OSRAM
The OSRAM needs to be ”formatted” since some vital data structures are
stored here, the most relevant one is the context table which is responsible for
proper task switching. Since the OSRAM is battery buffered (it also holds
the sound programs) you normally don’t run into problems, even when you
need to replace the battery after some years (mine is doing fine for over
11 years now), since the OS checks for an empty OSRAM during reset and
reformats it if necessary. When upgrading the OS ROMs this check might
fail and you need to reformat it manually (see 2.6.3 for details).
2.6.2Cartridge
You know the cartridge as something to hold program banks.Like the
OSRAM it also holds some status data which is explained below:
0x3FFD: set to 0 if cartridge bank B contains data, 0xff else
0x3FFE: set to 0 if cartridge bank A contains data, 0xff else
0x3FFF: set to 0x01 if cartridge contains program banks, it’s also possible
to take over the system if 0x55 is stored here.
If a cartridge is present or not is detected by the DUART’s input port
2.
2.6.3Hidden Functions
Yes, the SQ80 offers hidden functions which are not mentioned in the Musician’s Manual. You can reach these by pressing RECORD with one of the
following keys:
COMPARE
Analog Voltage Check
FILTER
With this function the SQ80 recalibrates its filters. This is to ensure
that all 8 voices have (nearly) the same filter response parameters unfortunately, this tuning is responsible for the SQ80’s filter not being
able to self oscillate: The filter tuning parameters are calculated in a
way that self-oscillation is just impossible.
2.6. THE SYSTEM SOFTWARE21
MASTER
Prints the OS version. The latest version released by Ensoniq was 1.8,
unfortunately there’s no official support anymore but if you are able
to program EPROMs yourself you’ll find the images on my web page.
MODES
If you ever wondered who built the SQ80 call this menu.
Soft Button 1
Reinitialization (“OSRAM Formatting”) - as mentioned above this
function is needed after an OSROM upgrade.
Soft Button 6
Warm Reset. Nice idea, but jams the machine - at least on OS versions
1.7 and 1.8.
SPLIT/LAYER
Keyboard recalibration.
22CHAPTER 2. TECHNICAL DOCUMENTATION
Chapter 3
Troubleshooting
Almost all eMails I get concerning the SQ80 are about the synthesizer behaving strange or not working at all. On the following pages you’ll find hints
about what might cause misbehaviour and how to fix it.
23
24CHAPTER 3. TROUBLESHOOTING
3.1General problems
The system won’t come up...
If your SQ80 does not come up at all, showing a blank display and
no reaction to any MIDI message or key pressure its most likely the
power supply. Check for blown fuses or dried-out capacitors. If that’s
not the problem replace U6 and/or U10.
I’ve upgraded the OS and now the system doesn‘t come up!
Just press RECORD together with soft button 1 (the upper left above
the display). This will perform a complete reset including reformatting
the OSRAM. Afterwards, everything should be ok again. If not check
the OSROMs for correct placement.
Display says that the battery voltage is low.
Just replace it. Any 3V to 5V lithium battery will be fine. If you don’t
find the battery on the motherboard you should probably leave that
step to somebody who knows on which side the soldering iron heats...
The pedal won’t work.
Check cabling. Otherwise replace U33 – if that doesn’t help either
your DOC is f*cked up, try to get one from a used/dead Apple IIGS,
ESQ-1 or SQ80. Or send it to me so that I can make an expander
version out of it.
The wheels won’t work.
Check pedal cabling. Rest see above.
My cartridge isn’t recognized.
Check if cartridge is formatted. Check cabling. Check presence of 5V
at pin x of U6 while cartridge is inserted. Voltage found? Build a new
cable using new connectors. If that won’t help replace U6. If you did
not find the voltage replace U2 to U4.
There are no metronome clicks anymore.
Replace U39. If that doesn’t help replace U44. If that didn’t help
either replace U6.
I can’t hear anything.
Check pins 6 and 9 of U44 if it gets any signals. If this is not the case
replace U39, otherwise replace U44.
Some voices are missing.
Check pin 8 of U40-43, U45-48 playing an 8-note chord. If one or more
doesn’t get an input signal replace U36. If that doesn’t help search for
a new DOC and replace U27.
3.2. MIDI MYSTERIES25
The voices are stuck!
Check sustain switch. Replace U33.
The sustain switch doesn’t work.
See above.
The pedal doesn’t work.
Check pedal. Replace U33.
The Sequencer switch doesn’t work.
Check switch. Replace U33.
If they all get input signals identify the one which does not output a
signal on pin 15 and 17 (be sure to have pan set to 8 with no modulation while testing this) and replace it.
3.2MIDI mysteries
I can’t send MIDI messages, but receiving them is fine.
Replace Q1 to Q4. If that doesn’t help, replace U6.
I can’t receive MIDI messages,but sending them is fine.
Replace U12. If that doesn‘t help, replace U6.
I can only receive/send some MIDI messages.
Duh! Go to MIDI menu and enable the desired messages.
3.3Keyboard Trouble
During reset display says keyboard is disabled!?
Check cabling. Power the system on and check U6 pin 10 and 11 for
serial communication. If you don’t see anything at pin 10 replace U1
(68HC11) on the keyboard PCB – otherwise replace U6.
I get keyboard processor errors.
Check cabling. Replace U1 (68HC11) on the keyboard PCB. If that
doesn’t help replace U6.
Keyboard calibration fails all the time.
Check cabling. If that doesn‘t help try to get a new keyboard ASIC
or send the SQ80 to me to make a nice expander version out of it.
The SQ80 won’t leave keyboard calibration.
Check cabling. Check keyboard PCB for cold soldering spots. Check
serial communication (see above).
My keyboard doesn’t work – but I get no error message!
Duh! Go to MASTER menu and enable it.
26CHAPTER 3. TROUBLESHOOTING
3.4Storage Hassles
I get more and more read/write errors.
Clean the drive using an ordinary cleaning diskette – or be tough and
clean the drive heads using Q-tips and isopropanole.
If that won’t help replace the drive. Any 720kB drive with shugart
bus will do the job.
The drive doesn’t show any reaction.
Check cabling. Replace U24 and U29. If that won’t help, replace U9.
3.5Panel Problems
I can’t see anything...
Check cabling. Check for correct display voltage. If that’s not the
problem check/replace the display drivers. If that won‘t help, send
the SQ80 to me to make a nice expander version from it since either
the display itself or the panel CPU is broken. No replacement possible.
Some keys won’t work.
Remove the panel PCB and clean the contacts.
Some keys are stuck.
Remove the panel and clean the keys / holes.
3.6Flaky Tape
I can’t load from tape.
Replace U25. If that doesn’t help replace U6.
I can’t sync in.
see above
I can’t write to tape.
Replace U6.
I can’t sync out.
see above
Appendix A
Parts List
#TypeDescriptionTask
Q12N3906MIDI out
Q22N3904MIDI thru
Q32N3906MIDI thru
Q42N3906MIDI out
Q6JE182Amplification
Q7Amplification
U174LS04hex inverter
U274ALS2458x bidir. buffer/driverCartridge Data
U374ALS2448x buffer/driverCartridge Address/Control
U474ALS2448x buffer/driverCartridge Address/Control
U574LS1614bit counterTimer
U6MC2681, SCN2681DUARTCommunication & Control
U774LS103x 3-input NANDmisc. Cartridge
U874LS004x 2-input NANDClock Generation
U9WD1772FDCDisk Drive Control
U10MC6809ECPUCentral Processing Unit
U1174LS742x D-type FFQ-Clock Generation
U126N138opto couplerMIDI in
U1374F1392x 2-to-4 muxAddress Decoding
U144364-15SRAM 8kx8OSRAM
U1574F1392x 2-to-4 muxAddress Decoding
U1627C256-20EPROM 32kx8OSROM high
U1774LS2448x buffer/driverDOC Addressing
U184364-15SRAM 8kx8DOSRAM
U1974F1392x 2-to-4 muxAddress Decoding