A Report on the Spectrum

Author(s): Ian Logan
Publication: Syntax
Pub Details: Syntax/Syntax ZX80 v3 n9 (Volume 3, Issue 9)
Date: September 1982
Pages: 7

Sinclair’s new color machine, the Spectrum, has been available in the UK for several months; no word when it will cross the Atlantic.–AZ


The Spectrum is a ZX81 that has been developed by adding a hi-resolution display, color board, improved cassette interface and larger keyboard. These features are available to ZX81 owners but increase the cost considerably and make the fragile ZX81 more difficult to use. Now they are standard, giving the Spectrum a robustness sorely lacking in earlier Sinclair models.

Drawbacks? Again the keyboard. Despite its improved nature, it is still a small calculator type keyboard and not for fast typing. And the display has only 768 color areas, clearly a compromise.

Comparing the operating systems of the ZX81 and the Spectrum, I find several fundamental changes. No longer is the display produced in software. The ULA is mainly responsible for scanning the 6K of memory (block 4000-57FFh) that holds the bit pattern for the memory-mapped display. This scanning is done between Z80 access periods. The ULA also scans the “attribute area.” This 0.75K area of RAM (block 5800-5AFFh) holds the color information for the 768 character areas of the display. Each attribute byte can describe 1 of 8 “ink” colors, 1 of 8 “paper” colors, 1 of 2 brightness states and flash-on or flash-off. The names “ink” and “paper” are generally considered “foreground” and “background” on other machines. Overall, the Spectrum has 16 colors if you consider the bright colors different from the normal colors.

No longer is the keyboard scanning done in the display routine. Now the maskable interrupt system scans for key presses every 1/50th (UK) of a second and enters the appropriate value into the system variable LAST_K.

No longer are the input/output routines almost inaccessible. Now the appropriate routine addresses are available as “channel information,” which is in effect a vector table in RAM.

But what is the same?

The BASIC interpreter is virtually untouched. The new features (multiple statement lines, multiple INPUT lines, the provision of READ, DATA, RESTORE and DEF FN) have just been melded in. The floating-point calculator is also much the same as in the ZX81. But there is some integral arithmetic and FOR-NEXT loops using integers run 20% faster than otherwise. The cassette format is also the same insofar as there are no parity bits or checksums. But the new standard is most impressive and allows for programs, arrays and blocks of code.