ZX Spectrum software
From Wikipedia, the free encyclopedia
The ZX Spectrum software library currently consists of more than 14,000 titles.[1] Despite the fact that the Spectrum hardware was limited by most standards, its software library was very diverse, including programming language implementations (C,[2] Pascal,[3] Prolog,[4] Forth,[5]) several Z80 assemblers/disassemblers (eg: OCP Editor/Assembler, HiSoft Devpac, ZEUS Assembler, Artic Assembler), Sinclair BASIC compilers (eg: MCoder, COLT, HiSoft BASIC), Sinclair BASIC extensions (eg: Beta BASIC, Mega Basic), databases (eg: VU-File[6]), word processors (eg: Tasword II[7]), spread sheets (eg: VU-Calc[6]), drawing and painting tools (eg: OCP Art Studio[8], The Artist, Paintbox, Melbourne Draw), even 3D modelling (VU-3D[9][10]), and, of course, many, many games.
Contents |
[edit] Software distribution media and copy protection
[edit] Tape
Most Spectrum software was originally distributed on audio cassette tapes. The software was encoded on tape as a sequence of pulses that may sound similar to the sounds of a modern day modem. Since ZX Spectrum had only a rudimentary tape interface, data was 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;[11] "one" is twice as long, totaling ~977 μs. This allows for 1023 "ones" or 2047 "zeros" to be recorded per second. Assuming an even proportion of each, the resulting average speed was ~1365 bit/s. Higher speeds were possible using custom machine code loaders instead of the ROM routines.
Naturally, a standard 48K program would take about 5 minutes to load: 49152 bytes × 8 = 393216 bits; 393216 bits / 1350 baud ≈ 300 seconds = 5 minutes. In reality, however, a 48K program usually took between 3–4 minutes to load (because of 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 tell the type of a file, e.g. machine code, BASIC program, or screen image, from the way it sounded on the tape.
During loading and saving processes, the border usually flashes with cyan/red stripes for the pilot signal and yellow/blue stripes for the header and data blocks. Headers had a short file size of about 15 bytes and are generally presented with a message such as "Program: <filename>", "Bytes: <filename>" and "Character array: <filename>". Each message displays information and details about the file type. The "Program" message is used for BASIC programs. "Bytes" refers to a program written in machine code (binary file) or the screen display (LOAD"" SCREEN$, LOAD"" CODE 16384,6912). "Character array" refers to an ASCII-encoded file. Pilot signals are usually represented with a thick stripe size; on header and data blocks, the stripes are thinner (depending the baudrate). However, it's possible to alter the border colours by modifying the parameters of many custom loaders and making the border flashing with multicoloured stripes to obtain a fancy border effect during the loading process. The striped border effects can also be found on games written for other 8-bit computers such as the Amstrad CPC 464/664/6128 and the Commodore C64/128.
The Spectrum was intended to work with almost any cassette tape player, and despite differences in audio reproduction fidelity, the software loading process was quite reliable; however all Spectrum users knew and dreaded the "R Tape loading error, 0:1" message. One common cause was the use of a cassette copy from a tape recorder with a different head alignment to the one being used. This could sometimes be fixed by pressing on the top of the player during loading, or wedging the cassette with pieces of folded paper, to physically shift the tape into the required alignment. A more reliable solution was to realign the head, which was easily accessible on a number of tape players, with a small (jeweller's) screwdriver.
Typical settings for loading were ¾ volume, 100% treble, 0% bass. Audio filters like loudness and Dolby Noise Reduction had to be disabled, and it was not recommended to use a Hi-Fi player to load programs. There were some tape recorders built specially for digital use, such as the Timex Computer 2010 Tape Recorder. The ZX Spectrum Plus 2 and 2A models are fashioned after an Amstrad CPC 464 and feature a built-in tape "datacorder".
Complex loaders with unusual speeds or encoding were the basis of the ZX Spectrum copy prevention schemes, although other methods were used including asking for a particular word from the documentation included with the game — often a novella — or the notorious Lenslok system. This had a set of plastic prisms in a fold-out red plastic holder: the idea was that a scrambled 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 holder. This relied rather too much on everyone using the same size television, and Lenslok became a running joke with Spectrum users.
One very interesting kind of software was copiers. Most were copyright infringement oriented, and their function was only tape duplication, but when Sinclair Research launched the ZX Microdrive, copiers were developed to copy programs from audio tape to microdrive tapes, and later on diskettes. Best known were the Lerm suite produced by Lerm Software and Trans Express by Romantic Robot. As the protections became more complex (e.g. Speedlock) it was almost impossible to use copiers to copy tapes, and the loaders had to be cracked by hand, to produce unprotected versions. Special hardware, like the Romantic Robot's Multiface which was able to dump a copy of the ZX Spectrum RAM to disk/tape at the press of a button, was developed, entirely circumventing the copy protection systems.
[edit] ZX Microdrive
The ZX Microdrive system was released in July 1983 and quickly became quite popular with the Spectrum user base due to the low cost of the drives, however, the actual media was very expensive for software publishers to use for mass market releases (by a factor of 10× compared to tape duplication). Furthermore, the cartridges themselves acquired a reputation for unreliability, and publishers were reluctant to QA each and every item shipped.[12] Hence the main use became to complement tape releases, usually utilities and niche products like the Tasword word processing software and the aforementioned Trans Express. No games are known to be exclusively released on Microdrive, but some companies allowed, and even aided, their software to be copied over. One such example was Rally Driver by Five Ways Software Ltd.[12]
[edit] Floppy disk
Several floppy disk systems were designed for the ZX Spectrum. The most popular (except in East Europe) were the DISCiPLE and +D systems released by Miles Gordon Technology in 1987 and 1988 respectively. Despite becoming very popular and were very reliable (from using standard Shugart disk drives), again mostly utility software were released for them. However, both systems had the ability to store memory images onto disk, snapshots, which later on could be loaded back into the ZX Spectrum and execution would commence from the point where they were "snapped", making them perfect for "backups". Both systems were also compatible with the Microdrive command syntax, which made porting existing software much simpler.
The ZX Spectrum +3 featured a built-in disk drive and enjoyed much more success when it came to commercial software releases. More than 700[1] titles were released on 3-inch disk from 1987 to 1997.
Most Russian releases since 1989 are made for Beta 128 disc interface, which is the only widespread there.
[edit] Others
In addition, software was also distributed through print media, fan magazines and books. The prevalent language for distribution was the Spectrum's BASIC dialect Sinclair BASIC. The reader would type the software into the computer by hand, run it, and save it to tape for later use. The software distributed in this way was in general simpler and slower than its assembly language counterparts, and lacked graphics. But soon, magazines were printing long lists of checksummed hexadecimal digits with machine code games or tools. There was a vibrant scientific community built around such software, ranging from satellite dish alignment programs to school classroom scheduling programs.
One unusual software distribution method were radio or television shows in e.g. Croatia (Radio 101), Serbia (Ventilator 202), Poland, Czechoslovakia, Romania or Brazil, where the host would describe a program, instruct the audience to connect a cassette tape recorder to the radio or TV and then broadcast the program over the airwaves in audio format.
Another unusual method which was used by some magazines were 7" 33⅓ rpm "flexidisc" records, not the hard vinyl ones, which could be played on a standard record player. These disks were known as "floppy ROMs".
[edit] Spectrum software in popular music
A few pop musicians included Sinclair programs on their records. The Buzzcocks front man, Pete Shelly, put a Spectrum program including lyrics and other information as the last track on his XL-1 album. The punk band Inner City Unit put a Spectrum database of band information on their 1984 release, 'New Anatomy'. Also in 1984, the Thompson Twins released a game on vinyl.[13] The Freshies had a brief flirtation with fame and Spectrum games, and the Aphex Twin included various loading noises on his Richard D. James album in 1996—most notably part of the loading screen from Sabre Wulf on Corn Mouth. Shakin' Stevens included his Shaky Game at the end of his The Bop Won't Stop album. The aim of the game was to guide your character around a maze, while avoiding bats. Upon completion your score would be given in terms of a rank of disc, e.g. "gold" or "platinum". The game had a minor connection with one of his tracks, It's Late. Scottish band Urusei Yatsura included a Spectrum program that showed a satanic message in the beginning of the song Thank You (from the album Everybody Loves Urusei Yatsura).
There was also a music program for the Spectrum 48K which allowed to play two notes at a time, by rapidly switching between the waveforms of the two separate notes, a big improvement over the mono Spectrum sound. The program was branded after the popular 80's pop band Wham!, and some of the biggest hits of this group could be played with the Spectrum. The program was called Wham! The Music Box and released by Melbourne House, one of the most prolific publishing houses at the time.
[edit] Spectrum software today
As audio tapes have a limited shelf-life, most Spectrum software has been digitized in recent years and is available for download in digital form. The legality of this practice is still in question. However, it seems unlikely that any action will ever be taken over such so-called "abandonware".
One popular program for digitizing Spectrum software is Taper: it allows connecting a cassette tape player to the line in port of a sound card or, through a simple home-built device, to the parallel port of a PC.[14] Once in digital form, the software can be executed on one of many existing emulators, on virtually any platform available today. Today, the largest on-line archive of ZX Spectrum software is World of Spectrum, with more than 12,000 titles.
The Spectrum enjoys a vibrant, dedicated fan-base. Since it was cheap and simple to learn to use and program, the Spectrum was the starting point for many programmers and technophiles who remember it with nostalgia. The hardware limitations of the Spectrum imposed a special level of creativity on game designers, and for this reason, many Spectrum games are very creative and playable even by today's standards. Games for ZX Spectrum are developed and released even nowadays.
[edit] Notable titles
[edit] 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:[15][16]
- Top 3
2. Rebelstar |
- The rest
[edit] CRASH top 10
Between August and December 1991 CRASH published their list of the top 100 ZX Spectrum games, including in the top 10:[17]
- Rainbow Islands
- Chase H.Q.
- RoboCop
- RoboCop 2
- Dizzy
- Target: Renegade
- Magicland Dizzy
- Batman: The Movie
- Operation Wolf
- Midnight Resistance
In CRASH's Top 10 all but the Dizzy games were published by Ocean Software. All but one of the Your Sinclair Top 10 games were released in 1987 or before (the conversion of Rainbow Islands did not appear until 1989, although the original was released in 1987), in comparison to the CRASH Top 10 which exclusively features games released in 1987 or after. 1987 was the year in which use of the newer 128K architecture and of the newer AY-3-8912 sound chip began to take off.All of CRASH's Top 10, with the exception of Dizzy, made use of these new features with enhanced sound and preloaded levels (eliminating the need for a multi-load), reflecting a difference in the attitudes of the editorship and readership of the two magazines.
[edit] Additional screenshots
- See also: Category:ZX Spectrum game screenshots
[edit] Notable Spectrum developers
A number of current leading games developers and development companies began their careers on the ZX Spectrum, including David Perry of Shiny Entertainment, and Tim and Chris Stamper (as Ultimate Play The Game, now known as Rare, maker of many famous titles for Nintendo game consoles). Other prominent games developers include Matthew Smith (Manic Miner, Jet Set Willy), Jon Ritman (Match Day, Head Over Heels), Sid Meier (Silent Service[18]), The Oliver Twins (the Dizzy series) and Alan Cox[19].
[edit] References
- ^ a b Heide, Martijn van der. Archive!. World of Spectrum. Retrieved on 2006-08-11.
- ^ Heide, Martijn van der. Sinclair Infoseek: HiSoft C. World of Spectrum. Retrieved on 2006-08-24.
- ^ Heide, Martijn van der. Sinclair Infoseek: HiSoft Pascal 4. World of Spectrum. Retrieved on 2006-08-24.
- ^ Heide, Martijn van der. Sinclair Infoseek: Micro-Prolog. World of Spectrum. Retrieved on 2006-08-24.
- ^ Heide, Martijn van der. Sinclair Infoseek: Forth. World of Spectrum. Retrieved on 2006-08-24.
- ^ a b Pearce, Nick (October/November 1982). "Zap! Pow! Boom!". ZX Computing: 75.
- ^ Wetherill, Steven (June 1984). "Tasword Two: The Word Processor". CRASH! (5): 126.
- ^ Gilbert, John (October 1985). "Art Studio". Sinclair User (43): 28.
- ^ Carter, Alasdair (October/November 1983). "VU-3D". ZX Computing: 76–77.
- ^ Psion Vu-3D. Retrieved on 2007-01-18.
- ^ Heide, Martijn van der; Kopanske, Martin; and Kac, Tomaz (1997 – 1999). Selecting a sample rate. Tape decoding with Taper. Retrieved on 2006-08-24.
- ^ a b "Microdrive revisited" (November 1985). CRASH (22).
- ^ Heide, Martijn van der. Sinclair Infoseek: Thompson Twins Adventure, The. World of Spectrum. Retrieved on 2006-08-24.
- ^ http://www.worldofspectrum.org/taper.html
- ^ "The YS Top 100 Speccy Games Of All Time (Ever!)" (January 1992). Your Sinclair (73): 34 – 36.
- ^ "The YS Top 100 Speccy Games Of All Time Pt 5" (February 1992). Your Sinclair (74): 45.
- ^ "All Time Encyclopedia Top 100 Speccy Games" (December 1991). CRASH (94): 45 – 48.
- ^ "Silent Service" (March 1987). CRASH (38): 79 – 80.
- ^ Bezroukov, Nikolai. Alan Cox: and the Art of Making Beta Code Work. Portraits of Open Source Pioneers. Retrieved on 2007-01-18.