Chapter 2
12
request to devices connected behind it. A peripheral’s position within the chain of
connected devices therefore sets its access priority to the ROM address space. The
highest priority position is at the end of the chain of devices, with priority decreasing
the closer to the Spectrum a device gets. The lowest priority ROM is always the one
inside the Spectrum. To ensure all connected ROM based devices coexist without
conflict, it is necessary to determine the appropriate priority for each of them. This then
translates directly into the order that they should be connected behind the Spectrum.
Often the connection order of peripherals is quite apparent. For example, the physical
shape of the ZX Interface 1 means it can only be connected directly behind the
Spectrum. Likewise, the reduced width expansion bus at the rear of the ZX Interface 2
means that only a ZX Printer can be connected behind it, and so forces the
ZX Interface 2 to become the last connected ROM based device (the ZX Printer does
not contain a ROM). If a SPECTRA interface were added to a Spectrum system fitted
with a ZX Interface 1 and ZX Interface 2 then clearly there is no choice but to connect
it in between these two devices.
Another factor limiting the connection order is whether a peripheral provides a rear
expansion port. If it does not then it dictates that it must be the last connected device.
Although a cheap option for the manufacturer, it can be a frustration to the user who
finds it prevents the connection of other devices. The ZX Interface 2 falls into this
category, although it does at least provide the ability to connect a ZX Printer behind it.
Sinclair imposed this limitation on the ZX Interface 2 purely to keep the cost of its
manufacture to a minimum. Ideally, a ROM based device should disable its ROM
whenever it detects a peripheral connected behind it is requesting access to the ROM
address space. However, to do this requires circuitry, and hence increased cost.
Sinclair removed the need for this cost in the ZX Interface 2 by simply ensuring that no
other Spectrum peripheral could be connected behind it. Sinclair needed a way to
allow a ZX Printer to be connected since it was an official peripheral sold for the
Spectrum. It could not be connected ahead of the ZX Interface 2 since it used a
smaller width edge connector (having originally been developed for use with the
ZX81), but this worked in Sinclair’s favour because it allowed the ZX Interface 2 to be
equipped with a rear expansion bus only wide enough and only exposing those
signals required by the ZX Printer.
Even though a peripheral might provide a rear full width expansion port, it does not
necessarily follow that all signals are routed to it and so there may be little choice but
to connect the peripheral behind the SPECTRA interface. If modifying the peripheral is
acceptable then an alternate solution would be to add the missing connections by
soldering wires between the peripheral’s edge connector and its expansion bus,
thereby allowing the peripheral to be connected in front of the SPECTRA interface.
For ROM based peripherals that do provide a complete rear expansion port, the order
they should be connected in depends upon the functionality they provide. ROM based
devices fall into three categories: