The ZX Spectrum's software library was very diverse. While the majority of the software produced for the system was video games, others included programming language implementations, Sinclair BASIC extensions, databases, word processors, spread sheets, drawing and painting tools, and 3D modelling tools.
Games
Your Sinclair top 10
Between October 1991 and February 1992 Your Sinclair published a list of what they considered to be the top 100 games for the ZX Spectrum. Their top 10 were:
Deathchase Rebelstar All or Nothing Stop the Express Head Over Heels R-Type The Sentinel Rainbow Islands Boulder Dash Tornado Low Level
CRASH top 10
Between August and December 1991 CRASH published their list of the top 100 ZX Spectrum games, including in the top 10:
Rainbow Islands Chase H.Q. RoboCop RoboCop 2 Dizzy Target: Renegade Magicland Dizzy Batman: The Movie Operation Wolf Midnight Resistance
Techradar's "Top 30"
Techradar published their list of the best 30 ZX Spectrum games in 2012, underlining which games stood the test of time.
Elite – Firebird Games R-Type – Electric Dreams Software Chuckie Egg: A'n'F Software Manic Miner: Bug-Byte Software Ltd Knight Lore: Ultimate Play the Game Back to Skool: Microsphere Football Manager: Addictive Games Ltd Lunar Jetman: Ultimate Play the Game Horace Goes Skiing – Beam Software Boulder Dash – Front Runner Sim City: Infogrames Underwurlde: Ultimate Play the Game Super Hang-On: Electric Dreams Software Jet Set Willy: Software Projects Ltd Rainbow Islands: Ocean Software Ltd Tornado Low Level: Vortex Software Ant Attack: Quicksilva Ltd Chase H.Q.: Ocean Software Ltd Deus Ex Machina: Automata UK Ltd Lode Runner: Software Projects Ltd Gauntlet: US Gold Ltd Fantasy World Dizzy: Code Masters Ltd The Hobbit: Melbourne House Atic Atac: Ultimate Play the Game Tetris: Mirrorsoft Ltd Hyper Sports: Imagine Software Ltd The Way of the Exploding Fist – Melbourne House Daley Thompson's Decathlon: Ocean Skool Daze: Microsphere The Great Escape: Ocean
Notable developers
A number of current leading games developers and development companies began their careers on the ZX Spectrum. David Perry of Shiny Entertainment wrote Three Weeks in Paradise and Dan Dare. Tim and his brother Chris Stamper, along with Tim's girlfriend (later wife) Carole Ward and John Lathbury, published Jetpac, Atic Atac, Sabre Wulf and Knightlore: and many others, as Ultimate Play the Game, now known as Rare, maker of many famous titles for Nintendo and Xbox game consoles. Alan Cox wrote Blizzard Pass, and is an ardent supporter of open source software.
Other notable Spectrum game developers include:
Jonathan "Joffa" Smith wrote Cobra, Hysteria, Firefly and a conversion from the Green Beret arcade among other games which prove that smooth scrolling was never a problem on the ZX Spectrum, as long as the developer had the necessary technical knowledge. Matthew Smith wrote the Spectrum titles Manic Miner and Jet Set Willy, proving that it was possible to have continual music during game play on a Spectrum; Nigel Alderton was the 16-year-old author of Chuckie Egg, published by A'n'F Software on the Spectrum and BBC Micro; The first author of an isometric 3D game: Ant Attack, published by Quicksilva: was Sandy White; Julian Gollop wrote Rebelstar and Laser Squad; Jon Ritman was the author of Match Day and Head Over Heels; The Oliver Twins wrote the Dizzy series of games; David and Helen Reidy wrote Skool Daze and Back to Skool for Microsphere; Christian Penfold and Mel Croucher, of Automata, authors of Pimania, My Name Is Uncle Groucho, You Win A Fat Cigar and Deus Ex Machina; Paul Owens and Christian Urquhart, developers of Daley Thompson's Decathlon for Ocean Software; Philip Mitchell and Veronika Megler of Beam Software, who wrote The Hobbit published by Melbourne House; Platinum Productions (David J Anderson and Ian Morrison), authors of the conversions of Lode Runner, Beach Head and Rambo; Costa Panayi, who wrote Android, Android Two, Highway Encounter, Cyclone and Tornado Low Level for Vortex Software; William Tang wrote the Horace series of games (Hungry Horace, Horace Goes Skiing and Horace and the Spiders) for Beam Software, published by Sinclair Research and Melbourne House.
Demos
Many demos were made for the Spectrum and compatible computers.TechRadar: 10 of the coolest demoscene creationsVice: Demoscene – The Art of the Algorithms Looks At The History Of A Digital Subculture The demo scene on the Spectrum can probably be traced back to Castor Cracking Group, The Lords and a few other groups and individuals back in 1986. The ZX Spectrum demo scene was slow to start,Advanced ZAT Programming, issue 25, 1994: Demo&Co but it started to rise in the late 1980s, most noticeably in Eastern EuropeDemoscene – The Art of the Algorithms (2012) and southern Europe. Some demos were also released with magazines on cover tapes.World of Spectrum – Sinclair Infoseek
Although there are many demos made for the 48K Spectrums,Demotopia most current Spectrum demos require the additional features found in the Spectrum 128K, that is, 128 KiB of RAM and the AY-3-8912 sound chip. Also, many demos have been designed to run from a floppy disk rather than a cassette tape. In many eastern European countries, the various Spectrum clones used to be more common than the original models, a fact that also reflects in the choices of hardware among the demoscene. For example, on most Russian demoscene events, the standard "compo Spectrum" is the Pentagon 128 with a floppy disk drive. Since there are considerable technical differences between the Pentagon and the original Spectrum, particularly in the video timing, there are also many demos that require a Pentagon to run properly. Piotr Marecki, cultural studies and digital culture scholar at Jagiellonian University, argues that this makes the ZX Spectrum demoscene unique. Nowadays clones and interfaces are being created that can run demos for various ZX Spectrum hardware accessories and clones, such as the ZX-UNO, the ZX Spectrum Next and the MB03+ Ultimate interface. The eLeMeNt ZX computer is specially designed to support enhancements used by demomakers, that includes 3 memory models of the Pentagon and the ability of switching, on fly, between various zx-clones timings, CPU speeds and gigascreen graphics.
The earliest demos were simple music players with music ripped from games and perhaps simple effects or text scrollers. Many scrolltext may contain rude words. Many later demos feature so-called 'multicolor' effects (changing the color attributes of the ZX Spectrum's display configuration of 768 character blocks), which have to be fixed to a specific ZX Spectrum model. Megademos, demos with more content, usually split into several parts, appeared in the beginning of 90's, with the advent of The Lyra II by ESI. Most of the demos since 1996 have been "trackmos" (effects fixed to music), often featuring 3D objects, sometimes in low resolutions, to achieve more colours.
In the former Soviet Union and Eastern/Central Europe, the ZX Spectrum often has a cult status similar to the Commodore 64 in Western Europe: it was the most popular 8-bit homecomputer and also the first computer for many computer and demoscene enthusiasts. Therefore, whereas many major Western European demo parties organise demo, music and graphics competitions for the Commodore 64, the parties in the east often have the corresponding ZX Spectrum competitions instead.
ZX Spectrum demos have been shown at multi-platform demoparties such as Assembly, and there used to be various Spectrum-only parties, such as Funtop in Moscow. The largest party today that regularly features the ZX Spectrum is Chaos Constructions in Saint Petersburg. Outside of Russia there is the Forever demoparty.
Other software
Other software released for the Spectrum included:
Programming language implementations C Pascal Prolog Forth Z80 assemblers/disassemblers: OCP Editor/Assembler HiSoft Devpac ZEUS Assembler Artic Assembler Sinclair BASIC extensions and compilers: Beta BASIC Mega Basic MCoder COLT HiSoft BASIC ToBoS-FP Databases VU-File), word processors (e.g.: Tasword II Spreadsheets VU-Calc Drawing and painting tools OCP Art Studio The Artist Paintbox Melbourne Draw 3D modelling tools VU-3D
Media
Tape
Because most British home computer owners used tape instead of disk storage into the mid-1980s, most ZX Spectrum software was originally distributed on audio cassette tapes. The software is encoded on tape as a sequence of pulses that sound similar to the noises made by a modem. Since the Spectrum has only a rudimentary tape interface, data is recorded using an unusually simple and very reliable 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 a ~244 μs pulse followed by a gap of the same duration (855 clock ticks each at 3.5 MHz) for a total ~489 μs; "one" is twice as long, totalling ~977 μs. This allows for 1,023 "ones" or 2,047 "zeros" to be recorded per second. Assuming an even proportion of each, the resulting mean transmission rate is ~1,365 average bits/s. Higher speeds are possible using custom machine code loaders instead of the ROM routines.
In theory, a standard 48K program may take about 5 minutes to load: 49,152 bytes × 8 = 393,216 bits; 393,216 bits / 1,365 baud ≈ 288 seconds = 4:48 minutes. In practice, however, such a program usually takes between 3–4 minutes to load (because of different number of 0s and 1s encoded using audio frequency shift keying, and not all memory needs loading), and 128K programs could take up to 11:23 minutes to load. Experienced users can often tell the type of a file, e.g. file header, screen image or main block of code, from the way it sounds on the tape.
The standard method of storing files on tape uses a combination of header and associated data blocks. Both types of blocks are preceded by pilot and synchronization signals, used to accommodate numerous physical variations present such as tape deck speed and distortion arising from tape stretching. Headers have a short size of 19 bytes (1 zero-value flag byte, 17 header information bytes, and 1 checksum byte), where the header information consists of a type byte, a 10-byte filename, a word data block length, and two-word parameters. Depending on the type byte, the loader presents one of the follow messages: Program: <filename> for programs written in BASIC; Bytes: <filename> for machine code, screen dumps, etc.; or Character array: <filename> for an ASCII-encoded file.
During standard loading and saving processes, the border of the screen flashes with cyan/red stripes for the pilot signal and yellow/blue stripes for the header and data blocks; which colour of the pair is used depends upon the bit that was last read from the tape. Pilot and synchronization signals are usually represented with a thick stripe size; on header and data blocks, the stripes are thinner. Striped border effects, as used in the standard loader or more complex ones (see below) can also be found on games written for other 8-bit computers, such as the Commodore C64, and the Amstrad CPC 464/664/6128: which, as it used the same Z80 CPU, often received ports of loading routines originally for the Spectrum.