ZX81

From Wikipedia, the free encyclopedia

  (Redirected from Zx81)
Jump to: navigation, search
ZX81
Sinclair ZX81
Type Home computer
Release date 1981
Discontinued 1984
Operating system Sinclair BASIC
CPU Z80 at 3.25 MHz (most machines used the NEC µPD780C-1 equivalent)
Memory KB (64 KB max. 56 KB useable)

The Sinclair ZX81 was a home computer released in 1981 by Sinclair Research. It was the follow-up to the Sinclair ZX80.

The machine's distinctive appearance was the work of industrial designer Rick Dickinson. Video output, as in the ZX80, was to a television set, and saving and loading programs was via an ordinary home audio tape recorder to audio cassette. Like its predecessor it used a membrane keyboard.

Timex Corporation manufactured kits as well as assembled machines for Sinclair Research. In the United States a version with double the RAM and an NTSC television standard was marketed as the Timex Sinclair 1000.

Contents

[edit] Description

ZX81 logo

As with the ZX80, the processor was a NEC Zilog Z80-compatible, running at a clock rate of 3.25 MHz, but the system ROM had grown to 8192 bytes in size, and the BASIC now supported floating point arithmetic[1]. It was an adaptation of the ZX80 ROM by Steve Vickers on contract from Nine Tiles Ltd, the authors of Sinclair BASIC. The new ROM also worked in the ZX80 and Sinclair offered it as an upgrade for the older ZX80 for a while.

The base system as supplied had 1 KB (KB) of RAM. This RAM was used to hold the computer's system variables, the screen image, and any programs and data. The screen was text only, 32 characters wide by 24 high. Blocky graphics with a resolution of 64 by 48 pixels were possible by the use of the PLOT command, which selected among a set of 16 graphics characters.[2] The ZX81 uses a resizable display-file (screen buffer) meaning that it can be expanded or shrunk depending on the amount of installed memory and the amount of free space at the moment.

The ZX81 was originally sold via mail order in kit form requiring soldering [1] (priced at £49.95) or assembled (£69.95 or US$100 in the US). A later deal with high street retail W.H.Smith saw the ZX81 and all accessories being sold on the high street (ZX81 was £69.99, ZX 16K RAM pack £49.99, ZX Printer £49.99)

[edit] Hardware

Manually designed ZX81 printed circuit board. A later version was made using CAD tools

The ZX81 was similar in design to the ZX80, but was built around a semi-custom Ferranti ULA (Uncommitted Logic Array) instead of TTL logic. The redesigned system board therefore had only four or five ICs: the microprocessor, the ULA, the 8192-byte ROM, and either one 1024-byte RAM chip, or two 1024x4 bit RAM chips.

[edit] Limitations and quirks

Screenshot of ZX81 displaying its own printable character set

To conserve memory, the text displayed on screen was stored as dynamic strings: for example, a screen line of 12 characters would be stored as only those 12 characters followed by the code for "NEWLINE"; also, when memory grew short, the number of lines displayed on the TV screen were reduced. Using this knowledge, it was common to write programs that kept to the top left of the screen to save memory. Furthermore, the BASIC interpreter (like many others) stored its keywords as 1-byte tokens. These quirks made it possible for many games and applications to run in the minimalistic 1 KB, including a basic game of Chess.

The technical means used to implement the display and other parts of ZX81 was quite original — at a time when the entire "home" class of computers was in its infancy.

In both the ZX81 and ZX80, the video signal was generated largely by the Z80 chip itself. When the ZX80 ran a program, the screen blanked until the program paused for input or completed. The ZX81 improved on this by having two modes of operation: FAST mode, blanking while programs ran (like the ZX80), and SLOW mode (around 25% the speed[1]) in which the video signal was maintained since programs only ran during the blank top and bottom border area of the screen.

Since a FOR-NEXT loop from 1 to 1000 took around 18-19 seconds in SLOW mode, it was common to run the machine in FAST all the time, even when editing a program, causing the TV to flash every time a key was pressed. The BASIC interpreter in itself was not optimised for speed either; comparable Z80-based interpreters were often significantly faster, especially those allowing selected variables declared integer. For instance, a Z80-based home computer such as the ABC 80 (using a 3 MHz clock) could execute the same FOR-NEXT loop approximately 15 times as fast as the ZX81 in FAST mode, i.e. around 60 times as fast as the ZX81 in SLOW mode.

Because the display was generated primarily by software in the ZX81 ROM, it was possible to override the interrupt service routine and generate the display oneself. Several "hi-res" (meaning, 256×192, rather than 64×48) games did this, notably from a company called Software Farm.

