ZX Spectrum Service Manual
SINCLAIR
ZX Interface 1
ZX Interface 2
ZX Microdrive
Service Manual
Edited by Brendan Alford
Spectrum For Everyone Website
https://spectrumforeveryone.com/
Spectrum For Everyone Facebook Group
https://www.facebook.com/groups/spectrum4everyone/
Revision 1.0
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
CONTENTS
1 System Description .................................................................................................................................... 4
1.1 ZX Interface 1 ...................................................................................................................................... 4
1.1.1 Oscillator and Buffer IC4 .............................................................................................................. 4
1.1.2 Address Decoder IC3 .................................................................................................................... 4
1.1.3 ZX Interface 1 ROM IC2 ................................................................................................................ 5
1.1.4 Gate Array IC1 .............................................................................................................................. 5
1.1.5 RS232 Serial Link .......................................................................................................................... 6
1.1.6 Network ....................................................................................................................................... 7
1.1.7 Microdrive Control ....................................................................................................................... 7
1.2 ZX Microdrive ...................................................................................................................................... 8
1.3 ZX Interface 2 .................................................................................................................................... 10
1.4 Power Supply .................................................................................................................................... 11
2 Disassembly/Assembly ............................................................................................................................. 20
2.1 Introduction ...................................................................................................................................... 20
2.2 ZX Interface 1 .................................................................................................................................... 20
2.3 ZX Microdrive .................................................................................................................................... 20
2.4 ZX Interface 2 .................................................................................................................................... 21
3 System Test .............................................................................................................................................. 22
3.1 Introduction ...................................................................................................................................... 22
3.2 ZX Interface 1 .................................................................................................................................... 22
3.3 ZX Microdrive .................................................................................................................................... 24
3.4 ZX Interface 2 .................................................................................................................................... 25
4 Fault Diagnosis and Repair ....................................................................................................................... 26
4.1 Introduction ...................................................................................................................................... 26
4.2 Modification History ......................................................................................................................... 27
4.2.1 ZX Interface 1 ............................................................................................................................. 27
4.2.2 ZX Microdrive ............................................................................................................................. 27
4.2.3 ZX Interface 2. ............................................................................................................................ 28
4.3 Fault Diagnosis .................................................................................................................................. 29
4.3.1 Techniques ................................................................................................................................. 29
4.3.2 Initial Checks .............................................................................................................................. 29
2
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
4.3.3 ZX Interface 1 ............................................................................................................................. 30
4.3.4 ZX Microdrive ............................................................................................................................. 30
4.3.5 ZX Interface 2 ............................................................................................................................. 31
4.4 Repair ................................................................................................................................................ 32
5 Parts List ................................................................................................................................................... 34
5.1 Introduction ...................................................................................................................................... 34
5.1.1 ZX Interface 1 PCB Assembly...................................................................................................... 34
5.1.2 ZX Interface 1 Case Assembly .................................................................................................... 36
5.1.3 ZX Microdrive Head Board Assembly ......................................................................................... 37
5.1.4 ZX Microdrive Base Board Assembly.......................................................................................... 37
5.1.5 ZX Microdrive Head Chassis Assembly ....................................................................................... 38
5.1.6 ZX Microdrive Case Assembly .................................................................................................... 38
5.1.7 ZX Interface 2 ............................................................................................................................. 38
5.2 Board Layouts ................................................................................................................................... 39
3
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
1 SYSTEM DESCRIPTION
ZX Interface 1
ZX Microdrive
ZX Interface 2
Power Supply
1.1 ZX INTERFACE 1
The ZX Interface 1 combines the three functions of Microdrive controller, local area network and RS232
interface. Using it, the Spectrum can control up to 8 microdrives; can connect up to 64 other Spectrums
to form a network, and can communicate with other computers and peripheral devices via the RS232
serial data link.
ZX interface 1 also provides an extension to the Basic Spectrum software which incorporates all the
microdrive, RS232 link and network functions. A block diagram of the unit is given in Figure 1.1.
The circuit comprises 4 integrated circuits. These and their major functions are set out below:
a)
b)
c)
d)
IC4 - oscillator for IC1
IC3 - address decoder to page ROM IC2
IC2 - ZX interface 1 ROM
IC1 gate array – controller of microdrive, RS232 serial link and network.
1.1.1 Oscillator and Buffer IC4
IC4 is a fast CMOS integrated circuit which forms, with crystal X1, a clock oscillator for the gate array IC1.
It provides a very high drive level to IC1 with a very high slew rate.
The link shown on the circuit diagram between IC1 pin 5 and capacitor C3 is included so that the circuit
can accommodate, sometime in the future, a self-oscillating replacement for IC1.
1.1.2 Address Decoder IC3
The function of C3 is to enable IC1 to substitute the interface 1 ROM (IC2) for the Spectrum ROM whenever
an error code is generated by the Spectrum BASIC.
In normal operation, the Spectrum program transfers to address 8 when it finds an instruction it does not
recognise, and an error message is displayed on the screen. With interface 1 connected, the Spectrum
software brings up all zeros on the address line inputs to IC3, forcing input pin 3 (DECODE) on IC1 high.
This signal sets a latch which asserts the outputs on pins 7 (/ROMEN) and 6 (/ROMCS) of IC1 which enable
the interface 1 ROM (102) and disable the Spectrum ROM, respectively.
4
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
At this time, the new software examines the content of the machine stack produced by the original error
indication. If it recognises one of its own instructions it takes over. If it sees a genuine error it passes
control back to the Spectrum via a message on the data bus.
Transistors Q10 and Q11 control the /IORQ line input to the Spectrum ULA (IC1 pin 33). The /IORQ line
from the Spectrum CPU supplies both the interface 1 gate array IC1 and the Spectrum ULA, and is an active
low signal.
When /IORQ is asserted from the Spectrum, the Spectrum's own ULA may inhibit the CPU clock for several
cycles. Transistor Q10 disables this action for any I/O transaction except for those during which A0 is low
(i.e. I/O transactions with Spectrum ULA). This transistor is duplicated inside the Spectrum in later issues.
Transistor Q11 is provided to speed up the propagation of IORQ from Z80 to Spectrum ULA. This is
necessary to overcome the extra capacitance on the processor bus and particularly on IORQGE.
1.1.3 ZX Interface 1 ROM IC2
All the additional software needed to operate the Interface 1 functions resides in IC2. IC2 enable is
discussed in paragraph 1.1.2 above. In addition to control from IC1, the ROM may be disabled by a device
connected to the expansion connector J1. /ROMCS2 from, for example, Interface 2 connected to J1 would
disable both ROM IC2 and the Spectrum ROM, via isolating diodes D10 and D9 respectively.
1.1.4 Gate Array IC1
The major functions of IC1 are to control the following:
(a) RS232 serial link
(b) Network
(c) Microdrive.
IC1 is clocked at 8.0 MHz from its own external crystal oscillator on pin 5, and is controlled by the Spectrum
CPU which uses a standard three bus input/output arrangement. These buses are the address bus, data
bus and control bus.
Address Bus - Addresses A0-A15 are decoded to select particular port or memory addresses depending
on the required function. Eight of these lines are decoded in IC3 as previously discussed.
Data Bus - D0-D7 constitutes an 8-bit bi-directional data bus used for data exchanges with the CPU or
memory. Parallel data input/output on this bus is converted to/from serial data within IC1 since all
input/output devices connected to IC1 are serial data devices.
Control Bus - This is a set of individual signals which organises the flow of data on the address and data
busses. /MREQ indicates that the address bus holds a valid address for a memory read or write operation.
The /RD and /WR signals indicate that the CPU wishes to read or write data to a memory location or I/O
device. /IORQ, the input/output request, indicates that the address bus holds a valid address for the gate
array during gate array input/output operations. The /WAIT signal is used to instruct the Spectrum to wait
until a looked-for signal arrives on the network.
5
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
Port Addresses - The following table sets out the port addresses and individual bits which control IC1
input/output operations. These ports and bits may be addressed in BASIC from the keyboard.
Address
Hex
(Decimal)
Port
EF (239)
Status
Read
Control
Write
E7 (231)
Microdrive
Data
F7 (247)
RS232/
Network
Bit 7
(MSB)
6
5
WAIT
4
3
2
1
Bit 0
(LSB)
BUSY
DTR
GAP
SYNC
WRITE
PROTECT
CTS
ERASE
R/W
COMMS
CLK
COMMS
DATA
Accessing this port from BASIC will almost certainly cause the computer to
crash.
Read
Tx DATA
(RS232
Data
Input)
Write
Net Input
Net
Output /
Rx DATA
I/O PORT ASSIGNMENTS FOR INTERFACE 1
1.1.5 RS232 Serial Link
The same pin on IC1, pin 33, is used for the network transmit data and for the RS232 transmit data. In
order to select the required function IC1 uses its COMMS OUT signal, borrowed from the microdrive
control when the microdrive is not being used. This signal is routed from pin 30 to the emitter of transistor
Q3 and, via resistor R4, to the base of transistor Q1. When COMMS OUT is high Q3 is enabled thus
selecting RS232, and when it is low Q1 is enabled selecting the network.
The RS232 link provides a signal of +12V. This is obtained directly from the Spectrum via pin 22B on the
expansion connector and the -12V is derived from the output of a charge pump, formed by diodes D1 and
D2 and capacitors C1 and C2. The output may in fact fall as low as -7V but since the RS232 interface
specifies -3V, this is adequate.
The RS232 serial data interface can be sent 2 types of data, 8-bit binary code and 7-bit text-only
information. Refer to the interface 1 manual for details. The RS232 employs 4 data and control lines as
set out in the table below:
6
Line
Function
IC1 Pin
Rx DATA (Receive Data)
Transmitted data.
33
Tx DATA (Transmit Data)
Received data
4
CTS (Clear to Send)
Tells remote station that Spectrum wishes to send data.
34
DTR (Data Terminal Ready)
Tells Spectrum that remote station wishes to send data.
1
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
In operation, serial data prepared in the Spectrum is transmitted to line via transistors Q3 and Q4. These
form an amplifier which produces a large voltage swing. The same circuit is used for the transmission of
the CTS signal using transistors Q6 and Q5. The Tx DATA and DTR signals received from the line are fed
into a terminating and camping circuit formed by resistors R24 and R25, R28 and R29 and diodes D6 and
D7. Negative excursions of signals are prevented and the signals input to IC1 are limited to +5V.
The RS232 interface is output on a 9-pin connector SK1 which provides a ground signal and a pull-up
signal. This allows for a high-level signal to be fed back into DTR, when the remote device does not provide
a DTR signal.
1.1.6 Network
The NET jack sockets SK2 and SK3 are connected in parallel to the NET input pin 36 on IC1. The network is
common emitter in that all stations on the network can either source current into the met or be turned
off. Jack plugs are used in such a way that any socket not used automatically terminates the network.
When a jack is inserted in the socket it breaks the connection to a 330 ohm resistor, R22 and R23,
disconnecting it from the circuit. With a network set up, the two end stations would be the only ones with
the 330 ohm resistors in circuit. There is therefore their combined resistance, giving a pull-down
impedance of about 165 ohms to the circuit. Zener diode Z1 provides protection for NETIN by clamping
pin 16 to 5.1V.
1.1.7 Microdrive Control
Seven lines are used by gate array IC1 to control the input and output of data to and from the microdrive.
These signals are summarised in the table below.
7
Signal
Function
IC Pin No.
ERASE
Control of erase current to microdrive.
35
R/W
Instructs microdrive to either read or write.
29
COMMS OUT
Microdrive selection. Also selects NET/RS232 when microdrive not in use.
30
COMMS CLK
Microdrive clock.
31
WR PROT
Input which informs IC1 of the status of the write protect switch on the selected
microdrive.
32
DATA 1
Data to/from microdrive track number 1.
37
DATA 2
Data to/from microdrive track number 2.
38
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
1.2 ZX MICRODRIVE
The ZX microdrive is a 'floppy tape' system used to store and retrieve up to 100 kilobytes of information
per cartridge. It is connected to the Spectrum via ZX Interface 1 and its own flexible ribbon cable, and
houses all its own read/write and motor control electronics within its case. Expansion port connectors on
each microdrive allow up to 8 devices to be plugged together and connected to one Spectrum computer.
The microdrive cartridge uses a continuous loop of 2 mm wide video tape. Data is written on two tracks
using a standard stereo head arrangement and is written in bytes, one byte to each track. Data is read
from the tape in the same way. Software sees the tape as one continuous track since hardware takes care
of switching between tracks.
Although up to 8 microdrives can be connected together and controlled from one Spectrum, only 1 can
be in use at any instant. The required microdrive and the type of operation, read or write, is selected
under software control. During a read operation data is read from the Selected microdrive tape. During a
write operation, the microdrive tape is erased before being written. The erase head is displaced from the
write head and is timed by IC1 to sink current before the write head is enabled.
Microdrives are selected using the COMMS OUT and COMMS CLK signals from IC1. Each microdrive
control circuit (IC1 on the microdrive circuit diagram), contains one stage of a shift register (a flipflop).
COMMS CLK is connected to each microdrive and COMMS OUT is routed via the expansion connector to
the COMMS IN pin on the next microdrive, which is the input to the shift register. To select a particular
microdrive a '1' is shifted into its shift register to give a '1' on its COMMS OUT pin.
COMMS OUT not only feeds the next microdrive; it is used to select its own IC internal functions and to
select the LED, the motor, the erase current and the write protect for the selected microdrive. Therefore,
while this signal is low the motor is disabled, the LED is off, no current can flow through the microdrive
switch and therefore no erase current can flow.
Consider the motor drive circuit. A high on pin 20 of IC1 turns on Q1. This pulls the base of Q2 low turning
it on and switching power to the motor. Capacitor C10 and resistor R2 time constant ensure that the
motor does not cut in too quickly and damage the tape. The red indicator LED D5 is switched on at the
same time. With Q2 turned on and the write protect microswitch closed, the erase head current circuit is
enabled via pin 6 of the headboard connector. When the erase output is enabled on pin 35 of IC1,
transistor Q9 switches on and current flows in the selected microdrive erase head. Diodes D3 and D4
provide protection against reverse currents. Diodes D1, across the erase head, and D2 perform similar
functions. The amount of current flowing in the erase head is limited by IC1 and is about 25 mA.
The write protect signal, WR PROT, on pin 32 of gate array IC1 is normally low. A selected microdrive pulls
this signal high when the WR PROT microswitch is closed. When the microdrive cartridge is not present or
the write protect flange is broken off this signal is low, informing the user that it cannot write.
8
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
During read/write operations the R/W signal on IC1 pin 23 places the selected microdrive in either the
read or the write mode, and enables the read or the write amplifiers.
Data is recorded on 2 tracks using a standard stereo cassette head arrangement and is written in bytes,
one byte to one track and the next byte to the other track. It is recovered in the same way. The tape itself
is one continuous loop. Since hardware takes care of switching between tracks the software sees the tape
as one double-length single track.
Power to the microdrive circuits has to be filtered and IC2 and capacitors C3 and C4 are used to
accomplish this.
Consider a read cycle. In the read mode, the signals appearing in the two read coils inside the heads are
differentially amplified through two amplifier chains within IC1. The signals are then converted to digital
form to enable logic processing. The outputs from the 2 amplifiers, in digital form are enabled into the
DATA 1 and DATA 2 outputs from IC1 on pins 24 and 19. These signals are routed to the interface within
the gate array via microdrive edge connector J2.
The signal recorded on magnetic tape is at the greatest when the rate of change of the signal imposing it
was at its fastest. Therefore, when a squarewave has been written, the greatest recovered voltage is
obtained on the edge of the pulse. Since the object is to produce a waveform which changes at the peaks
of the recovered signal, IC1 contains amplifiers to bring the signal up to the required level, and a peak
detect circuit which changes state when the input reaches its greatest level. The peak detector is followed
by a hysteresis circuit which ensures that the output does not change on spurious signals.
The gain of the circuit should not need to be changed, as only one type of high quality video tape is used.
The reproduce signal levels may be read across capacitors C1 and C2 and are typically in the order of 400
mV to 500 mV and 250 mV to 350 mV for the low frequency and high frequency signals respectively. In
the record mode, the modulator in IC1 converts the ones and zeros in the data into FM (frequency
modulation) where there is always a transition at the beginning of the bit cell. If the data is a one, there
is a transition at the beginning and in the middle of the bit cell, which means essentially that the frequency
doubles if the data contains ones.
The gain of the circuit can be adjusted if necessary by changing the ratio of resistors R9 and R8 on pins
15 and 14 of IC1.
Consider a write cycle. When the R/W signal from the gate array goes low the selected microdrive is
placed in the write mode. This has the effect of changing DATA 1 and DATA 2 on IC1 from outputs to
inputs. These inputs are used to drive current sources for track 1 and track 2. When DATA 1 is high, for
example, current is pulled in one direction through the head, when it is low current is pulled in the other
direction. Writing is done with an asymmetric write current. Because the erase function is carried out
with a DC field, it is necessary to write 'harder' in one direction than in the other to overcome residual
magnetism. Resistors R4 and R5 on pins 11 and 7 of IC1 are chosen to allow this action. Should a
9
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
different tape be introduced or a different head type be fitted, these resistors would also need to be
changed.
1.3 ZX INTERFACE 2
The ZX interface 2 connects directly to either the ZX interface 1 module or to the Spectrum expansion
connector. It provides the interface for any joystick that has a standard 9-way D plug and enables the use
of ZX ROM cartridge software. It also enables joysticks to be used with cassette-loaded programs and
provides a connector for a ZX printer.
The interface comprises 1 printed circuit board upon which are mounted a single integrated circuit and
all the input/output connectors.
With the interface 2 connected to either the Spectrum or interface 1 and with a ROM cartridge inserted,
the /ROMCS2 signal disables the Spectrum ROM and enables the Spectrum to interface with the ROM
cartridge. The Spectrum CPU then uses its address, data and control busses to access the ROM via the
expansion connector.
The Interface 2 ULA is a custom-built CMOS integrated circuit which plugs into the PCB mounted socket.
Figure 1.4 gives a schematic of the device. Address bits A0, A11 and A12 are used to address the 2 joysticks,
with /IORQ and /RD performing their standard control functions. Lines K1 to K9 receive the control inputs
from the 2 joysticks. The functions and connection details are summarised in the table below.
Pin No.
SK3
SK4
Function
1
K9
K4
UP
2
K8
K3
DOWN
3
K6
K1
LEFT
4
K7
K2
RIGHT
5
-
-
-
6
K0
K5
FIRE
7
-
-
-
8
0V
0V
COMMON
9
-
-
-
Note: K0 to K9 correspond to keyboard keys 0 to 9.
The rear edge connector provides connections for a ZX Printer.
10
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
1.4 POWER SUPPLY
The Spectrum power supply is capable of driving the Spectrum, interface 1, interface 2, ZX printer and 8
microdrives at the same time.
11
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
12
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
13
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
14
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
15
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
16
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
17
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
18
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
19
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
2 DISASSEMBLY/ASSEMBLY
Introduction
ZX Interface 1
ZX Microdrive
ZX Interface 2
2.1 INTRODUCTION
This section details the disassembly procedures for the two interfaces and the microdrive. In general, the
assembly procedure is the reverse of disassembly although certain precautions are included where
considered necessary. The only tool required is a small cross-head screwdriver.
CAUTION
This equipment contains CMOS integrated circuits. All surfaces and handling devices must be properly
earthed in order to avoid damage resulting from electrostatic discharge.
2.2 ZX INTERFACE 1
Turn the interface upside-down and remove 5 cross-head screws securing the top cover to the base. Lift
the base clear and place on one side. Remove two 5/8in self-tapping screws used to secure the interface
to the Spectrum and turn the interface right-side up on a clean work surface. Remove the 2 cross-head
screws securing the printed circuit board to the top cover and while restraining the edge connector, ease
the top cover clear.
Assembly is the reverse of disassembly, remembering to replace the 5/8 in self-tapping screws in the
recesses provided BEFORE fitting and securing the base.
2.3 ZX MICRODRIVE
Using a small blade screwdriver, carefully lift one corner of the adhesive cover trim. Having partially
separated the trim from the cover, remove it completely and discard. Remove two cross-head screws
previously obscured by the trim and after releasing a tongue positioned along the back edge, separate the
top cover from the base.
NOTE: The LED affixed to the cover is connected to the base PCB via flying leads. These prevent the
cover and base being separated entirely.
20
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
To renew the motor assembly or components on either PCB, it is advisable to separate the base from the
head chassis and base PCB by proceeding as follows. Remove 2 cross-head screws securing the base PCB
to the base and a further cross-head screw, accessible on the underside of the microdrive, securing the
base to the head chassis.
CAUTION
Having removed the base, take care not to place excess strain on the flex cables linking the head and base
PCB’s. Do not attempt to separate the head PCB from the head chassis, as the read/write head alignment
is critical. Special tools are needed to re-align this assembly.
Assembly is the reverse of disassembly taking care not to trap the flying leads between the head p. c.
board and the base. After replacing the top cover, fit a new adhesive trim.
2.4 ZX INTERFACE 2
Turn the interface upside-down and remove 4 cross-head screws. After lifting the base clear, the PCB is
easily separated from the top cover.
Assembly is the reverse of disassembly taking care to orientate the PCB correctly.
21
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
3 SYSTEM TEST
Introduction
ZX Interface 1
ZX Microdrive
ZX Interface 2
3.1 INTRODUCTION
The use of the following test procedures is strongly recommended after carrying out unit repairs, thus
ensuring that a once defective unit is completely operational before return to the owner. The procedures
may also be used effectively during fault diagnosis (Section 4).
In each instance, where the list of test equipment specifies a ZX Spectrum, or ZX Interface 1 or a ZX
Microdrive, use a workshop serviceable unit, NOT one returned by the customer.
3.2 ZX INTERFACE 1
The following are a number of tests to verify the operation of the various functions of the ZX Interface 1
unit. The Interface 1 should be connected to a known good ZX Spectrum or Spectrum + and a known
good ZX Microdrive.
a) After switch-on, key in:
PRINT p [ENTER]
which should give the message 'Variable not found'.
Then key in:
RUN [ENTER]
The message 'Program finished' should appear. This indicates that the paging mechanism is
working, the ROM is functional, IC2 and IC3 are functional, and that (at least) parts of the ULA and
most of the connections to the Spectrum are good. If the message "OK" appears, this means that
the ZX interface 1 is not functioning or not connected.
b) Key in CAT 1 [ENTER].
If the red LED on the microdrive lights and the motor spins briefly, this indicates that pins 29-32,
37 and 38 of the ULA are functioning properly.
c) To test the RS232 and NET ports, plug into the RS232 port a D connector with pins 2 and 3 shorted
together, and pins 4 and 5 shorted together. Then run the following program:
22
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
2 PRINT "RS232 TEST: ";
10 OUT 239,255: OUT 247,1
20 IF IN 247<128 THEN GO TO 99
30 OUT 247, 0
40 IF IN 247>127 THEN GO TO 90
50 PRINT "PASS 1; ";
70 GO SUB 200
80 IF NOT d THEN GO TO 99
85 OUT 239,239: GO SUB 200
87 IF d THEN GO TO 99
90 PRINT "PASS 2 ": GO TO 100
99 PRINT "FAIL ": STOP
100 PRINT "
NET TEST: ";
120 OUT 239,254: OUT 247,1
130 LET d=IN 247: IF INT (d/2)<>d/2 THJEN GO TO 99
140 OUT 247, 0
150 LET d=IN 247: IF INT (d/2)=d/2 THJEN GO TO 99
160 PRINT "PASS ": STOP
200 LET d=IN 239: FOR i=7 TO 4 STEP -1: IF d>=2^i
THEN LET d=d-2^i
220 NEXT i: LET d=(d>7): RETURN
The first part of the RS232 test checks the data send/receive, and the second part checks the DTR
function. If the RS232 function still does not work despite passing these two tests, the ULA must
be functioning and the voltage levels between the ULA and the RS232 Socket Should be checked.
d) Clock Test: Try formatting a cartridge in the ZX Microdrive. If the screen border remains black
during the first part of the format, this indicates a clock problem in the Interface 1, and the crystal
circuit should be examined.
23
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
3.3 ZX MICRODRIVE
There are some basic tests that can be carried out using the following program. This should be run with
the microdrive unit connected to a known good system.
6 LET d=1
7 PAPER 7: CLS
90 BORDER 0: INK 2: PRINT AT 5,2;"Microdrive/
Interface 1 Tester "
100 LET a$= "A ": FOR i=1 TO 8: LET a$=a$+a$: NEXT i
101 PRINT #0; INK 6; "WRITE TEST"
105 OPEN #4;"m";d;"Text"
110 PRINT #4;a$
120 CLOSE #4
125 PRINT #0; INK 5; "READ
TEST"
130 OPEN #4;"m";d;"Text"
140 INPUT #4;b$
150 IF a$<>b$ THEN PAPER 0: INK 7: CLS: PRINT "WRITE
FAILURE ": STOP
160 CLOSE #4
165 PRINT #0; INK 4; "ERASE TEST"
170 ERASE "m";d;"Text"
175 CLS
180 PAPER 0: INK 7: CLS: PRINT "DRIVE OK"
190 PAUSE 0: STOP
With a blank cartridge inserted in the Microdrive, the above program performs a simple exercise of the
'write', 'read' and 'erase' functions.
An indication of another class of problem can be gained from the screen during the format operation. If
the screen remains white during the third stage of the format, this is a sign of noise on the write line. In
this case, the motor alignment, the Microdrive ULA, or the voltage regulator should be checked.
The waveforms at either end of C1 and C2 are significant for fault diagnosis. Key in:
OUT 239,252: OUT 239,254 [ENTER]
to set the ZX Microdrive spinning. Look at the waveform, ensuring that the oscilloscope lead is earthed on
the body of the regulator. There should be packets of oscillating voltage (one long, two short), separated
by quiet areas. The oscillating voltage should be about 0.5V peak-to-peak, but the important thing is that
it should be consistent, and not vary. The other important parameter is the noise level in the quiet
patches. This should not be more than 25mV. The best way to check waveforms is to compare with those
on a known good unit.
24
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
3.4 ZX INTERFACE 2
The most practical test for the ZX interface 2 is a functional check using a suitable ROM cartridge (e.g.
Space Raiders) and a pair of industry-standard joysticks.
ZX interface 2 is plugged into the ZX Spectrum and the ROM cartridge software RUN in the normal way.
Provided the game employs joystick controls it is a simple matter to determine whether the game is
running correctly and the UP, DOWN, LEFT, RIGHT and FIRE control switches are operational.
If the game does not run, suspect the ZX Interface 2 PCB and/or edge connectors. The same applies if the
joysticks are non-operational but also include a check of the 9-pin D-type connectors and possible renewal
of the ULA.
25
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
4 FAULT DIAGNOSIS AND REPAIR
Introduction
Modification History
Fault Diagnosis
Techniques
Initial Checks
ZX Interface 1
ZX Microdrive
ZX Interface 2
Repair
4.1 INTRODUCTION
Section 4 is intended as a guide to the fault diagnosis and repair of the ZX Interface 1, ZX Microdrive and
ZX Interface 2. It is assumed that the service engineer has a reasonable knowledge of electronic theory,
servicing and fault-finding techniques and has access to the test equipment and tools required to carry
out the task. The following items of test equipment and materials is the minimum recommended:
a)
b)
c)
d)
e)
26
Oscilloscope with rise time 0.02 S/cm
Oscilloscope probe (X10)
Multimeter, general purpose
Head cleaner (Open market)
Motor location jig as shown:
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
For details of how the ZX Interfaces 1 and 2 and the ZX Microdrive connect to the Spectrum and for
Spectrum operating procedures, refer to the relevant manuals which accompany each unit.
4.2 MODIFICATION HISTORY
4.2.1 ZX Interface 1
A small number of the EPROM version of the ZX interface 1 were produced. This version is characterised
by a socket mounted EPROM in the IC2 position and by IC3 and IC4 mounted pickaback fashion.
CAUTION
This version has no keyway on the microdrive edge connector. Take care when connecting a keyway-less
ribbon connector, otherwise a short-circuit could occur.
Where Q3, Q6 and Q9 are Ferranti type BC184P, these are inserted in the opposite orientation to the
PCB legend.
4.2.2 ZX Microdrive
A number of modifications have been introduced on the microdrive. These modifications and the
reasons for their implementation are summarised below:
a) A 22uF capacitor C7 has been added across Q2 base to collector. This allows the motor to build
up to running speed, rather than change from rest to speed immediately with the possibility of
damage to tape. This modification should be checked for and if necessary fitted retrospectively.
b) Capacitors C1, C2, C6, and C8 have been changed from polystyrene to ceramic axial, purely for
convenience of production. The value of C1 and C2 has also been changed from 150 pF to 220 pF.
This value change should be checked for and if necessary fitted retrospectively.
c) A 47nF capacitor has been added between pins 9 and 12 of IC1. This is a decoupling capacitor
which prevents high frequency interference.
d) The microswitch positioning peg has been moved 1/2 mm towards the base edge. In early issues,
the microswitch moving arm can be bent by rough use, causing incorrect switch operation.
e) The ratchet roller, ratchet and ratchet-spring (Fig. 4.1) have been replaced by two rollers, one
rubber and one plastic, which operate more simply and economically. The ratchet is designed to
stop a loop forming in the tape as the roller is turned mechanically by the action of inserting the
cartridge. In the drive position, the cartridge disables the ratchet.
f) A harder material has been used for the clamp spring. It has been found that the original material
did not retain its spring and sometimes required to be bent back to its original position.
g) Where Q1 is Ferranti type BC184P, this transistor is inserted in the opposite orientation to the
PCB legend.
27
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
4.2.3 ZX Interface 2.
No problems have to date arisen with this unit.
28
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
4.3 FAULT DIAGNOSIS
4.3.1 Techniques
In a closed loop system such as a computer, because of the interdependence of numerous component
parts, fault diagnosis is not necessarily straight-forward. In addition, because of the high speed cyclic
operation, interpretation of any waveforms on control, data and address lines as being valid depends to
a large extent on practical experience of the system.
Since the number of discrete components is limited, it is possible that the major source of faults will be
within integrated circuits. However, before any IC is changed, waveforms and levels in the circuit must be
checked. Experience has shown that the best method of initially checking waveforms and levels can be to
compare with the Same point in a known serviceable board. The following pages provide a basic faultfinding procedure and a list of possible faults along with suggested remedies.
As a matter of course, the suspect board should be inspected for obvious faults such as burnt-out
components or raised tracks. Edge connector pins should also be cleaned either with an eraser or an
appropriate cleansing agent, applied with a small stencil brush and wiped clean with lint-free cloth. Pin
connections should be inspected for damage.
Suspect units should be connected into the test system using workshop cables and connectors which are
known to be serviceable. If a successful test result is obtained then the customer's cable/connector must
be faulty.
4.3.2 Initial Checks
Before power is applied to a suspect unit a check should be made between each power rail and 0V to
isolate any short circuits. Check for open circuit between 0V and the pins set out in the following table:
Device
Connector
Pin No.
0V Pin (Ground)
Power Rail
ZX Interface 1
SK4
3b
4b
20a
22a
6b
6b
6b
6b
+5V
+9V
-5V
+12V
ZX Microdrive
Edge connector
4b
6b
+9V
ZX Interface 2
Spectrum edge
connector
3b
4b
6b
6b
+5V
+9V
29
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
4.3.3 ZX Interface 1
With this unit connected to a known serviceable system, apply power. Carry out the checks set out in the
table below to establish start conditions.
CAUTION
Do not connect Interface 1 with the power ON as damage to inductance L1 and the ULA may occur.
Function
Circuit Ref.
Waveform/Voltage value
Onboard DC Power supplies:
+5V
IC1 pin 40
-5V
Pin 20a of exp. conn.
5V DC +/-0.25V – no discernible
ripple
-5V DC
+12V
-12V
+9v
R11
R17
R34
+12V DC
-7V DC
+9V DC
Clock pulses
IC1 pin 5
8.0MHz square wave at +5V
amplitude
Carry out the ZX Interface 1 tests described in Section 3.2, which also gives details of fault diagnosis.
As an additional check, try loading a program from Microdrive. The following table lists possible faults
and remedies.
Symptom
Remedy
Software does not load
(1) Check for low on pin 20 of IC2 and pin 6 of
IC1. If high, replace IC3.
(2) Renew IC2.
(3) Renew ULA IC1.
Software does not run and one of the following
messages displayed:
Renew ULA IC1.
File not found
Microdrive not present
4.3.4 ZX Microdrive
With the ZX microdrive connected to a serviceable system, apply power. Establish that on-board
voltages are correct by carrying out the checks set out in the table below:
Voltage
Circuit Ref.
Voltage Value
+5V
IC1 Pin: 11, 7, 9
+5V/+5V/+5V, no discernible ripple
+9V
Pin 10 of ribbon connector
+9V
30
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
Perform the ZX Microdrive tests described in Section 3, para 3.1-3.2.
The following table lists possible faults and remedies. For detailed diagnosis, use the test in Section 3,
para 3.3, as required.
Symptom
Remedy
Message ‘Microdrive not present’ is displayed
1) Check and/or replace Q2.
2) Renew IC1
If program stops during:
Write Test
1) Check R4, R5.
2) Renew IC1
Read Test
1) Check C1, C2.
2) Renew IC1.
3) Renew whole unit.
Message ‘Write protect broken’ displayed.
Microdrive does not operate although selected
correctly
Tape being looped out of cartridge causing jamming
Tight cartridge tape
Broken tape
Check microswitch
a)
Check motor
b) Check microdrive mechanics for:
I.
Burrs on headsprings (check
cartridge for scratches)
II.
Weak clamp spring (listen for
clicks/crunch sounds)
III.
Correct the operation of the
ratchet/spring assembly.
NOTE: If motor has overheated, check for buckled
base plate.
Head failure
Renew complete microdrive unit.
LED failure
Renew LED (LED is push-fitted)
4.3.5 ZX Interface 2
Since the ZX interface 2 comprises one integrated circuit and a number of connectors, fault finding is
simple. Connect the unit to a Spectrum and connect a games ROM cartridge, two joysticks and a printer
to the unit. Initiate the game and check out all functions. If a fault is found, power-down and replace IC1.
Printer faults must be due to discontinuity between input and output, since pin to pin connections are
used.
31
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
4.4 REPAIR
Renewal of components should be carried out using recognised desoldering/heatsinking techniques to
prevent damage to the component or the printed circuit board. General points to note are:
a) The head assembly in the microdrive is the only component which MUST NOT be changed.
b) When replacing the plug-in IC in interface 2 use the correct removal and insertion tools.
c) When handling ICs, take normal anti-static precautions. It is recommended that only a suitably
earthed, low power soldering iron be used.
d) When removing a soldered-in IC, cut each pin and remove the component before individually
unsoldering each pin.
e) After any component has been removed, the PCB should be examined carefully to ensure that
there are no solder 'splatters' which may cause short circuits between tracks or connector pins.
f) Disassembly/assembly instructions are given in Section 2.
Actions to take to rectify problems encountered in the mechanical operation of the microdrive are set
out in the following paragraphs.
Replace the motor as follows:
a) Insert the motor and loosely assemble the fixing screws.
b) Insert the motor location jig to position the motor.
c) Tighten fixing screws.
NOTE: When renewing the motor also renew the plastic and the rubber drive rollers. If the
motor has a combined rubber roller and ratchet, discard complete ratchet assembly and replace
with the rubber and plastic roller. The gap between the rubber roller and the plastic roller
should be 0.25mm.
d) Perform the following motor drive test:
i.
ii.
With a cartridge inserted and the motor running, push the cartridge gently away from
the motor drive roller until tape movement ceases.
Release the cartridge. It should return under the action of the clamp spring and tape
movement restart without any rattling or noise. If this is not the case, then provided
that the clamp spring is set satisfactorily, the head spring must be adjusted as follows.
(Never adjust new type clamp spring which has a loop below chassis level).
e) If the motor drive test above indicates that the head spring needs adjusting, this is done as
follows:
i.
ii.
Unscrew the motor and push the head spring downwards on each side of the head to
achieve the dimension Shown below.
Replace the motor and set its position with the motor location jig.
The two problems associated with faulty mechanical operation of the cartridge are burrs on the head
springs and a weak clamp spring. Both faults prevent the cartridge from being firmly pushed into the
drive position and can cause intermittent operation, tape-spill etc.
32
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
Burrs on the head springs may be filed off using a small flat instrument file. Take care not to damage the
drive roller on the motor side.
The clamp spring may be bent back into position using a pair of bull-nosed pliers. The final position of the
spring should be within the diameter of the adjacent head- assembly post.
33
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
5 PARTS LIST
Introduction
ZX Interface 1
PCB Assembly
Case Assembly
ZX Microdrive
Head Board Assembly
Base Board Assembly
Head Chassis Assembly
Case Assembly
ZX Interface 2
Assembly
5.1 INTRODUCTION
The following parts tables list only those components considered practicable to renew. The microdrive
record/playback is not listed, neither are the side, head and ratchet springs.
5.1.1 ZX Interface 1 PCB Assembly
Circuit Reference
Capacitors
C1, C2
C3
C4
C5
C6
C7, C8
Coil
L1
Diodes
D1, D2
D3, D4
D6 to D8
D9 to D11
Integrated Circuits
IC1 (ULA)
Value
Rating
Tolerance
Manufacturer/Type
Notes
47uF
100pF
22pF
47nF
47uF
330pF
16V
5%, 50V
5%, 50V
+80%, -20%, 50V
16V
10%, 50V
Electrolytic
Ceramic
Ceramic
Electrolytic
‘Tayo’
Axial
Axial
Axial
Axial
Axial
Axial
22uH
0.41A
-
-
BA157
1N4148
BZX79CV4V3
1N4148
Rectifier
Signal
Zener
Signal
4.3V
500mV
IC2 (ROM)
General Instrument LA15302
Motorola SCH9288 OP
IC3
IC4
74LS260
Motorola 74HCU04N
34
Alternative is Texas
TMS4764NLZA
62408
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
Circuit Reference
Value
Rating
Tolerance
Manufacturer/Type
Resistors
R1
R2
R3
R4
R5
R6
R7
R8
R9
R10
R11
R12
R13
R14
R15
R16
R17
R18
R19
R20
R21
R22
R23
R24
R25
R26
R27
R28
R29
R30
R31
R32
R33
R34
R35
R36
1K0
1K0
3K9
1K0
3K9
47R
3K9
10K0
1K0
12K0
680R
1K0
12K0
3K9
2K7
680R
1K0
2K7
10K0
330R
330R
4K7
10K0
10K0
NOT USED
6K8
6K8
270R
1K0
680R
10K0
330R
47K0
10K0
0.25W, 5%
Carbon
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
Carbon
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
Carbon
35
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
0.25W, 5%
Carbon
Carbon
Carbon
Carbon
Carbon
Carbon
Notes
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
Circuit Reference
Value
Rating
Manufacturer/Type
Tolerance
Transistors (* Ferranti BC184P permitted exceptionally, Q11 fitted on later boards only)
Q1
BC213C
Q2
BC213C
Q3
Motorola BC184, BC184B or
BC184C *
Q4
BC213C
Q5
BC213C
Motorola BC184, BC184B or
Q6
BC184C *
Q7
NOT USED
Q8
NOT USED
Q9
Motorola BC184, BC184B or
BC184C *
Q10
Ferranti ZTX313
Q11
Ferranti ZTX313
Miscellaneous
SK1
SK2
X1
8.0MHz
1% nominal
Notes
Alternative is
BC183L
Alternative is
BC183L
ITT Common, Pye/9-way ‘D’
socket
Tuda/3.5mm jack socket
G English/HC18U
5.1.2 ZX Interface 1 Case Assembly
Item
Cover
Base
Screw (2 off)
Screw (2 off)
Screw (5 off)
Ribbon Cable
Jack Cable
36
Description
C’sk, 4.2mm x 5/8 in lg
C’sk, 4.2mm x 3/8 in lg
C’sk, 4.2mm x 1/2 in lg
Interface 1 to Microdrive
3.5mm jack ends x 2m lg
Manufacturer/Type
Kenure/S12110
Kenure/S12111
Plastite
Plastite
Plastite
Varelco
Able
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
5.1.3 ZX Microdrive Head Board Assembly
Circuit Reference
Resistors
R4
R5
R6 to R9
Capacitors
C1
C2
C3
C4
C6
C7
C8
C9
C10
Diodes
D1
D2
Integrated Circuits
IC1 (ULA)
IC2
Value
Rating
Tolerance
Manufacturer/Type
Notes
150R
180R
4K7
0.25W, 5%
0.25W, 5%
0.25W, 5%
Carbon
Carbon
Carbon
-
220pF
220pF
0.47uF
0.22uf
330pF
NOT USED
330pF
NOT USED
48nF
2.5%
2.5%
50V
50V
2.5%
Ceramic
Ceramic
Electrolytic
Electrolytic
Ceramic
Axial
Axial
Radial
Radial
Axial
2.5%
Ceramic
Axial
+80%,-20%,50V
Tayo
Axial
-
-
1N4148
1N4148
Signal
Signal
Ferranti ULA2G007
78M05
Regulator
Manufacturer/Type
Notes
Carbon
Carbon
Carbon
-
Link
Electrolytic
Axial
Axial
1N4148
1N4148
Signal
Signal
Motorola
BC184/BC184B/BC184C
Ferranti ZTX551
-
5V
5.1.4 ZX Microdrive Base Board Assembly
Circuit Reference
Value
Rating
Tolerance
Resistors
R1
33K0
0.25W, 5%
R2
1K0
0.25W, 5%
R3
820R
0.25W, 5%
R4
Capacitors
C5
47nF
+80%,-20%,50V
C7
22uF
Diodes
D3
D4
Transistors (* Ferranti BC184P permitted exceptionally)
Q1 *
Q2
37
-
-
-
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
5.1.5 ZX Microdrive Head Chassis Assembly
Item
Head assembly
Motor
Drive Roller
Plastic Roller
Microswitch
Screw (2 off)
Screw (1 off)
Description
Manufacturer/Type
This component must not be changed.
9V, 2400rpm, clockwise rotation
Mabuchi EG-500AD-9F
Smooth wall
RE Components
C’sk, 4mm, Pozidrive
Pan hd, 2.28mm x 3/8 lg
M2.5
Plastite
Description
Spectrum Logo
Red
5 way x 1 in flex cable
5 way x 1½ in flex cable
7 way daisy-chain
Pan hd, 4.2mm x 1/4 in lg
Pan hd, 4.2mm x 1/2 in lg
C’sk, 4.2mm x 3/8 in lg
Manufacturer/Type
Kenure/S12090
Kenure/S12095
James Cook S12095
G English/LN28PP(T)
Dean
Dean
Pye S12102
Plastite
Plastite
Plastite
Description
Integrated Circuit
28-way edge connector
15-way edge connector
9-way ‘D’ type connector
C’sk, 2.9mm x 13mm lg
Manufacturer/Type
MCE HT62001
Pye
Pye
ITT Cannon
Canton-Hill SRC126
Canton-Hill SRC127
Canton-Hill SRC128
Plastite
5.1.6 ZX Microdrive Case Assembly
Item
Cover
Base
Cover Trim
LED
Inner Flex
Outer Flex
Connector
Screw (4 off)
Screw (1 off)
Screw (2 off)
5.1.7 ZX Interface 2
Item
IC1 (ULA)
SK1
SK2
SK3, SK4
Upper case
Lower case
Case lib
Screw (4 off)
38
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
5.2 BOARD LAYOUTS
ZX Interface 1 Board Layout
39
Sinclair ZX Interface 1, Interface 2 and Microdrive Service Manual
Spectrum For Everyone https://spectrumforeveryone.com/
ZX Microdrive Base Board Layout
ZX Microdrive Head Board Layout
40
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertising