Sinclair ZX Spectrum
The Sinclair ZX Spectrum is a home computer that was released in the United Kingdom on April 23, 1982 by Sinclair Research
Based on the 3.50 MHz Zilog Z80A CPU, the Spectrum supported 16 KB or 48 KB of RAM
The hardware designer was Richard Altwasser for Sinclair Research and the software was written by Steve Vickers under contract to Nine Tiles Ltd, the authors of Sinclair BASIC
Sinclair industrial designer Rick Dickinson was responsible for the machine's exterior appearance
Originally called the ZX82, Sinclair renamed the machine “Spectrum” to highlight the machine's color screen, compared to the black and white of its predecessors, the ZX80 and ZX81
Description
The video output was intended for a television, for color graphic display
The rubber keyboard (similar to calculator keys) was marked with the Sinclair BASIC keywords, so, for example, pressing “G” in programming mode would insert the BASIC language command, GO TO
The experienced programmers were able to create BASIC programs much faster than machines of that era
Programs and data were stored using a cassette recorder normal
The Spectrum's video display, although rudimentary by today's standards, was perfect at the time for use in portable televisions, and did not present much of a barrier to game development
Text could be displayed with 32 columns × 24 rows of characters using the Spectrum character set, with a choice of 8 colors in normal or bright mode, which provided 15 shades (black was the same in both modes)
Image resolution was 256 × 192 with the same color limitations
The Spectrum had an interesting method of handling color; color attributes were kept on a 32×24 grid, separate from text or graphic data, but remained limited to only two colors in any given character cell
This led to the so-called colour clash or attribute clash with some weird effects in games arcade style
This problem became a distinctive feature of the Spectrum and a joke among Spectrum users, as well as a source of ridicule for proponents of other systems
Other machines available at that time, for example the Amstrad CPC, not suffered this problem
The Commodore 64 used color attributes, but hardware sprites and scrolling were used to avoid attribute clash
The Spectrum was the first home computer in the United Kingdom, with similar relevance to that of the Commodore 64 in the united States
The Commodore 64, often abbreviated as C64, being the main rival to the Spectrum in the UK market
An improved version of the Spectrum with better sound, graphics and other modifications was marketed in the United States by Timex Corporation called TS2068
Features
Features of the original ZX Spectrum included:
- Zilog Z80A 3.5 MHz microprocessor (8 bit data bus and 16 bit address bus). Accompanying the main processor was the ULA (Uncommitted Logic Array), in charge of performing auxiliary functions
- Two RAM configurations with 16 kB or 48 kB. It is interesting to note that, contrary to what the marketing might have recommended, the 16 kB of ROM was not included on each machine. Thus, the total memory of both models was actually 32 and 64 kB. The limit for 16 bit addressing was 64 kB
- These 16 kB of ROM included an interpreter of the BASIC SINCLAIR language developed by the company Nine Tiles Ltd. for Sinclair and that was an evolution of the one already developed for the two previous commercial machines of the brand, the ZX80 and the ZX81, and of the that the Spectrum was the successor. In the same memory area was the ASCII character set used by the machine by default (although you could point to other memory areas and define alternative characters) and a reserved area just before the screen memory, ideal for EPROMs that they could connect in the rear slot
- Rubber keyboard integrated into the computer, in the 16 kB model and in the first version of 48 kB. The original rubber keyboard pressed two membranes with conductive tracks to detect pressure. The membrane of the ZX Spectrum Plus had 3, this third layer widens the keys using the pressure of 2 contacts at the same time, to generate for example the quotation marks, these on the Spectrum 48K is done by pressing SYMBOL SHIFT and P (in the Plus could also be done in the same way). Such a membrane used to be the most fragile part of the computer and it was common for years to change it up to several times
- Common audio cassette tape storage system. The data was accessed at a rate of 1,500 bit/s on average. A 48 kB set took on average just under 4 minutes to load. There were games that used their own charging system, called "turbo", at a faster speed than the ROM operating system standard, although slightly more likely to cause load errors. As an additional peripheral, from 1983 Sinclair launched the ZX Interface 1 that could be connected to up to eight fast tape drives called a frequently used microdrive between software developers, which accessed the data at a speed of 120,000 bit/s (15 kB/s)
A new case was later developed, consisting of an improved keyboard with hard keys and 4 layers of membrane, to allow the pressing of two function keys in one, and the more professional case, with squared edges instead of rounded, which was named ZX Spectrum + (ZX Spectrum Plus)
This development was also sold as an upgrade and was often included along with a 16 kB Spectrum memory upgrade, which added a reset button and better ventilation
In short, the design of the computer was incredibly optimized and made the most of its seemingly small possibilities
All these features made the ZX Spectrum a very affordable and versatile device, bringing microcomputing closer to a large number of people
Graphic system
One of the peculiarities of the ZX Spectrum is its video system, being able to display an array of 256 x 192 pixels, but the color resolution was only 32 x 24, so groups of 8 x 8 pixels shared color information
Such color or attribute information consisted of: Background or paper color, ink or ink color, brightness attribute, and a flash attribute
The background color applied to pixels 0, and the ink color applied to pixels 1, each being selected from seven colors
The brightness attribute increased the brightness of colors (except black, which did not vary), so up to 15 colors (seven by two brightness levels, plus black) could be displayed on the screen
The flash attribute caused the two background/ink color attributes to be exchanged several times per second, giving a flickering effect.
Thus, we have 256 x 192 x 49152 bits x 6144 bytes destined for the bitmap (2048 bytes for every third of the screen) and 32 x 24 x 768 bytes dedicated to color, brightness, and flash, totaling a total of 6912 bytes
The problem of having different resolutions for bitmap and color forced game programmers, especially during the last stages of the computer's life, to adopt ingenious solutions to minimize collisions between colors, a phenomenon known as "attribute clash" in the anglo-saxon world
This was due to the ZX-Spectrum was not intended to operate as a video game machine
Although the “attribute clash” allowed the necessary video size to be reduced to 6.75 kB, this made some of the displayed graphics appear low quality if the design was not thorough
History and evolution
The hardware was designed by Richard Altwasser and the casing and appearance is a design by Rick Dickinson
The software (ROM firmware), as well as the extensive instruction manual was the work of Steve Vickers
All of them had participated in the design of Sinclair's previous models, the ZX80 and ZX81
In April 1982 two models appeared: one with 16 Kb for £125 (upgradable to 48 Kb for £60) and another with 48 Kb ex works for £175
With color image output and very acceptable sound, its small size and keyboard with hard rubber keys stood out, maintaining the traditional way of previous models of presenting complete words with keystrokes
With such a tight price, especially compared to competing models at that time, orders skyrocketed, Sinclair and the machine's assembly company, Timex, could not cope
In July 1982 there were already 30,000 orders pending and at the end of August (due to the staff's summer holidays, which were scrupulously respected) there were already 40,000 orders delayed, with the consequent annoyance of many buyers
Clive Sinclair himself made a public apology in the media and promised to have the orders delivered in September of that same year, which he fulfilled
By March 1983, more than 200,000 units of the ZX-Spectrum had already been sold, and the home video game market had become a profitable worldwide phenomenon
In just a few months, Sinclair Research Ltd. became one of the most solid and valuable companies in the sector at the time
The price of their machines dropped to £99.95 for the ZX-Spectrum 16 Kb, £ 129.95 for the ZX-Spectrum 48 Kb and £ 39.95 for the previous model, the ZX81
In 1981, Altwasser and Vickers left Sinclair to form their own company, which they called Jupiter Cantab (an abbreviation of Cantabridgian)
There they launched a machine with an identical architecture to the one used in the company they came from, the Jupiter Ace, on the market; however, it had practically no impact (only about 5,000 units were sold)
Educational application
Between 1980 and 1982 the UK Department of Education and Science started the Microelectronics Education Program to introduce microprocessing concepts and educational materials
Between 1982 and 1986, the Department of Industry allocated funds to help local education authorities in the United Kingdom supply their schools with a set of computers; the ZX Spectrum was very useful for control projects
Models
ZX Spectrum 16K / 48K (1982)
Released by Sinclair in 1982 and available with 16 kB (£125, later £99) or 48 kB (£175, later £129) of RAM and 16 kB ROM, the original ZX Spectrum is remembered for its rubber keyboard and tiny size
Owners of the 16 kB model could purchase an upgrade motherboard with 32 kB internal RAM, which consisted of 8 dynamic RAM and TTL chips
Users could mail their 16K Spectrums to Sinclair to upgrade to the 48K versions
To reduce the price, the 32 kB extension was composed of 8 simplified 64 kilobit chips with only half their active capacity
External 32 kB RAMpacks that mounted in the rear expansion slot were also available
As with the ZX81, RAMpack instability caused by a poor connection to the expansion caused disaster for many users, causing instant hangs and sometimes ULA or CPU fire
ZX Spectrum+ (1984)
This 48kB Spectrum, codenamed TB, introduced the new style of QL case with an injection-encapsulated keyboard and reset button, selling for a price of £ 180
There was also available an upgrade package for older machines
Most of the most common users, programmers and gamers, did not like the new keyboard
ZX Spectrum 128 (1986)
Sinclair developed the 128, codenamed Derby, together with its Spanish distributor Investrónica
Investrónica had helped adapt the ZX Spectrum + to the Spanish market after Spanish courts decreed that all computers with 64 kB of RAM or less must be compatible with the Spanish alphabet (including the letter ñ) and display messages in Spanish
New features included 128 kB of RAM, three-channel audio via the AY-3-8912 chip, MIDI support, RS-232 serial port, RGB monitor port, 32 kB ROM including an improved BASIC editor and an external keyboard
The machine was presented at the SIMO ’85 fair in Spain, with a price of 44,250 pesetas (€266), where it was later launched
The UK version remained without an external keyboard available, although it had the necessary ROM routines to use it and the port, which was renamed "AUX"
The Z80 processor used in the Spectrum had a 16-bit address bus, meaning only 64 kB of memory could be used
To facilitate access to the additional 80 kB of RAM, the designers used the bank switching technique to make the additional memory available in 6 16 kB pages at the top of the address space
The same technique was also used to perform lookups between the new 16 kB ROM for the editor and the original 16 kB BASIC ROM at the bottom of the address space
The new sound chip and MIDI output capabilities resulted in improvements to the BASIC programming language with the PLAY command and the new SPECTRUM command was added so that the machine could switch to 48K mode
To allow BASIC programmers access to the additional memory, a RAM disk was created where files could be stored in the additional 80 kB of RAM
The new commands occupied the space allocated to two of the user-defined characters, which caused compatibility problems with certain BASIC programs
ZX Spectrum +2 (1986)
The Spectrum +2 was Amstrad's first Spectrum, shortly after the purchase of the Spectrum range and the “Sinclair” brand
The machine featured a new gray cabinet with a spring-loaded keyboard, two joystick ports, and a built-in cassette recorder called the “Datacorder” (such as the Amstrad CPC 464), but it was (in all aspects visible to the user), identical to the ZX Spectrum 128
Production costs reduced and the price fell to £ 139 – £ 149
The new keyboard did not include the BASIC keywords found on previous Spectrums, except for the LOAD, CODE, and RUN keywords, which were useful for loading software
However, the design remained identical to that of the 128
ZX Spectrum +3 (1987)
The Spectrum +3 was similar in appearance to the Spectrum +2 but featured a built-in 3 inch floppy drive (such as the Amstrad CPC 6128) in place of the tape drive
It initially sold for £ 249, later for £ 199 and was the only Spectrum capable of running CP/M without additional hardware
The Spectrum +3 saw the addition of two more 16K ROMs, now physically implemented as two 32K chips
One was the home of the second part of the ROM reorganised 128K and the other housed the operating system disk
To facilitate the new ROMs and CP/M, bank-switching was refined, allowing the ROM to be paged to another 16 KB of RAM, in addition to offering three 16 KB pages for display RAM
Such changes caused:
- Removing multiple lines on the expansion bus edge connector (video, power, ROMCS, and IORQGE); caused many problems on external devices; some like the VTX5000 modem could be used through the "FixIt" device
- Reading a non-existent I/O port no longer returns the last attribute; causing some games like Arkanoid to be injurable
- Changes in memory synchronization; some of the RAM banks suffered collisions, causing high-speed color change effects to fail
- The routines for scanning the keyboard were removed from the ROM
- programming languages C, Pascal
- Prolog PROLOG, Modula-2, LISP o Forth
- Z80 assemblers/disassemblers OCP Editor/Assembler, HiSoft Devpac, ZEUS Assembler, Artic Assembler
- Sinclair BASIC compilers MCoder, COLT, HiSoft BASIC
- Sinclair BASIC extensions Beta BASIC, Mega Basic
- databases VU-Calc
- graphic design tools OCP Art Studio, Artist, Paintbox, Melbourne Draw de James Hutchby
- 3D modeled VU-3D
- video games
Some older 48K games and some of the older 128K games were incompatible with the machine
The ZX Spectrum +3 was the final official Spectrum model to be manufactured, remaining in production until December 1990
Although it still accounted for a third of all home equipment sales at the time, Amstrad ceased production of the model in an attempt to transfer customers to the entire CPC
ZX Spectrum +2A /+2B (1987)
The Spectrum +2A was produced to homogenize the range of Amstrad
Although the case said “ZX Spectrum +2”, the Spectrum +2A/B was easily distinguished from the original Spectrum +2 by restoring the black casing of the standard Spectrum
The Spectrum +2A became the +3 4.1 ROM model of Amstrad, which housed a new motherboard that greatly reduced the total number of chips, integrating many of them into a new ASIC
The Spectrum +2A replaced the Spectrum +3's disk drive and associated hardware with a tape drive, as in the original Spectrum +2
Originally, Amstrad planned to introduce an additional disk interface, but it never appeared
If an external drive was added, the operating system menu of “Spectrum +2A” would be changed on the Spectrum +3
As with the ZX Spectrum +3, some older 48K games and some of the older 128K games were incompatible with the machine
The Spectrum +2B signified that the manufacturing process changed from Hong Kong to Taiwan
Clones
Sinclair licensed the Spectrum design to Timex in the United States, which produced its own, largely incompatible derivatives
However, some of Timex's innovations were later adopted by Sinclair Research
An example of this was the abortive Spectrum “Pandora” laptop, whose ULA had a pioneering high-resolution video mode with the TS2068
“Pandora” had a flat screen TV monitor, Microdrives and was intended to be Sinclair's business laptop
After Alan Sugar bought his share of the computer from Sinclair, he took one look at it and it was abandoned
A conversation between him and UK computer journalist Guy Kewney went like this:
GK: Are you going to do anything with Pandora?
AS: Have you seen it?
GK: Yes
AS: Well then
In the UK, Spectrum peripheral supplier Miles Gordon Technology (MGT) launched the SAM Coupé as its natural successor with some Spectrum compatibility
However, the Commodore Amiga and Atari ST had taken over the market, leaving MGT in eventual suspension of payments
Many unofficial Spectrum clones were produced, especially in Eastern Europe and South America
In Russia, for example, ZX Spectrum clones were assembled by thousands of small startups and distributed through billboards and street stalls
A non-exhaustive list on Planet Sinclair lists more than 50 such clones
Some of them continued to be produced until 2003, such as the Sprinter
Peripheral
Several peripherals were marketed by Sinclair for the Spectrum: the ZX printer was already on the market, since 1983 at an initial price of $39.95, as the Spectrum had retained the ZX81's protocol and expansion bus
The ZX Interface 1 companion module included an 8 kB ROM, an RS-232 serial port, a patented LAN interface (called ZX Net) and the ability to connect up to eight ZX Microdrives, an unreliable but fast-speed tape cartridge storage devices
These were later used in a revised version in the Sinclair QL, whose storage format was electrically compatible but logically incompatible with that of the Spectrum
Sinclair also released the ZX Interface 2, which added two joystick ports and a ROM cartridge port
There were also a plethora of third-party hardware add-ons
The best known of these included the Kempston joystick interface, the Morex Peripherals Centronics/RS-232 interface, the Currah Microspeech unit (speech synthesis), the RAM and SpecDrum package (drum machine), and the Multiface (extraction tool). and disassembly), by Romantic Robot
There were numerous disk drive interfaces, including Abbeydale Designers/Watford Electronics SPDOS, Abbeydale Designers/Kempston KDOS, Opus Discovery, and DISCiPLE/PlusD by Miles Gordon Technology
The SPDOS and KDOS interfaces were the first to include Office productivity software (Tasword Word Processor, Masterfile database and OmniCalc spreadsheet)
This package, along with OCP's Stock Control, Finance and Payroll systems, introduced many small businesses to computing with simplified operations
In the mid-1980s, the company Micronet800 launched a service that allowed users to connect their ZX Spectrums to a network known as Micronet hosted by Prestel
This service had some similarities to the Internet, but was proprietary and fee-based
Software
The Spectrum family enjoyed a software library of at least 20,000 titles
Even though Spectrum's hardware was limited by most standards, its software library was very diverse:
A number of game developers and development companies began their careers on the ZX Spectrum, including Peter Molyneux (ex-Bullfrog Games), David Perry of Shiny Entertainment and Ultimate Play The Game (now known as Rare, creator of many famous titles) for Nintendo consoles)
Other notable game developers include Matthew Smith (Manic Miner, Jet Set Willy) and Jon Ritman (Match Day, Head Over Heels)
Most Spectrum software was originally distributed on cassette tapes
The software was encoded on tape as a sequence of pulses that sounded similar to the sounds of a modern modem
As the ZX Spectrum only had a rudimentary tape interface, data was recorded using an unusually simple and very secure modulation similar to pulse width modulation, but without a constant clock rate
Pulses of different widths (durations) represent 0s and 1s
A “zero” is represented by ~244 μs pulse and then space of the same duration for (855 clock ticks each at 3.5 MHz) for a total of ~489 μs, and “one” is twice as long, totaling ~977 μs
This allows recording 1023 “ones” or 2047 “zeroes” per second
Assuming an equal ratio, the resulting average speed was ~1365 bit/s
They achieved higher speeds by using chargers of codes machine custom in place of the ROM routine
Complex loaders with unusual speeds or encoding were the basis of the ZX Spectrum's copy prevention schemes, although other methods were used, such as asking for a specific word included in the game's documentation, often a novella, or the notorious Lenslok system
It had a set of plastic prisms in a fold-out red plastic stand: the idea was that a coded word would appear on the screen, which could only be read by holding the prisms at a fixed distance from the screen, courtesy of the plastic stand
It relied too much of that all over the world use the same size of tv and Lenslok became a joke recurring between users of Spectrum
Theoretically, a standard 48K program would take about 5 minutes to load: 49152 bytes * 8 = 393216 bits; 393216 bits / 1350 baud ~ 300 seconds = 5 minutes
But the reality was, a 48K program usually took between 3-4 minutes to load (due to a different number of 0s and 1s encoded using pulse-width modulation), and 128K programs could take 12 or more minutes to load
Experienced users could often deduce the type of file, for example: machine code, BASIC program, or screen image, by the way the tape sounded when loaded
A very interesting type of software was copiers
Most were piracy oriented, and their only function was tape duplication, but when Sinclair Research released the ZX Microdrive (later with a floppy disk system), copiers were developed to copy programs from audio tape to microdrive tapes. or floppy disks
The best known were the LERM copiers produced by Lerm Software, Omni Copy 2 and others
As protections became more complex (e.g. Speedlock 1-8) it was almost impossible to use copiers to copy tapes, and magazines had to be cracked by hand, producing unprotected versions
This was illegal in some areas, but in the 1980s most of southern and eastern Europe did not have software copyright laws
The Spectrum was designed to work with almost any cassette tape player, and despite differences in audio playback fidelity, the software loading process was quite secure; However, all Spectrum users knew and feared the message "R tape load error, 0:1"
A common cause was using a cassette copy with a recorder with a different head alignment than the one used
This could often be solved by pressing down on the top of the player during loading, or by adjusting the cassette with pieces of folded paper, to physically move the tape into the required alignment
After a series of tape players, it was also possible to realign the head with a small screwdriver
Typical settings for loading were 3/4 volume, 100% treble, 0% bass
Audio filters such as loudness and Dolby noise reduction had to be disabled, and using a Hi-Fi player to load programs was not recommended
There were some recorders built especially for digital use, such as the Timex Computer 2010 Tape Recorder
In addition to tapes, the software was also distributed through print media, fan magazines or books
The language prevailing for the distribution was the dialect BASIC Spectrum Sinclair BASIC
The reader wrote the software on the computer by hand, ran it, and saved it to tape for later use
Software distributed in this way was generally simpler and slower than its assembly language counterparts, and lacked graphics, but soon, magazines were printing long lists of hexadecimal digits alongside codes for games or tools
There was an active scientific community built around such software, ranging from satellite dish alignment programs to programs for teaching in school classrooms
An unusual software distribution method was a radio or television program, in Belgrade (on ventilator 202), Poland, Czechoslovakia or Romania for example, where the presenter would describe the program, urge the audience to connect a cassette recorder to the radio or TV and then broadcast the program via radio waves in audio format
Another unusual method was floppy disks, not vinyl records, which were played on a standard hi-fi turntable
These disks were known as “floppy ROMs”
This method was used by some French magazines
Some pop musicians included Sinclair shows on their albums
Ex-Buzzcock Peter Shelly put on a Spectrum that included some of his lyrics, and additional information on the last song of his album XL-1
Festival favorites Hawkwind put together a Spectrum database of the band's 1984 release 'New Anatomy'
Also in 1984, Thompson Twins released a set on vinyl
The Freshies had a brief flirtation with fame and Spectrum games, and Aphex Twin included several loading noises on their Richard D. James album in 1996, most notably the Saber Wulf loading screen in Corn Mouth. Shakin' Stevens included his Shaky Game at the end of his album The Bop Will Not Stop
The objective of the game was to guide your character through a maze, avoiding the bats
Upon completion, your score would be given in terms of disc rank, for example, gold or platinum
The game had a minor connection to one of its tracks, It Late
As audio tapes have a limited lifespan, most Spectrum software has been digitized in recent years and is available for download in digital format
The legality of this practice is still questionable
However, it seems unlikely that any action will be taken on so called “abandonware”
A popular program for digitizing Spectrum software is Taper: it allows you to connect a cassette player to the line port of a sound card or, through a homemade device, to the parallel port of a PC
Once in digital form, the software can be run using any of the existing emulators, on virtually any platform available today
Today, the largest online archive of ZX Spectrum software is the site The World of Spectrum with more than 12,000 titles
The Spectrum enjoys an active and dedicated community of fans
It was cheap, learning how to use it was simple, and just like learning to program on it, the Spectrum was the starting point for many programmers and technophiles who remember it with nostalgia
The hardware limitations of the Spectrum meant a special level of creativity in game designers, and for this reason, many Spectrum games are so creative and playable even by today's standards