ZX Spectrum 16K/48K: Difference between revisions

Jump to navigation Jump to search
no edit summary
No edit summary
Line 13: Line 13:
== Case Design ==
== Case Design ==


The industrial design for the original rubber-keyed ZX Spectrum and the [[Spectrum+]] was by [[Rick Dickinson]], who had previously done the industrial design for the [[ZX80]] and [[ZX81]].
The industrial design for the original rubber-keyed ZX Spectrum and the [[Spectrum+]] was by [[Rick Dickinson]], who had previously done the industrial design for the [[ZX80]] and [[ZX81]]. One of the iconic elements of the design is the coloured stripes on the right side of its faceplate in the colours Red, Yellow, Green and Cyan. The exact Pantone colour values couldn't yet be retrieved. The angle of the stripes was measured as being at 24-degrees.


== ULA ==
== ULA ==


Much of the ZX Spectrum's custom logic is contained within an Uncommitted Logic Array and was designed by [[Richard Altwasser]]. The ULA was manufactured by [[Ferranti]]. ''The ZX Spectrum ULA'' by [[Chris Smith]] describes this device in detail.
Much of the ZX Spectrum's custom logic is contained within an Uncommitted Logic Array ("ULA") and was designed by [[Richard Altwasser]]. The ULA was manufactured by [[Ferranti]]. ''The ZX Spectrum ULA'' by [[Chris Smith]] describes this device in detail.


The ULA suffers from a few oversights in its design and implementation. An error in the timings applied by the ULA's [[Contended I/O|I/O contention]] circuit required a modification, the "dead cockroach", such that all I/O access to the I/O port that the ULA provides is contended as though the access is to the lower 16K of RAM, for which access is shared with the ULA.
The ULA suffers from a few oversights in its design and implementation. An error in the timings applied by the ULA's [[Contended I/O|I/O contention]] circuit required a modification, the "dead cockroach", such that all I/O access to the I/O port that the ULA provides is contended as though the access is to the lower 16K of RAM, for which access is shared with the ULA.
Line 31: Line 31:
Setting the Z80's I register to point within the range 0x4000–0x7fff causes the appearance of "snow" on the screen, as the ULA fails to correctly manage the Z80's DRAM refresh accesses.
Setting the Z80's I register to point within the range 0x4000–0x7fff causes the appearance of "snow" on the screen, as the ULA fails to correctly manage the Z80's DRAM refresh accesses.


Unlike many other Z80-based machines, the ZX Spectrum uses a memory contention scheme based on stopping the Z80's clock, rather than using the Z80's {{overline|WAIT}} signal. It is the ULA that implements this contention scheme, allowing code running in ROM or in the upper 32K of RAM and only accessing data in these areas to run at full Spectrum clock speed of 3.5 MHz. The approach taken by other Z80-based machines such as the Amstrad CPC requires that all Z80 M-cycles that access memory are slowed down regardless of the address that is accessed. Others, such as the MSX, use separate video RAM, accessed either using port I/O as in the case of the MSX, or otherwise requiring dual-ported VRAM.
Unlike many other Z80-based machines, the ZX Spectrum uses a memory contention scheme based on stopping the Z80's clock, rather than using the Z80's {{overline|WAIT}} signal. It is the ULA that implements this contention scheme, allowing code running in ROM or in the upper 32K of RAM and only accessing data in these areas to run at the full Spectrum clock speed of 3.5 MHz. The approach taken by other Z80-based machines such as the Amstrad CPC requires that all Z80 M-cycles that access memory is slowed down regardless of the address that is accessed. Others, such as the MSX, use separate video RAM, accessed either using port I/O as in the case of the MSX, or otherwise requiring dual-ported VRAM.


The vast majority of the first batch of ULAs made failed to operate correctly, save for one, in which it was noticed that a speck of dust had happened to land in the necessary position on the die to connect two halves of the ULA's clock circuit, one of which had accidentally been left unconnected.
The vast majority of the first batch of ULAs made failed to operate correctly, save for one, in which it was noticed that a speck of dust had happened to land in the necessary position on the die to connect two halves of the ULA's clock circuit, one of which had accidentally been left unconnected.
Line 41: Line 41:
Sold in Chile.  Didn't meet FCC standards, so was not sold in the USA — the [[Timex 2000 series|Timex TS2068]] was produced instead.
Sold in Chile.  Didn't meet FCC standards, so was not sold in the USA — the [[Timex 2000 series|Timex TS2068]] was produced instead.


