0 ratings0% found this document useful (0 votes) 160 views126 pagesSpectrumHardwareManual 2ndedition
ZX Spwectrum Hardware manual
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here.
Available Formats
Download as PDF or read online on Scribd
© 1983 Adrian Dickens
All rights reserved. This book is copyright and no part may be copied or
stored by electromagnetic, electronic, photographic, mechanical or
any other means whatsoever except as provided by national law. All
enquiries should be addressed to the publishers:
IN THE UNITED KINGDOM —
Melbourne House (Publishers) Ltd
Castle Yard House
Castle Yard
Richmond, TW10 6TF
IN AUSTRALIA —
Melbourne House (Australia) Pty Ltd
2nd Floor, 70 Park Street
South Melbourne, Victoria 3205
ISBN 0 86161 1152
Edition 5432
Printing FED CBA987654321
Year 90 9 a8 87 6 BS Bs
ee RkACKNOWLEDGEMENTS
| would like to acknowledge the contributions of the many people
who have provided valuable assistance and suggestions for
improvements to the book. Alfred Milgrom of Melbourne House
was very helpful from the start. My many friends at Cambridge,
especially Mark Plumbley and Julian Bane were always prepared
to discuss technical problems and provide suggestions for im-
provements. My brother Nigel and John Kimmitt at Churchill
College proof read the book. The continuous support of both my
parents was invaluable. Finally, | will be grateful to receive any
further suggestions from Spectrum users for improvements to the
book.
iCONTENTS
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Introduction ....-.......--+ bbeeseene aeeae de
General overview of the complete Spectrum ....... 9
The power supply — how the Spectrum
supplies work — current limits — adding your
OMe Tene ee eke gees Col wa: 40 15
The Z80A central processing unit — what it
does— pindescriptions .........seeeeeeee rene 23
Video and program memory .......-----.....+++ 27
The BASIC readonly memory . settee + 3T
The Keyboardiss ey oes ee ee een 33
The Uncommitted logic array — what it
does — pin descriptions — avoiding video
memory conflicts — interrupts — clocks
— keyboard and cassette input — cassette,
‘buzzer and border colour outputs
— amplifying the buzzer ....--....--.-- Peet i
The memory expansion sockets —
upgrading to 48K
The video circuit -- - . seeeeeeeeeees 55
Tuning the Issue 2 circuit for better
quality displays — changing the colour or
POY SCAIC occ secceesecseceenteeeecestensneres 58
The Edge connector — contact by contact
description Sette amt ae mne tne nteeneenEe G2)
Fault diagnosis — no display? —
No colour? — random graphics? ...-.-- 0.0.1... 65Chapter 14 Experimenting with the edge connector —
construction hints — using the accessible
signals — RESET, INT, IORQGE, NMI, HALT
—1281/O ports .. i en 67)
Chapter 15 Adding a Z80A PIO chip — a practical example 74
Chapter 16 Adding your own povmcane — aconstruction
Brot echae ne rn peer eee ane EERO)
Chapter 17 Adding Sinclair compatible joysticks
— construction project — APOLLO game
programpinuuectantcsaeet ine cmsees Vat apes 64
Chapter 18 Constructing an 8 channel analogue to
digital converter — use as a ei oa
—drawingaprogram ...... eee 90.
Chapter 19 Adding a Centronics Parallel printer
interface — the hardware and software ...-...... 96
Chapter 20 connecting a Video Monitor to your
A
A
B
c
D
Es
IN’
Spectrum - a in aed meee Le
PPENDICES
Glossary 109
References
Parts list cross reference
Component layout diagram
Complete circuit diagram
INDEX) :.32<:--. scaseeenaes, sta darertesss sevens 1211. INTRODUCTION
The ZX Spectrum as supplied includes an introductory booklet and a Basic
programming manual. These books together contain virtually no detailed
information on the hardware aspects of the computer. This book fills in that gap by
providing an in depth look into how the Spectrum works. For the absolute
beginner who knows nothing about computer hardware, this book provides a
good introduction to what makes a computer tick. For the advanced electronics
wizard who is desperate to use his Spectrum to perform all sorts of weird and
wonderful tasks, this book also holds the key, by providing invaluable circuit
diagrams and operational descriptions.
Starting off by explaining the fundamental principles behind the Spectrum's
operation, the book progresses with full descriptions of how each part works and
how all of the parts interrelate. After a complete’ explanation of all the edge
connector signals, simple illustrative experiments making use of these signals
are given. The remainder of the book consists of practical circuits which you can
build. Constructional hints, drawings and photographs are included to help
beginners with no previous experience.
All of the Spectrum circuit diagrams contain component numbers such as TR4.
These are generally the codes printed by the components on the Spectrum circuit
board. There is a full layout diagram of the Spectrum board together with marked
positions for each component in Appendix D. The complete circuit diagram can
be found in Appendix E. You should refer to these appendices if you wish to find
the position of any components, The component codes given for the additional
hardware projects refer to the parts list for the project, not to the main Spectrum
parts list.
There are currently three different versions of the Spectrum in circulation. The
first 60,000 machines were ‘Issue 1’, the next half-a-million were ‘Issue 2’, and all
new machines are ‘Issue 3’. Earlier editions of the Hardware Manual dealt with
the Issue 1 Spectrums. This edition only deals with Issue 2 and Issue 3
Spectrums. Whilst the differences between these two types of Spectrums are in
most areas minor, certain features on the Issue 2 are no longer present on Issue
3's. Major differences are described in the relevant chapters as they occur. Some
minor differences, such as a new capacitor or resistor are not included on all of
the circuits throughout the book. However, the full circuit diagrams in Appendix E
show all of these differences.
Before we start delving deeper into the intricacies of hardware. a few words of
warning will be given. The Spectrum contains a lot of sensitive and expensive
chips. These will not be damaged provided that you take adequate precautions. If
you are adding any kind of interface to the Spectrum, always switch off all power
supplies before making the connection to the Spectrum. Always switch on the
Spectrum before or simultaneously with any external power supplies. Finally. if
you are testing vanous voltages inside the Spectrum or on its edge connector,
take care not to short any pins together by mistake. Check and double check
everything you do!
PLEASE NOTE — whilst every effort has been made to ensure that all
information given in this book is correct, no responsibility can be accepted for any
errors which may have occured. All Spectrum circuits are the copyright of Sinclair
Research Limited. Other designs and programs are the copyright of the author.
7.
VIDEO MODULATOR
ULA 280A ROM
cpu
ISSUE 2 BOARD
VIDEO «VIDEO AND PROGRAM — 32K ADDITIONAL — BUZZER
CIRCUIT MEMORY MEMORY
VIDEQ CIRCUIT 280 CPU
VIDEO MODULATOR ULA HEATSINK ROM ISSUE 3 BOARD
VIDEO AND PROGRAM MEMORY 32K ADDITIONAL MEMORY es
PLATE 1 —PHOTO OF MAIN SPECTRUM BOARD & ANNOTATIONS
8
HOLWd
MNISLW3H
a
ie
c
S
YOLVINDSY AS+2. GENERAL OVERVIEW OF THE SPECTRUM
This chapter is essentially in two parts. The first part aims to introduce the basic
concept of binary numbers. The second part explains each of the main sections of
the Spectrum in a general way
SECTIONA
Computers are essentially two state devices. They rely upon logic to operate
This logic can be in one of two states only. For convenience, these two states are
usually represented by a 0 and a 1. At its simplest level, the computer
manipulates 1's and 0's to produce the answers. Consider for example the simple
operation of addition. This could be represented by a black box with two inputs, A,
B and two outputs C, D. A and B could be added together to produce their sum
represented by C and D. The addition would be carried out by several simple
transistors inside the black box. The addition function would be defined in binary
as follows
A +B =D (sum) & C(carry)
0+0=0 0
O+1=1 0
1+0-=1 0
Vee 0 1
Note that 1 + 1 cannot equal 2 because in the binary number system, only 0
and 1 can be used. The carry bit here is similar to that in the decimal number
system. If we added 8 + Q, this would give 7 carry 1 in the decimal number
system. The difference is that a carry in binary represents 2, whereas it
represents 10 in decimal.
SECTIONB
In the following descriptions of the various sections within the Spectrum, you
will find it helpful to refer to the overall block diagram in fig 1
The central processing unit (CPU) is. as its name implies, central to the
operation of the Spectrum. It is connected to other parts of the computer by data,
control and address buses (more about these later). The CPU in the Spectrum is
a Z80A and lives inside the large chip IC2 at the centre of your Spectrum board
This processor is an 8 bit device which means that there are 8 separate
connections in its data bus. The CPU can send information to other devices in the
Spectrum along this data bus and the other devices can send data back to the
CPU via the same bus. Because there are eight connections, each one of which
can be either a logic 0 or a logic 1, any number between 0 (all 0's) and 256 (al! 1's)
can be sent via the data bus (255 = 2" 1).
You may wonder how the CPU can understand very large decimal numbers or
words typed at the keyboard when it is using BASIC. After all, if you type HELLO.
at the Spectrum keyboard it might be difficult to see how this can be represented
by a number between 0 and 255. in fact, the answer is not very difficult. The CPU
‘oniy deals with a small part of the operation ata time. To understand HELLO, the
CPU first deals with the H (seen by the CPU as 72 decimal), then it deals with EMEMORY
ADDRESS
BUS
CONTROL
ULA
eeu
KEYBOARD.
CASSETTE
RECORDER
FIG 1 — SPECTRUM BLOCK DIAGRAM
VIDEO
10
cpu
TELEVISION(seen as 69 decimal) and so on (see Appendix A of your Spectrum BASIC manual
for a complete list of characters and their decimal equivalents). Large decimal
numbers are dealt with in a similar way. Each decimal number is stored in the
Spectrum in 5 bytes of memory. Chapter 24 of the BASIC manual explains how
these bytes are used.
Before the CPU can actually start doing anything, it must be instructed what to
do. The instructions for running BASIC are held in memory. The BASIC operating
system program contains all of the information required by the CPU to
understand BASIC. This operating program is written in machine code and starts,
to run when you switch the Spectrum on. The actual program is stored in the read
only memory (ROM) chip ICS. Read only memory cannot be modified by the CPU
and the program remains fixed in the memory chip even when the power is
switched off.
The BASIC programs which you enter into the Spectrum go into random
access memory (RAM). Unlike the ROM, this type of memory can be changed by
the CPU, When the power is switched off, RAM forgets everything that was stored
inside it. You therefore have to save your programs on a cassette before
switching off. if you do not, the program will be lost forever
Having found what to do from the program in ROM, the CPU must get inputs
from the keyboard or cassette and send outputs to the video display or cassette.
The uncommitted logic array (ULA) helps the CPU to interface with the outside
world. The ULA gets information directly from the keyboard and cassette inputs
This information is then sent to the CPU. When the CPU wants to record a
program on cassette or buzz the buzzer, it tells the ULA to do it. Output to the
television is rather more complex. The ULA copies the screen output from the
video memory to the video output circuit 50 times every second. This creates the
illusion of a continuous display. Alll that the CPU has to do when it wants to output,
to the TV display is to put the video information into the video memory. The ULA
then does the rest
So far, transfer of information between the CPU, memory. ULA, keyboard ete.
has been taken for granted. How is it actually done? All data is transferred via the
data bus. The type of transfer being carried out is defined by various control
signals on the control bus. For example, the CPU sends out a read signal if it
wishes to read some data from the ULA or memory. This tells the ULA or memory
to send some datato the CPU. Ifthe CPU wishes to output something to be stored
in memory, it sends out a write signal. This (ells the memory that it must store the
data from the data bus. So that the memory knows where it should store the data,
the CPU also supplies an address on the 16 bit address bus. The address bus
therefore allows the CPU to send or read data from up to 2"" = 65536 different
memory locations.
The buses can only deal with the two logic states 0 or 1 on each of their lines. in
practice, these logic states are represented by voltages. By convention (so that
most modern computer integrated circuits are compatible with one another),
logical 0 is represented by a voltage between 0 volts and 0.8 volts. Logical 1 is
represented by a voltage between +2 volts and +5 volts (the maximum supply
voltage for logic chips). If the voltage is between 0.8 volts and 2 volts, the signal is.
in the process of changing from O—1 or 1—0. All logical data transfers occur
within these voltage limits. The chips are designed so that they are not reading
data at times when it may be changing
1You should now have a basic understanding of the blocks which make up the
Spectrum, The following chapters explain each of these blacks in much greater
detail. Each block is considered in isolation, but you should always try to
remember how it is connected into the rest of the system. The full circuit diagram
of the logic systems which make up the Spectrum can be found in Appendix E.
You can refer to this diagram if you have any difficulty in seeing how the individual
circuits interconnect
12ISSUE 2 80ARD
PLATE 2 —PHOTO OF MAIN SPECTRUM BOARD
WITH POWER SUPPLY OUTLINED3. THE POWER SUPPLY
The power supply of any computer is probably the piece of circuitry most often
overlooked by the user. The computer is connected to the mains supply and it
comes to life. Itis just taken for granted that the correct currents and voltages will
be generated. It you are going to add on your own hardware however, a complete
understanding of the power supplies is necessary. This chapter therefore takes a
close look at that forgotten piece of circuitry and its limitations. The chapter
explains how to make the most of your Spectrum power supply. It also provides
circuits for additional power supplies tor use with your external circuits.
In the Spectrum, all of the power comes in at +9 volts at a current of up to 1.2
amps. This is supplied from a ZX Mains Power Supply. Unfortunately, none of the
chips in the Spectrum use a 9 volt supply. Most of the logic, including the CPU.
operates from a +5 volt supply. The video circuit requires +12 volts supply as
well. The video memory chips are most awkward of all, requiring + 12v, +5v and
5v all at once!
The problem isn't simply one of producing a supply that is roughly constant at
roughly the right voltage for most of the time. The +5 volt supply must be within
5% of +5 volts and the +12v and —5v supplies within 10% of their nominal value
all over the circut all of the time. Even a microsecond’s drop in voltage could spell
disaster. How are these constant voltages produced?
THE +5 VOLT SUPPLY
This is the major supply in the Spectrum. In the 48K version itis really stretched to
its limit supplying a full 1 Amp of current. Looking at the regulator, you will see that
itis bolted onto a large piece of aluminum. The little +5 volt regulator integrated
circuit with only three connections to the outside world, contains complex
regulation circuitry.
Referring to fig. 2a, the 7805 regulator accepts +9 volts at its IN pin. The
internal regulation circuitry then reduces this to +5 volts at the OUT pin. The fact
that the input is +9 voltsis irrelevant (except for the amount of dissipated power).
It could equally well have been anything from +7 volts to +25 volts, the output
would still remain at a steady +5 volts. You might wonder where the lost 4 volts
has gone to. Itis dissipated as heat by the aluminum heatsink. When the regulator
is supplying 1 amp, 4 watts have to be dissipated by the heatsink (about one
quarter of the heat from a small soldering iron!). That's why the Spectrum soon
gets quite hot after it is switched on
THE +12 VOLTS SUPPLY
The 5 volt supply was relatively easy to produce. 4 volts were simply dropped by
the regulator. Producing the +12 volts with only +9 volts available is rather
more complex. Referring to fig 2b, TRS, TR4 and their associated components
produce the 12 volt supply. TRS forms a current feedback for the oscillator formed
by C43, R61, L1 and TR4 (the main power drive transistor). Operation of the
circuit relies upon the induced reverse voltage across L1 which occurs on every
cycle of oscillation. This reverse voltage pushes the collector of TR4 up above 9
volts to a maximum of about + 13 volts. At this level, 015 conducts to charge up
the +12 volt supply capacitor C44. C44 then discharges to provide a constant
15+12 volts to the memories and video circuit when 15 is not conducting. If the
+12 volt supply starts to fall too low, this causes TRS to conduct more. The
oscillation frequency of the oscillator then increases, boosting the voltage back
Up to its original level
THE —5 VOLT POWER SUPPLY
Again reterto fig 2b, The ~ 5 volt part of the circuit consists of C46, 011, R55, D12,
D16, R54 and C47. This circuit operates on the “charge pump principle”
Remember that the collector of TR4 in the 12 volt circuit is oscillating rapidly
between about + 13 volts and 0 volts. When rising up to 13 volts, C46 is charging
via D11 up to a maximum of about 12 volts (0.7 volts are dropped across all silicon
diodes during conduction). When the collector of TR4 drops to 0 volts, this pushes
the negative plate of C46 down to ~ 12 volts. C47 then charges via D12 and R55
from C46, The voltage across C47 is held constant at —5 volts by the zener diode
D17. C46is then charged up again on the next oscillator cycle and so on.
CURRENT LIMITS
Currents which can be drawn from the Spectrum's own internal power supply tor
use by external circuits are fairly limited. For the 16K Spectrum, about 300 mA
extra can be taken from the +5 volt supply. The absolute maximum limits are
rather difficult to define. Generally, the more you take from the power supplies,
the worse the regulation becomes. Bad regulation can cause the computer to
crash more frequently, but shouldn't cause any damage provided that you stay
within the limits recommended above. For 48K Spectrum owners, it is advisable
to add an extra +5 volt supply for all external circuits. The current limits on the
other supplies are similar to those for the 16K version.
THE —12 VOLT SUPPLY
You may now be wondering what has happened to the —12 volt supply. It is
shown on the edge connector in the Sinclair BASIC manual. However, it isn’t
shown on the main circuit diagram. In fact, it doesn't exist. The “—12 volt’
connection was wrongly labelled. it should really be ‘unregulated + 12 volt’, since
itis connected to the collector of TR4. Luckily, itis very easy to use this oscillating
+ 12 volt supply to produce a — 12 volt supply, with the addition of a few common
components.
Referring to fig 2c, you will almost instantly recognise a circuit very similar to
that for the ~5 volt supply in the Spectrum. It works on exactly the same charge
pump principle. No zener diade has been incorporated in this circuit, because the
33 uF capacitor charges up to 12 volts anyway and is therefore at the correct
voltage. Regulation of this type of circuit is never very good under load. The
voltage will rise to about ~ 10.5 volts if you take 20mA from the circuit, so thisis the
recommended maximum current. If you decide to build the circuit then make sure
that the two capacitors are rated at 16 volts or above. Apart from this, none of the
component values are critical
EXTRA +5 VOLT SUPPLIES
For all but very low current circuits on the 48K Spectrum (such as the simple
resistor and switches type of experiments in this book), you will have to add an
external power supply. The same will apply to the 16K version if you want to draw
more than 300 mA from the +5 volt supply. In either case, you have two options:
16
aerial ae a ee259
tee
Pi nen a
pearl [com |
Oe ome
— =
]
+ —— oh
FIG 2a — +6volt POWER SUPPLY CIRCUIT DIAGRAM
7 )
iy FROM +8 FROM MAINS
aos. POWER PACK
REGULATOR
rig 20)
FIG 2b ~ +12volt AND-5volt POWER SUPPLY CIRCUIT DIAGRAM
7AlddNS 9Z1— YO LINDYID TWNOILIGGY — 9% Old
LoopNt
ACLS
10 4
LINdYiD
WNHLO3BdS:
dO 183Y OL
nzit +
an
181. Using the ZX Power supply
There will be some extra current capacity available from your +9 volt Spectrum
supply, especially if the +12 volt supply is not fully loaded. The author found it
quite acceptable to obtain up to 500 mA more from the ZX supply. The circuit for
doing this is shown in fig 2e. Only that part of the circuit to the right of the figure is
required. This circuit is basically identical to the one used inside your Spectrum.
Connect the 7805 regulator as shown in fig 2d. its input pin being connected to +9
volts. This pin diagram shows a view looking down onto the black plastic part of
the regulator, which has the device number stamped on it
Do not forget to bolt a heatsink onto the regulator. Small vaned heatsinks of a
suitable type are available from most good electronic stores. A cheap alternative
is to bolt a piece of aluminum onto the regulator. A piece similar in size to that in
the Spectrum will do nicely. C1" in fig 2e should be included to help regulation.
22uF at 16 volts will do. Another 22 uF capacitor should also be included across
the output. It is advisable to scatter some 0.1 uF decoupling capacitors around as
well. About one for every two chips should be sufficient. The +5 volts provided by
this circuit should not be connected to your main Spectrum +5 volt supply rail
Only the 0 volts connection should be made to all chips.
‘coMMoN
Tor view
FIG 2d — 7805C 1 AMP/S VOLT REGULATOR PIN CONNECTIONS,
192. Using an extra mains supply unit
The full circuit is shown in fig 2e and will provide up to 1 Amp at «5 volts. instead
of connecting pin 1 of the regulator to the Spectrum + 9v supply. asin the previous
example, it should be connected to the new +9 volt supply. This extra ~9 volt
supply consists of a 240v to 9 volt at 1 amp mains transformer, a 1 amp bridge
rectifier (BR1) and a large 1000uF +25 volt smoothing capacitor C1, You must
ensure that the mains transformer is safely wired up. Build it into an earthed metal
case. The 7805 can then be bolted to the case, which will act as the heatsink.
Accessible mains connections must be avoided to eliminate the possibility of an
electric shock. Apart trom the differences mentioned above, the circuit is identical
to that described in section 1
You should ensure that the mains supply is connected to your extra power
supply at the same time as the Spectrum. If power is not applied simultaneously.
some chips could be damaged. because they don't like to have voltages applied
to any of their pins without power being applied to them
DECOUPLING CAPACITORS
The power supplies are distributed all over the main Spectrum board. Therefore,
ita chip on the far side of the board from the power supply suddenly requires extra
current, a localised drop in voltage could occur. If the voltage drops too iow (even
for a microsecond), it could be enough to destroy essential data and programs
stored in memory. Supply ‘decoupling capacitors’ are therefore placed at
strategic positions around the board. They are able to smooth out the supply by
providing large currents for short penods of time. The voltage 1s therefore held
approximately constant C1—C8 around the memory chips are there for this
reason, as are the other capacitors around the board connected across the
supply rails. You should put some around any external circuits which you build as
well. One 0. 1uF capacitor for every two chips should be enough
20Be
FIG 2e — ADDITIONAL +5 VOLT POWER SUPPLY
ee
21ISSUE 2 BOARD
PLATE 3— PHOTO OF MAIN SPECTRUM BOARD
WITH Z80A CHIP OUTLINED
224. THE Z80A CENTRAL PROCESSING UNIT
This is the microprocessor chip itself. Housed in its 40 pin plastic package, this
chip is the computing centre of your Spectrum. It is the big chip labelied IC2 in
Appendix D. The CPU is able to perform several basic functions. These are:
Read data from memory
Write data to memory
Read data from an input/output (I/O) device
Write data to an I/O device
Perform arithmetic and logical operations on data
What the Z80A does at any particular time is determined by the instructions
which it obtains from memory. There are 158 different types of instructions which
the Z80A can understand. Programming the Z80A in machine code is a complete
subject in itself. You should look at a specialised book on programming if you wish
to know more.
You may have seen other computers using the 280 chip, and wondered what
the difference between it and the ZB0A is. Both are identical in their operation
The only difference is that the Z80A can operate at speeds up to 4MHz whereas
the Z80 can only operate at speeds up to 2.5MHz. More recently, a new chip
called the Z80B has been introduced. This is stil the same as the Z80 chip, but
can operate at speeds up to 6MHz
As was mentioned earlier, the Z80A is an 8 bit microprocessor. It transfers data
8 bits at a time. The first microprocessor chips were 4 bit devices, but now some
microprocessors are 16 bit or even 32 bit devices. They tend to be rather faster
than the 8 bit ones because they can transfer more information in the same time
However, they are much more expensive, so the 8 bit micros are more popular in
home computers.
The ZB0A clock signal runs at 3.5 MHz (except when accessing video/program
memory — see chapter 8) in the Spectrum. All CPU operations are referenced
relative to this clock signal, so the 0—1 and 1—0 transitions must be very fast to
ensure that all operations start each cycle at exactly the same point. This is why
TR3 and its associated resistors and diode are required. The 3.5 MHz clock
signal from the ULA does not have a sufficiently fast logic 0 to logic 1 transition
Since all internal CPU circuits may start at slightly different voltages in the +0.8
volt to +2 volt range, if the time for the clock signal to go from +0.8 volts to +2
volts is significant (in nanoseconds!), different parts of the internal circuitry may
start at different times. If there is a difference in start times, the Z80A may
malfunction. TR3 ensures that the transition at the CPU clock pinis fast enough.
Z80A CPU PIN DESCRIPTIONS*
‘AO — A15 The address bus — tristate outputs (ie 0 or 1 or floating. When
floating, another device can provide the address bus instead of the CPU). This
bus provides 2" = 65536 different addresses for memory data exchanges or
2° = 256 input/output device addresses (the lower eight address lines are used
during 1/0). The CPU can also refresh memory (see refresh pin) by providing
“note that signals with a bar over them such as RD are ‘active low’. This means
that a read is occuring when RD = 0.Normally,1 = trueandO = false but all
Z80A control signals with a bar over them are inverted so that 0 = true and
1 = false
23valid refresh addresses on the lower 7 bits of the address bus
DO — D7 The data bus — these eight tristate bidirectional lines are used for
data input and output transfers with the CPU. Transfers take place between
memory or peripheral devices and the Z80A.
‘Mi Machine cycle one — Output active low. The signal means that the CPU is
currently getting the Op-code for the next instruction to be executed from
memory. Mi also occurs with [ORO to indicate an interrupt acknowledge cycle.
MREQ Memory request — tristate output, active low. This signal indicates to
the memory that the address bus now contains a valid address for a read or write
operation. This signal is required to distinguish between a memory or input/
output operation. For example, MREQ, RD and ROMCS must all be active before
a read from the BASIC ROM can take place (see fig 5).
TORQ input/output request — tristate output, active low. Indicates that the
lower half of the address bus holds a valid 1/O address for an I/O read or write
operation. This signal is required to distinguish between an input/output or
memory operation. Note that [ORQ and MREQ will never be active at the same
time.
AD Read — tristate output active low. Indicates that the CPU wishes to read
from memory or an I/O device. The addressed device should use this signal to
put the relevant data onto the CPU data bus.
WR Write — tristate output, active low. Indicates that the CPU daia bus holds
data to be stored at the addressed location, or output to the selected 1/0 port.
Memory should use this signal to store the data from the data bus.
AFSH Refresh — output active low. Indicates that the lower 7 bits of the
address bus contain a refresh address for dynamic memories. This is required by
dynamic memory chips so that they do not forget. If they are not fully refreshed at
least once every two milliseconds, there is a danger that memory will be lost.
When this signal is present, the upper 8 address bus lines contain the CPU |
register contents. This leads to a fault in the Spectrum hardware. By setting the |
register to any value between 64 and 127, interesting contention for the video
RAMoccurs. A15 and A14 from the CPU are selecting the 16K of RAMwhich the
ULA normally has priority over. In this case, although the relevant address occurs
with MREQ active, no RD or WR signal occurs because it is a refresh. This
combination of signals seems to confuse the ULA so that it doesn't stop the CPU
clock properly. A BASIC program which will illustrate this problem is included in
chapter 8 on the ULA
HALT Output active low. Indicates that the CPU has executed a software HALT
instruction. It awaits an interrupt from another device before it will continue
operation. There is a simple experiment illustrating the operation of a HALT in
chapter 14.
WAIT Input active low. Used by slow memory or I/O devices to tell the CPU that
they are not yet ready for a data transfer. The CPU sits back doing nothing until
the slow device indicates that it is now ready.
INT Interrupt request — input, active low. This signal can be generated by
external devices to make the CPU run a special machine code program some-
where in memory. If the internal software controlled interrupt enable flip-flop is
enabled, the CPU will accept and acknowledge the interrupt. A flip-flop is equiv-
alent to one bit of memory. The CPU uses this bit of its internal memory to
remember whether or not it should accept interrupts from other devices. For more
details on the use of interrupts, you should refer to a specialised book on the 280.
24
Te ee ee= why
ULasz mS i
» na 34 >
12 les
nes es] zioa wf
an
—Hos abe»
10) a
ce aptiy
al ey
; eo oe@—
"J RFR
Sal a a oS
1d | a
= —
; gue
ho ay eet ance
sr ‘ATESEY
é =
rar ve
A Diag: cos ‘ lee see
re war WAT Wea
~ baw iS ea
"2 Rao Ike
a
nT nt zs SUSRED
im rowan =I
MS lee
sl me
/ oie = RG o>
R27 680 a
FIG 3 — Z80A CENTRAL PROCESSING CHIP
25A simple experiment showing you how you can make use of the interrupt line is
given in chapter 14.
NMI Non-maskable interrupt — input operated on the negative going edge of
the interrupting signal. The NMI is always accepted by the CPU at the end of its
current instruction. It forces the CPU to run the program in memory starting at
address 102 decimal (66 Hex). See chapter 14 for a simple example of its use.
RESET Input active low. This signal forces the CPU to the reset state. In the
Spectrum, when power is applied, C27 holds the reset pin low until ithas charged
up via R31. This allows the rest of the computer to reach an operational state
before the CPU starts to run the program in memory from address zero. Details of
adding a push button to reset the Spectrum are given in chapter 14
BUSREO Bus request — input. active low. Used by an external device to
request the CPU address bus, data bus and tristate output control signals for its
own use. The CPU will hand over control of all its buses as soon as the current
machine cycle is terminated. To indicate to the requesting device that control can
now be taken, the CPU sets its BUSACK output low.
BUSACK Bus acknowledge — output, active low. Indicates to the requesting
device that it can now take full control of all the CPU buses.
More information about some of these Z80 signals and how they canbe used is.
included in other chapters. In particular you are referred to chapters 8, 12.and 14.
:5. VIDEO AND PROGRAM MEMORY
This 16K of RAMis supplied on both the 16K and 48K versions of the Spectrum, It
contains all of the data for generating the display on the television screen, the
various variables required by BASIC, workspace, user defined graphics and your
BASIC programs.
Now refer to fig 4. Each of the memory chips IC6 — IC13 can store
2!" = 16K (K just means 1024) bits of information. Eight of them are required to
make up the 8 bit data bus. So that the memories can fit into smaller chips with
fewer connections, the address lines are multiplexed. This means that first of all
AO — A6 are presented to the memory chip, followed by A7 —A14. These two
sets of 7 bits are latched within the memory chip. The memory chip is then able to
select the correct location. IC3 and IC4 do this multiplexing, the selected address
lines diverted to the memory chip inputs being determined by the state of the
select pin 1 on IC3 and IC4. DRAM AO — DRAM Aé on the ULA can override the
outputs from IC3 and C4 because of the 330 ohm resistors in series with the
multiplexer outputs. This override capability enables the ULA to get data for
output to the video circuit whenever it is required. You may now be wondering
what would happen if the CPU and ULA both wanted to access this memory
simultaneously. Obviously they cannot both access two different memory
locations at the same time. The resolution of this conflict will be described in
chapter 8 on the ULA
The type of memory used here is called dynamic random access memory. The
internal memory array is arranged as 128 rows by 128 columns of cells. The row
address strobe (RAS) and column address strobe (CAS) signals are used to latch
the relevant addresses into the memory chips. Data can then be written to or read
from the addressed location. Each row must be accessed at least once every
2mS otherwise the memory may forget what is stored inside it. In the Spectrum
this refreshing is not a problem whilst video output is occuring, because the video
memory has to be regularly accessed to produce a continuous video display.
During the video field sync, when the memory is not accessed for about 5mS, the
normal CPU refresh takes over. Memory which can be read from and written to,
but which does not require this continual refreshing procedure is called Static
RAM. In both types of RAM, the data is lost when the power is disconnected
27ISSUE 2 BOARD
PLATE 4— PHOTO OF MAIN SPECTRUM BOARD
WITH RAM OUTLINED
28ISSUE 2 BOARD
PLATE 5— PHOTO OF MAIN SPECTRUM BOARD
WITH ROM OUTLINED
306. THE BASIC READ ONLY MEMORY
IC5 is a 16K byte read only memory (ROM) chip. Housed in its 28 pin package,
this chip is provided with 14 address lines, 8 data lines, two chip select pins, one
output enable pin to enable data to be read by the CPU and of course the power
supply connections. Its pin connection diagram is illustrated in fig. 5.
The ROM contains the program which tells the CPU how to run Sinclair BASIC
This program is embedded into the silicon structure of the chip during
manufacture and cannot ever be changed. If this were not the case then BASIC
would disappear whenever the power was switched off. Aiso, since you cannot
modify the BASIC program nothing that you can do with software from the
Spectrum keyboard can possibly destroy BASIC.
The ROM is positioned from address zero upwards. It has to be positioned
here, because when the CPU is reset (when it is switched on), the CPU always
runs the machine code program starting from address zero.
The ROMCS connection on the rear edge connector can be connected directly
to +5 volts to disable the BASIC ROM. The ROMCS output from the ULA is
connected via R33, and is therefore unable to pull the ROMCS signal low when
the +5 volt connection is made. This might be useful for future add ons which
would have their own ROM or RAM switched in instead, Different languages
could then be run from the Spectrum in place of BASIC. Replacing the BASIC
ROM in this way with a new chip requires a thorough understanding of the
Spectrum hardware and software requirements. A totally new operating system
for inclusion in the new chip would have to be written
Chips called EPROMs (erasable programmable read only memories) are
available with the same connections as the Sinclair ROM, The 27128 EPROM is
such a device. It too contains 16K bytes of memory. The difference is that it can be
programmed by the user. Once programmed, it retains all of the data just like a
ROM, even when the power is switched off. EPROMS can be erased so that they
can be reprogrammed, using ultraviolet light. This shines directly onto the silicon
chip through a glass window in the top of the package. This facility is useful
because it allows the same chip to be used again and again with different
programs in it
311.4.4
20.
0
ve
be 1. TT.
a8
Ics Pa
16K ROM as
=
Eo
De
os >
6
on Poy
16
oa
FIG 5 — BASIC READ ONLY MEMORY
32
eee ll lc CUES2 =
7. THE KEYBOARD
Pate)
PLATE 6 —PHOTO OF KEYBOARD.
The keyboard consists of a five by eight grid of wires, the crossing points of which
can be connected by pressing the relevant key (see figure 6). Whenever the
BASIC ROM program wishes to find out which key on the keyboard is pressed, it
scans each of the eight rows in turn. Each row is selected by setting the relevant
280 address line to logic 0, keeping the remainder at logic 1. Each of the five
columns is usually held high by one of the resistors R65-R69. If any of the keys on
a particular row are depressed, the associated column input to the ULA will be
pulled down to logic 0 instead of its usual logic 1. The key can therefore be read
Consider for example that key ‘D' is pressed. By doing an IN from an address
with all lines at logic 1 except for AQ, bit D2 of the input byte would be 0, whilst DO.
D1, D3 and D4 would all be at logic 1. The keyboard is scanned 50 times per
second to see if any of the keys have been pressed, so that everything you type
should be noticed by the Spectrum. A keyboard scan is initiated by the ULA
interrupting the CPU at the end of displaying each video frame. The CPU then
reads the keyboard
If you wish to scan the keyboard yourself for some reason, the following
addresses can be used, Bear in mind that each of these numbers is simply used
to set all of these address lines except for the one being used to scan, to logic
level 1. Using this method of input, the reading of keys is no longer restricted to 50
times per second. It can be done as often (within limits) or as infrequently as
desired
33“IN 32766" uses A15 to read the half row SPACE to B
“IN 49150" uses A14 to read the half row ENTER toH
IN 57342" uses A13 to read the half row P to Y
“IN 61438" uses A12 to read the half row 010 6
IN 63486" uses A11 to read the half row 1 to5
IN 64510" uses A10 to read the half row Q to T
“IN 65022" uses AQ to read the half row AtoG
“IN 65278" uses A8 to read the half row SHIFT to V
In the byte read in
DO = logic level at KBD 13 input
D1 = logic level at KBD 12 input
D2 = logic level at KBD 11 input
D3 = logic level at KBD 10 input
D4 = logic level at KBD 9 input
D5 = unused (appears as logic 1 in byte read in)
D6 = voltage level at EAR socket (see below)
D7 = unused (appears as logic 1 in byte read in)
THE LOGIC LEVEL AT THE EAR SOCKET
The logic level read in from the EAR socket will in general be 0 for voltages below
about 0.6 volts, and 1 for any voltage higher than that. However, the threshold
level between logic 0 and logic 1 is slightly different in the Issue 2 and Issue 3
models. The following table illustrates this difference. The voltages at the EAR
input are set to four different values controlled by ULA control byte bits D4 and D3.
D4 bs Voltage Issue 3 Issue 2
IN 57342 IN57342
0 oO 0.4v 191 191
oO 1 0.7 191 255,
1 0 3.5v 255 255
1 1 3.8v 255 255
The value read in using IN 57342 uses address line A13 to read the half row of
keys P, O, |, U, Y, and the values shown are with none of these keys pressed. The
read in values are the same for the two Spectrums, except when D4—OandD3=1
inthe ULA control byte. The Issue 3 then registers the value at the EAR port (D6 in
input byte) as a 0. The Issue 2 recognises it as a 1. As it happens, D4 and D3
normally are in this state, so if the keyboard is scanned by a user program (rather
than the ROM), bit 6 in the input byte should ALWAYS be masked. Several
commercial programs looked to see if a key had been pressed by checking for IN
57342 NOT EQUAL TO 255. This worked on Issue 2 machines, because the
value was 255 without a key pressed. However, as soon as Issue 3's came on the
market, such software stopped working because it hadn't masked out bit 6!
Details for constructing your own additional keyboard interface which will plug
into the rear edge connector are given in Chapter 16.
34old
23
AR
3.
v of
«The
riN
the
the:
slug
aed
KBo 43
aud
sue
aN
Ta
and
Khg
a
and
FIG 6 — SPECTRUM KEYBOARD.ISSUE 2 BOARD.
PLATE 7— PHOTO OF MAIN SPECTRUM BOARD.
WITH ULA OUTLINED
368. THE UNCOMMITTED LOGIC ARRAY
The ULA is Sinclair's special chip. It has been designed to replace lots of smaller
logic chips which were used in older computers. The way in which it operates is
defined when the chip is manufactured, and can never be changed with software.
Its function is to take the heavy burden of input and output from the CPU. It
performs the tedious output of information to the television all of the time when
power is applied to the Spectrum, Apart from this major task, the ULA also deals
with output to the buzzer and cassette plus input from the keyboard and cassette.
ULA PIN DESCRIPTIONS
DRAM AO — DRAM Aé from the memory address multiplexer chips IC3 and
IC4. These enable the ULA to determine which address is being selected by the
CPU. Also used by the ULA to select the address of video data from the video
memory. When used by the ULA as outputs in this way, they are able to override.
the output from the address multiplexers because of the set of series 330 ohm
resistors. pall
DRAM CAS — dynamic RAM column address strobe (CAS) output. Used to
latch in the column address for the dynamic RAM from the address multiplexer
(see chapter 5 for more details).
OMICS — ROM chip select output enables the 16K ROM chip IC5 whenever
the CPU wishes to read from it. The ULA can monitor this with its A14 and A15
address inputs, so it can be outputting video information at the same time as the
CPU is reading from the ROM.
IORQGE — input connected to the Z80A JORG pin via R27. If this (ORQGE
connection is held high by connecting it to +5 volts, the Z80A TORO signal no
longer reaches the ULA. This can be useful for adding extra I/O devices. See
chapter 15 for more details.
RAS — used as row address strobe on the dynamic RAM chips. (see chapter
5 for more details about refreshing dynamic memories). This pin is also
connected to the Z80A refresh pin via R57 (330 ohms). The memories can then
be refreshed by the CPU during the video field sync time, when regular accessing
by the ULA stops for about 5 ms
KBD9 — KBD13 — inputs from the Spectrum keyboard. See chapter 7 for
further details.
U — blue — yellow colour difference output.
V — red — yellow colour difference output.
Y — luminance and sync outputs for the video.
Do — D7 — 8 bit bidirectional databus. Connected directly to the video
memory databus and via 470 ohm resistors to the main system databus. This
enables asynchronous operation of the ULA accessing video RAM and the CPU
accessing the rest of memory. The computer therefore runs faster than it would if
the ULA stopped it every cycle
CLK — 3.5 MHz clock output to the Z80A CPU. This clock may occasionally
be stopped by the ULA to prevent the CPU from accessing the video RAM when
the ULA is using it.
WR — tells the ULA when the CPU is writing to some device. If that device
happens to be the ULA then the ULA will use this signal to latch the incoming data,
37RD — tells the ULAwhen the CPU Is reading from a device. It the device is the
ULA, data will be output onto the databus tor the CPU
MREQ — this input tells the ULA that the address bus now contains a valid
address tor a read or write operation. This signal is required to distinguish
between a memory or I/O operation.
INT — interrupt to the CPU operates 50 times per second. Upon receiving
this interrupt, the CPU increments a 2 byte counter in memory and scans the
keyboard to see if any keys have been pressed.
38ras
wr
30
4+ orem o-
4+ {J onaminn ee
s
4-H onan a0
<> onan
+ J pram a2
e
<9 ram a
°
44 pnamas
10
49 oramas,
44 on amas
F 20
Lm 05>
43 ‘cassette | 28
os uta
ete z
wae 1c1 os»
ULA -
+—4, «809 -
28
os}
7 24
+ t y e010K-———
8 2
+> 00 «8011 ¢-————
2
——S xaos o>
2
as Keo 12 on
NOTE — VC1 IN ISSUE 21S REPLACED BY C73 IN ISSUE 3
FIG 7a — THE UNCOMMITTED LOGIC ARRAY PIN CONNECTIONS
39THE TRANSISTOR PATCH IN ISSUE 2
Issue 2 Spectrums have TR6 soldered across the Z80A chip. The connections to
this transistor are shown in figure 7b. The effect of this patch is to pull the
\ORQGE input to the ULA high whenever address line zero (A0) is at logic 1. The
ULAwill therefore only be selected when AQ and IORQ from the Z80A are in the
logic 0 state together. In Issue 3 Spectrums. transistor TR6 has been
incorporated on the printed circuit board. It operates in exactly the same manner
as in Issue 2 Spectrums.
+5v
A0 (2
IORQGE
FIG 7b— THE TRANSISTOR PATCH CIRCUIT
VIDEO OUTPUT
One of the major problems on most home computers is that of producing the
video display. Especially for a colour display of the resolution used in the
Spectrum, data has to be copied from the video memory to the display at a
continuous and fast rate. This poses problems when the CPU wants to read from
the video memory at the same time as the ULA. Two devices cannot address.
different places in amemory chip simultaneously
Most other computers use one of two methods to resolve this. In the first
method the CPU has priority. This produces ‘snow on the screen, representing
video information which was not displayed because the CPU was using the
memory. Snow is annoying but the CPU runs at full speed. The second method
gives the video circuit priority during a television field scan. This requires that the
CPU should only be able to operate during the field sync time. Using this method
does eliminate snow. but the computer operates very slowly. Neither of these
methods is satisfactory.
Your Spectrum uses a very ingenious way to get over the problem. Let us
assume that the ULA is accessing video memory. The CPU can simultaneously
access the ROM or extra 32K of RAM without any bus contention occuring. The
ULA and video memory have their address and data buses separated from the
rest of the system by 330 ohm and 470 ohm series resistors respectively.
Normally therefore. there are two separate systems operating independently of
‘one other. The ULA outputting video, the Z80A operating BASIC. But then, the
CPU may wish to access the 16K of RAM which the ULA is using, because this
Contains all of the BASIC system variables as well as the video memory. At this
40ogaoaow
DHDA~DO inpor
013
caserre
ostrur
Mow
oor
- Sone
FIG. 7c — ISSUE 2 CASSETTE INTERFACE AND BUZZER CIRCUIT
43,ULAPIN28
—_—_ >
BS
& R36 c32
3 6800 100nF
i>
5
3 c3t
oe 400nF
FIG. 7d — ISSUE 3 CASSETTE INTERFACE AND BUZZER CIRCUIT
AMPLIFYING THE BUZZER
The sound output from the Spectrum's internal buzzer is normally not very loud.
For certain games or other applications, it may be advantageous to connect the
Spectrum up to an amplifier. This is very easy, because the Spectrum sound
signal is present on both the MIC and EAR sockets at the rear of the computer. All
that is required is a standard 3.5mm jack plug, a length of two way audio cable
and a suitable plug to the amplifier being used. Connect the two plugs to opposite
ends of the cable. For an amplifier with a high impedance input, plug the 3.5mm
jack into the Spectrum's MIC socket. For an amplifier with a low impedance input,
plug the 3.5mm jack into the Spectrum's EAR socket
44
CASSETTE MIC INPUTVv
CASSETTEMIC INPUT
1e
id
All
le
ISSUE 2 BOARD
PLATE 8 — PHOTO OF MAIN SPECTRUM BOARD
WITH MEMORY EXPANSION SOCKETS OUTLINED
459. THE MEMORY EXPANSION SOCKETS
The Sinclair Spectrum can be purchased in two different versions. One of these
contains 16K of user RAM, and the other contains 48K. This chapter explains first
of all how a 16K Spectrum can be upgraded to a 48K Spectrum, and there then
follows a detailed description of how the additional memory circuit operates.
Since upgrading an Issue 3 Spectrum enables the use of chips which cannot
be used on a Issue 2 Spectrum, the type of Spectrum should be checked before
purchasing any chips.
UPGRADING AN ‘ISSUE 2’ SPECTRUM
The upgrading procedure for Issue 2 Spectrums consists of plugging twelve
integrated circuits into sockets on the printed circuit board and soldering one wire
link. The following integrated circuits are required:
(c15-22 8 of 4532 32K x1 dynamic memory chips (see text)
(C23 1 of 74LS32
\C24 1 of 74LS00
1C25-IC26 2 of 74LS157
The 4532 memory IC's will probably be the most difficult to obtain. Luckily,
several mail order companies can supply these, either individually, or as a
complete ‘Spectrum memory upgrade kit’. A current copy of any good computing
magazine should contain advertisments by some such company.
The 4532 chips used in Issue 2 Spectrums are 64K RAMs from Texas
Instruments which failed to operate to specifications. Usually, several bits in one
half of the chips are permanently fixed to a logic 1 or 0. The bad half of the chip is
not used. Two versions are therefore available corresponding to different
operational halves. These are designated the 4532L in which the lower 32K bits
function correctly, and the 4532H in which the upper 32K bits function correctly.
To select the particular type of 4532 which is used, a wire link is provided on the
main circuit board, Note that only Texas Instruments chips should be used. This is
because Texas 4532's are split in half using the ROW address A7. Most other
manufacturers’ chips use A15 (COLUMN address A7) to select the operational
half of the chip, so they must NOT be used in the Issue 2 Spectrum. f any difficulty
is experienced in obtaining 4532's, it is possible to use any manufacturers’
64K x1 chips instead. The 64K chips will probably be more expensive, but it will
not be necessary to solder in the wire link.S13490S NOISNVdX3 AHOWSW JO NOILISOd SNIMOHS GHVO8 Z 3NSS!I — eB ‘DIS
wazzna head
or} on
a] a] a] oF
47
92
woLvindowYou should now refer to the layout diagram in figure 8a. This illustrates the
positions of the expansion sockets on an Issue 2 board. Carefully unscrew the
five retaining screws on the underside of the Spectrum. The keyboard should
then come away from the circuit board and base. Using the layout diagram as a
guide, start by inserting the memory chips IC15 to C22 into their sockets. Ensure
that all of the pins on the integrated circuits are vertical and straight before
attempting to insert them into sockets. The small indentations at the ends of the
chips correspond to the indentations marked on the diagram. It is ESSENTIAL
that ALL of the chips are inserted the correct way round. Now that all of the
memories have been inserted, carefully plug in the 74LS32 (IC23), the 74LS00
(1C24) and the two 74LS157s (IC25 and IC26).
Using a fine tipped soldering iron and a piece of stripped single strand wire, the
link can now be made. If 4532s have been installed then solder the wire between
the central hole (marked “link” in figure 8a) and the hole marked OV. If 4532Hs
have been installed, then connect the wire between the central hole and the hole
marked +5V. Take great care not to let the solder run onto any other connections,
since that may damage the computer when power is applied
The installation is now complete. Go back and check that all of the chips are in
the correct sockets and pointing in the correct direction. Also check that none of
the pins have been bent under the integrated circuits in case there is no contact
with the socket
Connect up the power supply and you should have an operational 48K
Spectrum. Check this by typing PRINT PEEK 23733. The response should be
255. Ifitisn't then consult your local Spectrum expert
UPGRADING AN ‘ISSUE 3’ SPECTRUM
The upgrading procedure for Issue 3 Spectrums consists of plugging twelve
integrated circuits into sockets on the circuit board and soldering in two wire links.
The following integrated circuits are required
1C15-IC22 8 of 4532 32K x 1 dynamic memory chips (see text)
IC23 1 of 74L832
IC24 1 of 74LS00
IC25-IC26 2 of 74LS157
The 4532 memory IC's will probably be the most difficult to obtain. Luckily,
several mail order companies can supply these, either individually or as a
complete ‘Spectrum memory upgrade kit’. A current copy of any good computing
magazine should contain advertisements by some such company.
Most manufacturers’ 4532’s can be used in the Issue 3 Spectrum. These are
64K RAMs which failed to operate fully. Usually, several bits in one half of the
chips are permanently set to a logic 0 or 1. The bad half of the chip is not used
Several versions are therefore available, corresponding to different operational
halves. These are designated 4532L in which the lower 32K bits function
correctly, and the 4532H in which the upper 32K bits function correctly. The
definition of ‘lower’ and ‘upper’ operational halves varies from manufacturer to
manufacturer.
48To select the particular type of 4532 which is used, a block of contact pads
which can be connected by wire links is provided on the main circuit board. The
connections to this link block, together with various options for common types of
memory chips are illustrated in figure 8c. Texas Instruments 4532's are split in
half using the ROW address A7. Most other manufacturers’ chips, such as those
produced by OKI use A15 (COLUMN address A7) to select the operational half
of the chip. If any difficulty is experienced in obtaining 4532's, itis possible to use
any manufacturers’ 64K x 1 dynamic RAMs. The 64K chips will probably be more
expensive, but either the ‘L’ or ‘H link pattern for that manufacturer's chip can be
selected.
You should now refer to the layout diagram in Figure 8b. This illustrates the
positions of the expansion sockets on an Issue 3 board. Carefully unscrew the
five retaining screws on the underside of the Spectrum. The keyboard should
then come away from the circuit board and base. Using the layout as a guide, start
by inserting the memory chips IC 15 to IC22 into their sockets. Ensure that all of
the pins on the integrated circuits are vertical and straight before attempting to
insert them into sockets. The small indentation at one end of the chip corresponds
to the indentations marked on the diagram. It is ESSENTIAL that ALL chips are
inserted the correct way round. Now that all of the memories have been inserted,
carefully plug in the 74LS32 (C23), the 74LS00 (C24) and the two 74LS157's
(IC25 and IC26)
Using a fine tipped soldering iron and two pieces of stripped single strand wire,
the links can now be made. Various valid link patterns for different types of 4532's
are illustrated in figure 8c. Choose the correct pattern for the type of chips being
used. Take care not to let the solder run onto any other connections, since that
may cause damage to the computer when the power is reconnected.
The installation is now complete. Go back and check that all of the chips are in
the correct sockets and facing in the correct direction. Also check that none of the
pins have been bent under the integrated circuits in case there is no contact with
the socket.
Connect up the power supply and you should have an operational 48K
Spectrum. Check this by typing PRINT PEEK 23733. The response should be
255. Ifit isn't, then consult your local Spectrum expert.
49S134OOS NOISNWdX43 AYOWAW 40 NOILISOd DNIMOHS GHVOS € 3NSS! — 48 “Old
st} or] ai} ar
or} or} or}o
sz
ve
on
or
HOLO3NNOO 3903 °
H YOLVINGOW
CO
50(C26 pin 10 = 38
(MUX TO A7)
IC26 pin 11 ~3A
(MUX TO A15)
oe OK
oo — 3732L,
ee Ok!
3732H
FIG. 8b — ISSUE 3 BOARD SHOWING POSITION OF MEMORY EXPANSION SOCKETS
FIG. 8c — ISSUE 3 MEMORY TYPE SELECTION LINKS
51EXPANSION MEMORY CIRCUIT DESCRIPTION
1. MEMORY READ
Whenever the CPU wishes to read data from the 32K expansion memory, A15
will go to logic 1 to indicate an address in the range 32768 — 65535. As the ZB0A
read cycle is initiated both RD and MREQ signals will go low. The high to low
transition of MREQ is butfered by IC23a to operate RAS. The RAS line going low
causes the addresses AO — A7 to be latched into the eight dynamic RAM chips
RAS going low is delayed by the RC network comprising R71 and C63. Even-
tually, the RAS low signal filters through to IC23c which operates the address
multiplexers “select” line. This changes the outputs from the address multi-
plexers to A8 — A14. Another RC network comprising R70 and C64 delays the
low going signal yet again. This delay gives the address multiplexers a chance to
stabilise before CAS finally latches their outputs into the memory chips. A
complete 15 bit address will then be latched into the memory. After a further short
delay the data appears on the Spectrum data bus so that it can be read by the
CPU.
2, MEMORY WRITE
When the CPU wishes to store some data in this 32K block of memory, A15 is
again set to logic 1. The write cycle commences with WR and MREQ going low.
Addresses are latched into the dynamic memories in the same Way as a read
cycle. The only difference is that the WR pin on the dynamic memories is low as
well. The memories therefore know that they must store data from the CPU data
bus instead of outputting data,
3. Memory Refresh al es
When a refresh cycle is executed by the Z80A, WR and RD remain inactive in the
logic 1 state. The address multiplexers are therefore set to direct AO-A7 to the
memory array. The Z80A puts the number of the row to be refreshed on A0-A6 (7
bits allow 128 different row addresses). MREQ then goes low to operate the RAS
line on the memories. This is all that is required for a refresh. Each of the 128 rows
are refreshed at least once every two milliseconds by this method. Continual
refreshing by the CPU was not required for the video memory except during field
synchronisation pulses to the television. This is because the ULA is accessing the
video memory sequentially at each of the 128 row addresses during video data
outputPoor
on
FIG. 8d — 32K ADDITIONAL RAM EXPANSION,ISSUE 2 BOARD
PLATE 9 ~PHOTO OF MAIN SPECTRUM BOARD.
OUTLINED VIDEO CIRCUIT
710. THE VIDEO CIRCUIT
The Spectrum video circuitry is based around the LM1889N integrated circuit
produced by National Semiconductor. The video circuit diagrams for Issue 2 and
Issue 3 Spectrums are shown in Figure 9a and Figure 9b respectively. The
LM1889N accepts two colour difference signals (U = blue-yellow, and V =
red-yellow) from the ULA. These are combined to produce a single colour output
signal. It is more economic to use colour difference signals rather than separate
RED, GREEN and BLUE signals. Only two sets of circuitry are required instead of
three associated with RGB signals. The colour is mixed with the incoming
composite video sync. and luminance (Y from the ULA) to produce the composite
colour video signal. After being buffered by the emitter follower circuit using TR2.
the video signal is fed into the video modulator. This enables the video
information to be displayed on an ordinary colour television
Itis unfortunate that RGB video was not used, because some colour monitors
require these signals. However, it is still possible to improve the rather poor
quality display obtained on a television. For this, a monitor with a composite video
input is required. Chapter 20 explains how such a monitor can be connected to
your Spectrum.
Looking at figures 9a and 9b, it will be seen that several adjustments are
available on Issue 2 Spectrums. The two adjustment resistors VR1 and VR2 alter
the relative amplification of the red-yellow and the biue-yellow signals. By varying
these adjustments, you can vary the output colour quality or the grey scales. See
the next chapter for details on how to accomplish this. Note that NO adjustable
components are provided in Issue 3 Spectrums,
55FIG. 9a — ISSUE 2 VIDEO CIRCUIT DIAGRAM
56
aa
a0
ioe.
0
MODULATORFIG. 9b — ISSUE 3 VIDEO CIRCUIT DIAGRAM.
5711. TUNING THE ISSUE 2 VIDEO CIRCUIT FOR
A BETTER QUALITY DISPLAY
It should be noted that this chapter is only relevant to Issue 2 Spectrums. The four
variable components which were present inside Issue 2's have been replaced
with fixed components which cannot be varied in Issue 3's.
IMPROVING THE MOVING STRIATIONS ON THE SIDE OF
CHARACTERS
Many Spectrum computers suffer fram annoying striations on the side of video
characters. These are caused by an interaction of the ULA 14MHz clock with the
video display which it is used to generate. The striations can be improved by
altering the clock frequency very slightly using VC1
To do this, you should fill the Spectrum screen with some text. Any old program
listing will do. Then turn the computer over so that itis resting on the keyboard
If you have an early version of the Spectrum, a smail hole should be present on
the right hand side. A small screw head should be visible inside the hole. if your
Spectrum has not got a hole then it will be necessary to open the case. To do this,
remove the 5 retaining screws that are visible on the underside of the Spectrum
and lift off the keyboard as far as you can. Locate and remove the small retaining
screw on the component side of the board near the middle. The circuit board
should now be free from the bottom of the case. Tum the circuit board upside
down. You should see a small hole with a screw head inside on the righthand side
of the board. Using a small screwdriver carefully turn this screw a little way
clockwise then back a littie way anticlockwise, This should give you a feel for the
effect of the adjustment. You should then be able to adjust the setting to produce
the most pleasing display possible. Note that turning the screw through one
complete revolution will set the adjustment back to its original value.
Sometimes it will help to readjust the channel setting on your television.
Unfortunately, as the computer warms up, the crystal expands and its frequency
changes. Bad striations may therefore reoccur whenever the temperature of the.
computer changes a lot. You should therefore let it warm up abit before trying any
adjustments. If the striations do become bad again, the only solution is to readjust
the frequency as belore using VC1
The easiest way to vary the colour is with the colour control on your television.
Similarly for grey scales, adjust the brightness and contrast on your TV. The
following paragraph explains how to vary the colour settings inside the Spectrum
This ONLY applies to a colour (or grey scale) CHANGE. If there is no colour at all
then refer to chapter 13.
To adjust the colour setting (or grey scale), you will need to open up your
Spectrum by removing the 5 retaining screws which are accessible from the
underside of your computer. Having unscrewed the case you should put a display
showing all of the colours and shades onto the screen. The program at the start of
Chapter 16 of your BASIC manual is suitable for this. Now you can carefully
adjust VR1 and VR2 using a screwdriver. The positions of these two adjustment
presets are shown in Appendix D and in Fig. 9c. Watch the colours on the screen
58as you vary the settings. This will give you a feeling for the effect of each control
VAI varies the red-yellow amplitude and VR2 varies the blue-yellow amplitude.
VA1 has to be varied in conjunction with VR2 to vary the green level.
How you eventually set the colour (or grey scale) is purely a matter of personal
preference.
SCREW HOLE FOR VC1 ISSUE 2 BOARD
PLATE 10 — PHOTO OF SCREW HEAD FOR VC1
59CHANGING THE COLOUR OR GREY SCALE
FIG. 9c — ISSUE 2 VIDEO CIRCUIT ADJUSTMENT CONTROLS
602a
234, +12W0ts (UNSMOOTHED!
spe
FIG 10a ~ THE EDGE CONNECTOR
61
Q|
iN
va12. THE EDGE CONNECTOR
This chapter contains a contact by contact description of the signals available on
the rear edge connector. Some hints and ideas to help you design your own
circuits are included as well. For some simple experiments which you can do see
chapter 14.
The connections designated 28A and 1A are marked on the upper side of the
Spectrum board. 288 is under 28A and 1Bis under 1A. Fig 10aillustrates the rear
view of the Spectrum showing the correct orientation of the edge connector. Note
that it is shown upside down in the BASIC manual!
SIDE A CONNECTIONS
1A A15 of the address bus. This can be used as an output from the Spectrum to
select various external devices in conjunction with the rest of the address bus. It
can also be used as an input to the Spectrum from any external devices which
take over control of the CPU buses using the BUSREQ signal.
2AA\13 of the address bus
3A D7 of the data bus. This bidirectional 8 bit bus can be used to transfer
information to or from the Spectrum
4Ano connection
5Asliot to locate the edge connector in the correct position:
6A DO data bus
7A D1 data bus
8A D2 data bus
9A D6 data bus
10A D5 data bus
11A D3 data bus
12AD4 data bus
__13A INT connected to the Z80A interrupt line, and via R26 (680R)} to the ULA
INT pin. This could be used by an external device to request an interrupt from the
Spectrum, or if connected to +5 volts this will prevent the ULA from interrupting
the Z80A CPU every 20 ms. See chapter 14 for an experiment using INT.
144A NMi to the Z80A non-maskable interrupt input. Normally held at logic 1 by
R28(10K) connected to +5 volts. If taken low by an external device the Z80A will
be forced to jump to address 102 decimal (66Hex) and start executing the
machine code from there. See chapter 14 for an experiment using an NMI
15A HALT from the CPU HALT output — indicates that the CPU has executed
a software HALT instruction. The CPU waits for an interrupt from an external
device before continuing to execute the program. See chapter 14 for a simple
experimentusing a HALT.
16A MREQ from the CPU memory request output — indicates that the address
bus now holds a valid address for a memory read or write operation. This signal is
also operated during a memory refresh.
17A IORQ connected directly to the Z80A input/ouput request output
Indicates that the lower half of the address bus holds a valid I/O address for an
1/O operation. The upper half of the address bus holds the contents of the CPU A
register if IN A,n or OUT n,A are used in a machine language program. n appears
on the lower half of the address bus. If a register indirect 1/O operation occurs, the
62