EasyManuals Logo
Home>Sinclair>Desktop>ZX Spectrum

Sinclair ZX Spectrum User Manual

Sinclair ZX Spectrum
82 pages
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Page #75 background imageLoading...
Page #75 background image
Appendix B
73
Hardware compatibility
The SPECTRA interface provides various options to achieve compatibility with existing
Spectrum peripherals and software. Its RS232 port can be disabled to prevent a
conflict with a ZX Interface 1, and its joystick port can be disabled to prevent a conflict
with another device which already provides a Kempston joystick socket. Its new
display modes can also be disabled to ensure full I/O compatibility with all existing
peripherals and software.
As described in Chapter 4, the new display modes provided by the SPECTRA interface
are controlled using an I/O port. In theory there can be up to 65536 different input
ports and 65536 different output ports, but the range available on the Spectrum is
significantly less than this due to the use of partial address decoding. This method
causes a device to be selected when only a subset of address lines match a
particular pattern, and often Sinclair peripherals will check just one address line. For
example, the ZX Printer is selected whenever address line A2 is set to logic ’0’. This
means that no other device may use an I/O address in which line A2 is also at logic ’0’
otherwise a conflict will occur. The advantage of using partial address decoding is that
it reduces the amount of circuitry required and therefore lowers the cost of the device.
However, the disadvantage is that it dramatically reduces the number of usable I/O
addresses.
Some Spectrum manufacturers made matters worse by decoding I/O address $FF
(binary 11111111), which prevented other devices performing decoding on just the
high order address lines. As a result, peripheral manufacturers had soon used up all
non-conflicting I/O addresses, leaving no choice but for newer peripherals to duplicate
on addresses. This means that certain combinations of devices just cannot coexist
with each other.
The SPECTRA interface uses I/O port $7FDF (binary 01111111 11011111, decimal
32735) for both input and output to control its new display modes. It fully decodes all
address lines, thereby allowing other devices to use a base address of $DF and avoid
conflict by using different values for the high order address lines. However, devices
which just decode the base address $DF (binary 11011111) would clash. The
SPECTRA interface attempts to limit the number of such conflicting devices by
preventing display mode register accesses appearing on its rear expansion bus. It
does this by forcing the /IORQ line exposed on the rear expansion bus to logic ’1’
whenever an access to I/O address $7FDF occurs. Since devices connected behind
the SPECTRA interface are no longer able to detect such accesses, they cannot
respond to them. All other addresses which have a base of $DF are passed through,
and so a device will only fail to operate correctly should its software driver happen to
set the high order address lines to $7F during an I/O port operation (which is only one
out of the 256 possible values). If the device’s software driver does access I/O port
$7FDF then the only solutions left are to disconnect the device or to disable the new
display mode functionality via configuration switch 6.

Table of Contents

Other manuals for Sinclair ZX Spectrum

Questions and Answers:

Question and Answer IconNeed help?

Do you have a question about the Sinclair ZX Spectrum and is the answer not in the manual?

Sinclair ZX Spectrum Specifications

General IconGeneral
BrandSinclair
ModelZX Spectrum
CategoryDesktop
LanguageEnglish

Related product manuals