Two machines found, one with 5C114E ULA, one with 6C011E-3.
Two machines found: one with 5C114E ULA, one with 6C011E-3.


== Software ==
== Software ==
Line 55: Line 55:
The [[Spectrum+]] makes use of same circuit board as the rubber keyboard model of the Spectrum, but with a larger hard plastic keyboard instead.  This keyboard features extra keys which map to combinations of keys on the rubber keyboard.  These extra keys cannot be scanned individually in software, as the membrane for the new keyboard has the same connections as the membrane for the rubber key model.
The [[Spectrum+]] makes use of same circuit board as the rubber keyboard model of the Spectrum, but with a larger hard plastic keyboard instead.  This keyboard features extra keys which map to combinations of keys on the rubber keyboard.  These extra keys cannot be scanned individually in software, as the membrane for the new keyboard has the same connections as the membrane for the rubber key model.


The same design of keyboard is also included in the [[ZX Spectrum 128]] and [[Sinclair QL]].
The same design of the keyboard is also included in the [[ZX Spectrum 128]] and [[Sinclair QL]].


Spectrum+ machines sold by Sinclair were assembled with later issues of the Spectrum PCB, although Sinclair sold a conversion kit to owners of the rubber keyboard model to upgrade to the newer keyboard, and these are compatible with older issues of the PCB as well.  PCBs can be swapped between rubber keyboard models and the Spectrum+ (a working PCB from a machine with a damaged case could be combined with a case from a machine with a damaged keyboard to produce a usable Spectrum+).  It should be noted that the heat dissipation properties of the two cases do differ, and that this can cause failures due to overheating.
Spectrum+ machines sold by Sinclair were assembled with later issues of the Spectrum PCB, although Sinclair sold a conversion kit to owners of the rubber keyboard model to upgrade to the newer keyboard, and these are compatible with older issues of the PCB as well.  PCBs can be swapped between rubber keyboard models and the Spectrum+ (a working PCB from a machine with a damaged case could be combined with a case from a machine with a damaged keyboard to produce a usable Spectrum+).  It should be noted that the heat dissipation properties of the two cases do differ and that this can cause failures due to overheating.


== Motherboards ==
== Motherboards ==
Line 71: Line 71:
=== Issue 1 ===
=== Issue 1 ===


The upper 32K was attached as a [[ZX Spectrum 48k ram upgrade]] daughter board for Issue 1.
The upper 32K was attached as a [[ZX Spectrum 48k ram upgrade]] daughterboard for Issue 1.


=== Issue 2 ===
=== Issue 2 ===
Line 77: Line 77:
For Issue 2, 16K Spectrums can be upgraded to 48K by adding four logic chips in addition to the eight DRAM chips, but it was typical for these to be sold as 48K machines in the first instance.
For Issue 2, 16K Spectrums can be upgraded to 48K by adding four logic chips in addition to the eight DRAM chips, but it was typical for these to be sold as 48K machines in the first instance.


The rubber key mat's colouring is a bluish grey starting with the Issue 2.
The rubber key mat's colouring is a bluish-grey starting with the Issue 2.


=== Issue 3 ===
=== Issue 3 ===


The Issue 3 Spectrum included a new, uprated speaker with louder output (Speaker impediance is now 40 ohms instead of 200 ohms for Issue 1/2 boards. This is buffered by a new transistor on the PCB (TR7, ZTX450) instead of being directly driven by the ULA.
The Issue 3 Spectrum included a new, uprated speaker with louder output (Speaker impedance is now 40 ohms instead of 200 ohms for Issue 1/2 boards. This is buffered by a new transistor on the PCB (TR7, ZTX450) instead of being directly driven by the ULA.


Starting with the Issue 3, a low power 6C ULA was used, with changes to the handling of the EAR socket which caused compatibility problems.  The "spider" fix was integrated into board.
Starting with the Issue 3, a low power 6C ULA was used, with changes to the handling of the EAR socket which caused compatibility problems.  The "spider" fix was integrated into board.
6

edits

Navigation menu