The BASIC interpreter was unique to the ZX81, unlike most microcomputers of this era (except the original Apple II) which used a series of similar but incompatible Microsoft BASIC variants. The ZX81 did not use ASCII but had its own character set. Character code 0 was space, codes 1–10 were used for block graphics, codes 11–63 corresponded to punctuation, numbers and upper case characters. Character codes 128–191 were reverse video versions of the first 64 characters. Other codes represented BASIC keywords and control codes such as NEWLINE. There were no lower case characters. Keys typically served three or four purposes, with some serving five (from a character, a graphic icon, a symbol or input function and up to three BASIC keywords) with the user selecting each via the "shift" key, Function mode or Graphics modes, with the cursor showing which mode is current.

Another trait of the ZX81 was that it echoed the signal from the tape recorder to the screen whilst loading and saving programs using cassettes, causing the TV to display zigzagging patterns. The ZX81 was also notoriously sensitive to subtle changes in volume when loading programs from cassette tape. A larger program could take 3-4 minutes to load and would sometimes fail in the final few seconds as the computer decided it had not "heard" everything the way it should be. This led to many instances of attempting to load the same program over and over while tweaking the volume at the start of each load attempt.

There was a bug present in the original ZX81 ROM that resulted in the square root of 0.25 being calculated as 1.3591409 rather than 0.5. Sinclair Research attracted much criticism in the press for shipping ZX81s with the bug unfixed long after it was known to exist.[3]

[edit] Peripherals and expansions

The optional ZX printer; a simple spark printer using aluminised paper.
A 16-KB RAM pack that plugged into the rear of the ZX81

The Sinclair ZX Printer was marketed to accompany the ZX81; this was a spark printer (although it was sometimes misleadingly called a "thermal printer") in which a wire point sparked the dot pattern into 4-inch-wide silvery-grey aluminised paper, accompanied by a distinct odour of ozone. Although there were FCC compliance issues, the ZX Printer was marketed in the US for a limited time, and later the Timex-Sinclair 2040 thermal printer was produced (also available in the UK as the Alphacom 32).

There were also many third-party peripherals produced by companies such as Memotech, Fuller, and DK'tronics. These included RS-232 serial interfaces, Centronics parallel interface and replacement cases with full-sized keyboards that, with some skill, could be used to replace the standard membrane keyboard. An RS-232 interface was sometimes used to employ the ZX81 as a robotics controller (although a memory expansion pack was required) and it was well suited for this task as it was sufficiently cheap for a sole-use application.

ZX81 interfaces

The built-in memory of the machine did not go very far, so the ZX 16K RAM (or Timex-Sinclair TS1016) expansion pack was available with 16 KB of RAM (GB£49.95 n the UK[1], US$100 in the US). By mid-1982, third-party 32 KB and 64 KB expansion packs were available. These plugged onto the main circuit board expansion bus edge connector (the 16 KB Memopak from Memotech could be "stacked" with a 16 KB or 32 KB one).

The ZX 16K RAM was notorious for its insecure mechanical connection to the ZX81, resulting in the infamous "RAM pack wobble". A swift nudge or jolt to a powered-on ZX81 with such an RAM pack usually resulted in a computer crash, known as a "whiteout", and the loss of hours of programming. Enterprising users used Blu Tack, tape, and other adhesives to support the RAM pack so that it did not wobble. This problem was due to the re-use of the plastic enclosure of the ZX80's 16K RAM pack, which did not fit snugly against the rear of the ZX81.

[edit] Reception

The ZX81 sold 1.5 million units[4], until it was replaced by its successor, the ZX Spectrum, which was capable of colour graphics, sound, and a video signal generated without processor intervention.

[edit] Variants and clones

The ZX81 was sold in the USA by Sinclair Research (from its facility in Nashua, New Hampshire). Timex Sinclair, a joint venture with Timex, also produced an enhanced ZX81 for the US market as the Timex Sinclair 1000 (TS1000). This shipped with twice as much RAM (2 kB). A further enhanced model, the TS1500, expanded this to 16 kB.

The ZX81 was also cloned in the Brazilian market by many local companies, among them: Apply, Ritas, Microdigital and Prológica (these two being the main competitors for the market). Microdigital produced two ZX81 clones (the TK 82C and the TK 83), and a TS1500 clone (TK 85). Prológica produced the NEZ-8000 and the enhanced CP-200 and CP-200S models.

There was also a clone in the Argentine market, produced by the Czerweny electrical motor factory: a TS1000 clone, the CZ1000, and a TS1500 clone, CZ1500.

[edit] References

  1. ^ a b c d Tebbutt, David (June 1981). "Bench Test Sinclair ZX81". Personal Computer World: 67–70,154. 
  2. ^ Barber, Matt (March 1999). "ZX 81 FAQ". http://www.honneamise.u-net.com/zx81/zx81faq.html. Retrieved on 2008-06-25. 
  3. ^ Adamson, Ian; Richard Kennedy (1986). "The Beginning of the Boom". Sinclair and the 'Sunrise' Technology. Penguin Books. 
  4. ^ Forster, Winnie (2005). The encyclopedia of consoles, handhelds & home computers 1972 - 2005. GAMEPLAN. pp. 44. ISBN 3-00-015359-4. 

[edit] External links

Personal tools