Sinclair BASIC history: Difference between revisions

Jump to navigation Jump to search
Linkify
m (Zub moved page Sinclair BASIC History to Sinclair BASIC history: Recapitalise title)
(Linkify)
Line 1: Line 1:
Sinclair BASIC is a popular version of the BASIC (Beginner's All purpose Symbolic Instruction Code) programming language. Originally written for the ZX80, it is now available for a wide range of computers in native versions or via emulation. This is the history of its evolution.
[Sinclair BASIC]] is a popular version of the BASIC (Beginner's All purpose Symbolic Instruction Code) programming language. Originally written for the [[ZX80]], it is now available for a wide range of computers in native versions or via emulation. This is the history of its evolution.


In July 1975 Micro-Soft, as it was then called, shipped BASIC (Beginner's All purpose Symbolic Instruction Code) version 2.0 for the MITS Altair 8800 hobbyist computer. This was the first commercial version of the Beginner's All-purpose Symbolic Instruction Code programming language, originally developed by J.G. Kemeny and T.E. Kurtz in 1964 at Dartmouth College in the United States.
In July 1975 Micro-Soft, as it was then called, shipped BASIC (Beginner's All purpose Symbolic Instruction Code) version 2.0 for the MITS Altair 8800 hobbyist computer. This was the first commercial version of the Beginner's All-purpose Symbolic Instruction Code programming language, originally developed by J.G. Kemeny and T.E. Kurtz in 1964 at Dartmouth College in the United States.
Line 7: Line 7:
Microsoft BASIC became so popular that it made Gates and Allen their first fortune and was subsequently supplied with the majority of 8-bit computers. So not surprisingly, when the ANSI Standard for Minimal BASIC (X3.60-1978) was launched, it was based mainly on the Microsoft version.
Microsoft BASIC became so popular that it made Gates and Allen their first fortune and was subsequently supplied with the majority of 8-bit computers. So not surprisingly, when the ANSI Standard for Minimal BASIC (X3.60-1978) was launched, it was based mainly on the Microsoft version.


In May 1979, Clive Sinclair's engineers began work on the machine that would become the ZX80. Sinclair was inspired to create the machine after seeing how much his son enjoyed using a TRS-80 but guessing that many people would be put off buying one because of the high price—just under £500.
In May 1979, [[Clive Sinclair]]'s engineers began work on the machine that would become the ZX80. Sinclair was inspired to create the machine after seeing how much his son enjoyed using a TRS-80 but guessing that many people would be put off buying one because of the high price—just under £500.


Unlike Sinclair's previous foray in to the computer hobbyist market, the MK14, this machine would ship with BASIC, based on the ANSI standard. But the aim was to keep costs down and that precluded paying a licence fee to Microsoft. To this end, Sinclair had already met with John Grant of Nine Tiles in April to discuss the software requirements of the ZX80.
Unlike Sinclair's previous foray in to the computer hobbyist market, the MK14, this machine would ship with BASIC, based on the ANSI standard. But the aim was to keep costs down and that precluded paying a licence fee to Microsoft. To this end, Sinclair had already met with [[John Grant]] of Nine Tiles in April to discuss the software requirements of the ZX80.


Given the tiny R&D budget, Nine Tiles stood to make hardly any money out of the deal, but the feeling was that the project was exciting and worthwhile, and one the company would benefit from being associated with.
Given the tiny R&D budget, [[Nine Tiles]] stood to make hardly any money out of the deal, but the feeling was that the project was exciting and worthwhile, and one the company would benefit from being associated with.


To achieve the launch price of £79.95 in kit-form, RAM was limited to 1K and the integer BASIC had to be crammed into a 4K ROM. Grant wrote the bulk of the ROM between June and July. But the resulting program was 5K in length so Grant spent that August trimming the code.
To achieve the launch price of £79.95 in kit-form, RAM was limited to 1K and the integer BASIC had to be crammed into a 4K ROM. Grant wrote the bulk of the ROM between June and July. But the resulting program was 5K in length so Grant spent that August trimming the code.
Line 17: Line 17:
Grant laid the path for things to come, introducing many unique features of Sinclair BASIC, such as the way it refuses to allow most syntax errors to be entered into the program, instead pointing out where the error is in the line before it is entered, making it much easier to learn and use than any other version of BASIC.
Grant laid the path for things to come, introducing many unique features of Sinclair BASIC, such as the way it refuses to allow most syntax errors to be entered into the program, instead pointing out where the error is in the line before it is entered, making it much easier to learn and use than any other version of BASIC.


The kit was launched at a computer fair in the first week of February 1980, and while it was not a massive success by comparison with the ZX Spectrum, it turned Sinclair's fortunes around, eventually earning him a knighthood, and it sold well enough to persuade him to make a new computer—the ZX81.
The kit was launched at a computer fair in the first week of February 1980, and while it was not a massive success by comparison with the [[ZX Spectrum]], it turned Sinclair's fortunes around, eventually earning him a knighthood, and it sold well enough to persuade him to make a new computer—the [[ZX81]].


Work on the hardware had begun in September 1979, even before the launch of the ZX80, but it was the development of the uncommitted logic array, or ULA, which allowed the machine to go into production. The ULA, produced by Ferranti for Sinclair, reduced the chip count and brought the retail cost of the machine, in kit-form, down to £49.95.
Work on the hardware had begun in September 1979, even before the launch of the ZX80, but it was the development of the uncommitted logic array, or ULA, which allowed the machine to go into production. The ULA, produced by [[Ferranti]] for Sinclair, reduced the chip count and brought the retail cost of the machine, in kit-form, down to £49.95.


Again, Nine Tiles was called on to provide the New BASIC, but this time there was 8K to play with. Vickers, who had joined Nine Tiles in January 1980, added the floating-point arithmetic, including trigonometric and other functions.
Again, Nine Tiles was called on to provide the New BASIC, but this time there was 8K to play with. [[Steve Vickers]], who had joined Nine Tiles in January 1980, added the floating-point arithmetic, including trigonometric and other functions.


"As far as Clive was concerned, it wasn't a question of what the machine ought to be able to do, but more what could be crammed into the machine given the component budget he'd set his mind on," said Vickers in an interview on July 23, 1985. "The only firm brief for the '81 was that the '80's math package must be improved."
"As far as Clive was concerned, it wasn't a question of what the machine ought to be able to do, but more what could be crammed into the machine given the component budget he'd set his mind on," said Vickers in an interview on July 23, 1985. "The only firm brief for the '81 was that the '80's math package must be improved."
Line 29: Line 29:
Despite this problem, the ZX81 was well received and became a massive success, spawning a series of clones, both illegal and licensed by Timex, which was manufacturing the UK models for Sinclair at its Dundee plant. Inspired by the public reaction to the ZX81, and annoyed at not winning the contract to design a computer for the British Broadcasting Corporation, Sinclair decided the market needed a budget colour computer.
Despite this problem, the ZX81 was well received and became a massive success, spawning a series of clones, both illegal and licensed by Timex, which was manufacturing the UK models for Sinclair at its Dundee plant. Inspired by the public reaction to the ZX81, and annoyed at not winning the contract to design a computer for the British Broadcasting Corporation, Sinclair decided the market needed a budget colour computer.


The ZX80 and ZX81 hardware had been the primarily the work of one man; Jim Westwood, but he had been moved to the flat-screen television department, so the hardware design job on the machine which became the ZX Spectrum, was given to Richard Altwasser, while at Nine Tiles, Vickers was again asked to provide the BASIC.
The ZX80 and ZX81 hardware had been the primarily the work of one man; [[Jim Westwood]], but he had been moved to the flat-screen television department, so the hardware design job on the machine which became the ZX Spectrum, was given to [[Richard Altwasser]], while at Nine Tiles, Vickers was again asked to provide the BASIC.


What started out as an expansion of the ZX81 BASIC soon turned into a large 16K program. Sinclair wanted as few changes to the ZX81 code as possible but at Nine Tiles the feeling was that software designed for a machine with 1K was inappropriate for a machine with 16K and that problems would occur later on. They were right.
What started out as an expansion of the ZX81 BASIC soon turned into a large 16K program. Sinclair wanted as few changes to the ZX81 code as possible but at Nine Tiles the feeling was that software designed for a machine with 1K was inappropriate for a machine with 16K and that problems would occur later on. They were right.
Line 43: Line 43:
Those who are interested in what the finished ROM might have looked like should visit Geoff Wearmouth's website at http://www.wearmouth.demon.co.uk/, where you can download the latest version of his Sea Change ROM, complete with source code. Wearmouth's version of Sinclair BASIC cunningly includes RS232 and network support in the main ROM, although sadly it is incompatible with the majority of commercial Spectrum software.
Those who are interested in what the finished ROM might have looked like should visit Geoff Wearmouth's website at http://www.wearmouth.demon.co.uk/, where you can download the latest version of his Sea Change ROM, complete with source code. Wearmouth's version of Sinclair BASIC cunningly includes RS232 and network support in the main ROM, although sadly it is incompatible with the majority of commercial Spectrum software.


Various 'enhancements' were made to the BASIC over the years, including the extra syntax of the shadow ROM introduced with the Sinclair Interface I, and in the United States in 1983 when an attempt was made to overhaul the BASIC by Timex when it launched its TS2068. But again, the version of the ROM launched with the machine was incomplete, and the TS2068 was unable to run the majority of Spectrum software because of hard-coded calls to locations in the ROM which were different in the Spectrum.
Various "enhancements" were made to the BASIC over the years, including the extra syntax of the shadow ROM introduced with the Sinclair Interface I, and in the United States in 1983 when an attempt was made to overhaul the BASIC by Timex when it launched its [[Timex 2000 series|TS2068]]. But again, the version of the ROM launched with the machine was incomplete, and the TS2068 was unable to run the majority of Spectrum software because of hard-coded calls to locations in the ROM which were different in the Spectrum.


In 1985, in a joint venture with its Spanish distributor Investronica, Sinclair launched the Spectrum 128, codenamed Derby, with a new editor bolted on to the original BASIC. This was slightly more compatible than the Timex effort but the editor was bug ridden, and some software refused to work, even in 48 mode, because the empty space at the end of the original ROM, used as a table by some programs, was now overwritten with extra code.
In 1985, in a joint venture with its Spanish distributor Investronica, Sinclair launched the [[ZX Spectrum+ 128K]], codenamed Derby, with a new editor bolted on to the original BASIC. This was slightly more compatible than the Timex effort but the editor was bug ridden, and some software refused to work, even in 48 mode, because the empty space at the end of the original ROM, used as a table by some programs, was now overwritten with extra code.


It did introduce some useful new commands and a built-in text editor, although inexplicably these were replaced with a menu system with less functionality in the English version of the machine launched the following year. However, criticism of the 128 Editor must be put in context. The programmers were relying on the Logan & O'Hara disassembly of the original ROM published by Melbourne House, since if Sinclair ever had a copy of the original source by now it had been lost, and were working on a DEC VAX-11/780 machine running CP/M on an expansion card[http://www.zdnet.com/article/the-zx-spectrum-birthday-memories/].
It did introduce some useful new commands and a built-in text editor, although inexplicably these were replaced with a menu system with less functionality in the English version of the machine launched the following year. However, criticism of the 128 Editor must be put in context. The programmers were relying on the Logan & O'Hara disassembly of the original ROM published by Melbourne House, since if Sinclair ever had a copy of the original source by now it had been lost, and were working on a DEC VAX-11/780 machine running CP/M on an expansion card[http://www.zdnet.com/article/the-zx-spectrum-birthday-memories/].

Navigation menu