Following on from Part 1, the next stage is to explain how the BBC Micro actually interfaces with the organ to control the notes.
The Switching Circuit in Parallel
The analogue switching circuit for each note looks like this:
The value of each note, ON or OFF, is stored in a 1-bit data latch
The LEDs were originally provided to facilitate trouble-shooting at the development stage, but now provide entertainment for interested spectators! It will be noted that the components are grouped to correspond to the layout of keys on the keyboard:
Here is a short video showing the switching boards whilst the organ plays a familiar tune… (use http://cazm.eu/ernie2u as a shortcut):
Addressing The Latches
The diagram of a sample latching circuit is shown below – there are 4 latches per chip, but there are only two clock lines, each one clocking two latches.
Each latching operation requires two data bits to be distributed to all latch pairs simultaneously, via a network of 74LS04 inverting buffers to provide the necessary fan-out
A single 1-0-1 clock pulse is then routed to one latch pair only, using a 2-to-4 74LS139 decoder and a series of 1-to-16 74L154 demux chips, as shown. This arrangement requires 5 address bits as well as the two data bits and one clock bit.
Each of the 32 5-bit addresses points to a pair of latches, so giving access to a maximum of 64 individual latches. There are only 54 notes on the manual organ, but some of the spare latches are used for auxiliary functions, including the operation of the master switching transistors in th 14V supply to upper and lower halves of the analogue switching board.
Opto-Isolators, Decoders and Buffers
[Left: Latches and Buffers of the latch circuit]
Much of the above hardware is duplicated to provide independent operation of the 30-note pedal organ, but this needs only one additional address line to distinguish between the two sections.
Note address bits – PB0-4
Manual/Pedal select – PB5
Data output bits – PB6-7
Clock line – PA0
Operation of the above hardware is controlled by a machine code program running on the BBC Micro. A user interface in BBC BASIC, normally running in MODE 6, controls the display, selection and loading of items from the music menu. Prior to the transfer of control to the machine code there is provision for setting a number of playing parameters, whose values are passed via the Resident Integer Variables.