In October 1982 Your Computer introduced its readers to “a 16-year-old schoolboy” who “writes machine code like other people write Basic”. David Simons had been given one of the first pre-production Commodore 64s to reach Britain, and he had learned it “virtually unaided by documentation”. Now he had written an extended BASIC for it. According to the magazine, Commodore had planned a Super Expander cartridge for the 64 of its own, and shelved the idea when it saw what Simons had done. The program went on sale in 1983 as Simons’ BASIC. It gave the 64’s graphics, sprites and sound the BASIC commands the machine lacked.
Fast facts
- Born: about October 1965. He told an interviewer in August 1984 that he would be 19 that October.
- Home: Welwyn Garden City, Hertfordshire.
- First computer: a Commodore PET, from 1979.
- Best-known work: Simons’ BASIC for the Commodore 64, published by Commodore in 1983; 114 extra commands.
- Follow-up: the Simons’ BASIC Extension, 1984, with 91 more commands.
- Company: D. S. Software Limited, set up when he was 16.
From the PET to the VIC-20
Simons told the story to Commodore Power Play in August 1984. The magazine warned that it had printed a condensed version of his answers, not verbatim quotes. He began in 1979 on “a Commodore PET that my father borrowed from his company”, at first only at weekends, until he got one “on permanent loan”. He wrote games in BASIC, then turned to machine code to get round BASIC’s limits: “speed, screen scrolling, and graphics”. Over several months he turned his machine-code routines into new BASIC commands. At first these had to be called with SYS or USR.
His father was buying Commodore equipment for his company, and through those contacts Simons wrote articles for CPUCN, the Commodore PET User Club Newsletter. He also wrote a package called Apfelgraphics, an attempt to copy the graphics features of Apple’s BASIC. By 1981 he had an extended BASIC for the VIC-20, 8K of machine code that added more than 60 new keywords, and he demonstrated it for Commodore at the London Commodore Show. That VIC-20 version was never released. Your Computer reported in 1982 that a company called Honeyfold hoped to publish it.
Simons’ BASIC
The first pre-production 64s arrived from the United States around the start of 1982. Commodore “gave me a prototype and asked me to write an extended BASIC for it”. By October 1982 the 64 version was finished, at 16K and 108 commands, and Your Computer expected Commodore to release it “within the next two months”.
It took longer. In August 1983 Personal Computer News reported that “patient 64 owners have been waiting for months as Commodore debugged its advanced Simons Basic” and put it on a cartridge. By then it had grown to 114 commands. Simons wrote the machine code. Commodore designed the cartridge, and Commodore’s own technical writers produced the manual. Simons said that when Commodore suggested features he generally tried to add them.
He named Hewlett-Packard BASIC and the BBC Micro’s structured BASIC as his main influences. Most of the new commands filled gaps in the 64’s own BASIC:
- Graphics:
HIRES,MULTI,PLOT,LINE,CIRCLE,PAINTand others for the bitmap screen. - Sprites:
DESIGNto define a sprite,MOB SETto set it up,MMOBandRLOCMOBto move it, andDETECTandCHECKto test for collisions. The 64 calls its sprites “movable object blocks”, or MOBs. - Sound:
VOL,WAVE,ENVELOPE,MUSICandPLAYfor the SID chip. - Structure:
REPEAT...UNTIL,LOOP...EXIT IF...END LOOP, named procedures withPROCandEXEC, and local variables. - Programming aids:
AUTO,RENUMBER,FIND,TRACEandDUMP.
The sprite commands SPRITE and MOVSPR are sometimes credited to Simons’ BASIC, but they belonged to Commodore’s own Super Expander 64.
Asked by Power Play why RENUMBER did not change the line numbers after GOTO and GOSUB, he said the real reason was practical, not a stand for structured programming: a renumber command that only changes the numbers at the start of each line is much easier to write and takes much less space.
Royalties and a company car
In 1982 Your Computer reported that Commodore had guaranteed 10,000 sales in the first year and would pay Simons a royalty of £1 on each one. He told Power Play he received about five per cent of the warehouse price, “about 1.50 per unit” in the UK, and would not say how much he had earned in total: “It’s been a substantial sum”.
He set up D. S. Software Limited at 16, which he gave as the minimum legal age for a company director in Britain. Being a company director at that age had its oddities. His bank would not give him a cheque card until he was 18, because it doubled as a credit card, and his father helped with the business deals. When the Power Play interviewers arrived at Welwyn Garden City station, he met them in the company car.
The Extension
As soon as Simons’ BASIC was finished he started on an add-on. The Simons’ BASIC Extension loaded from tape or disk alongside the cartridge and added 91 more commands, in about 2K more memory. It had a RENUMBER that fixed GOTO and GOSUB references, more sprite commands, including collision detection and sprites that kept moving on their own, filter control for the music commands, and a BEEP. Commodore Horizons was writing about it by April 1984, and Power Play gave its UK price as £19.99. It was not sold in the United States.
After Simons’ BASIC
By August 1984 he had “just finished my sixth forms”, and planned to take a year off and then study at university, “perhaps to major in cybernetics”. He was not sure what to write next. Built-in software was spreading, and he thought copying and imitation were eating into what an original author could earn. “I think it would be extremely difficult now for any individual, including myself, to duplicate the achievement of Simons’ BASIC.” Asked whether he would write books himself, he said he did not think he had much talent for writing, and that it “doesn’t pay very well, either!”
Public sources say little about his life after the mid-1980s.
Sources
- Your Computer, vol. 2 no. 10, October 1982, p. 16: “Simons finds it simple to answer Commodore’s $64,000 questions” (his age, the PET and VIC-20 extensions, the pre-production 64, 108 commands, the shelved Super Expander, the guaranteed sales and £1 royalty, Honeyfold).
- Commodore Power Play, vol. 4 no. 2 (issue 14), April/May 1985, pp. 56–58, David R. Brooks and Susan G. Caughlan, “What Next for David Simons?”: the interview, held in August, with answers condensed by the authors (the PET, CPUCN, Apfelgraphics, the VIC-20 extended BASIC and the London Commodore Show, influences,
RENUMBER, Commodore’s role, royalties, D. S. Software, the Extension, his plans and views). - Commodore Power Play, vol. 4 no. 4, August/September 1985, letters page: a reader’s letter explaining CPUCN as the Commodore PET User Club Newsletter.
- Personal Computer News issue 4, 25–31 August 1983, Susan Curran, “PCN Pro-Test”: the delay, the cartridge and 114 commands.
- Ahoy! issue 2, February 1984, pp. 57–58 and 94–95: review and full command list, including the sprite commands.
- Commodore Horizons, April 1984: the Simons’ BASIC Extension.
- Super Expander 64 manual (Commodore): the
SPRITEandMOVSPRcommands.