Feeds

Could Bill Gates write code?

Yes. And then some, Altair BASIC dis-assemblers reckon

  • alert
  • submit to reddit

Protecting against web application threats using SSL

Even if you've been following our saga of Micro-Soft's 1975 Altair BASIC here and here, - one question remains unanswered.

Was it any good?

Reuben Harris has been disassembling a binary with some help from Monte Davidoff, the third author of Altair BASIC (along with Gates and Paul Allen) and who we interviewed here last week. He has the same question in mind:-

"'Could Bill Gates Write Code?' Or was he merely the luckiest man alive," before concluding... "Yes He Bloody Could!"

Although Reuben's analysis is not quite complete, he tells us that Gates, Allen and Davidoff threw every trick at the book to squeeze the interpreter into 4 kilobytes. They succeeded and left some headroom for the programs themselves - without which it would have been pretty useless, of course.

"It was pretty incredible - they were pretty good at what they were doing," he tells us.

Reuben draws out attention to a particularly Mel-like feat.

" I found a jump instruction that jumped to the middle of another instruction. Why was this extraordinary? Well, on the 8080, instructions were 1, 2, or 3 bytes in size. Since instructions could be more than one byte in length a programmer had to be careful that he didn't jump to, say, the second or third byte of a three-byte instruction; since he'd be executing arbitrary instructions that would almost certainly crash the whole program. What was going on??"

Reuben concludes this was entirely intentional. "Rather than skip over some small bit of conditionally-executed code that we don't want to execute, if that bit of code was small enough (ie one or two bytes) you could simply encode those one or two bytes inside a two or three byte instruction thus saving the three-byte instruction needed to jump over it. The best example of this technique is in BASIC's error message code "

All that... for three bytes.

You can play with Altair BASIC online, if you have a telnet client. It's at the splendid Online Software Museum here and a selection of "mindbendingly dumb" games are included.

Reuben has also pointed out the similarities between the Altair BASIC's error codes and the error codes returned by
modern Microsoft Basics
. Plus ca change.

Of course Monte Davidoff, who worked on two BASICs for Micro-Soft in all, tells us that the better algorithms could be used when the developers had more memory space. And we know from Bill Gates' foreword to Gordon Letwin's Inside OS/2 (Microsoft Press, 1988) that Letwin ripped up the designs for the earlier interpreters when he arrived at Microsoft. But that isn't really the point - the Altair BASIC is rightly feted not for being the most elegant, but for being the first and the smallest. And that's enough. ®

Related Links

Reuben Harris' analysis of Altair 4K BASIC
Play with Altair 4K BASIC at the Online Software Museum
The Story of Mel

Related Stories

Microsoft Altair BASIC legend talks about Linux, CPRM and that very frightening photo
Raiders of the Lost Altair BASIC Source Code

The next step in data security

More from The Register

next story
New 'Cosmos' browser surfs the net by TXT alone
No data plan? No WiFi? No worries ... except sluggish download speed
'Windows 9' LEAK: Microsoft's playing catchup with Linux
Multiple desktops and live tiles in restored Start button star in new vids
iOS 8 release: WebGL now runs everywhere. Hurrah for 3D graphics!
HTML 5's pretty neat ... when your browser supports it
Mathematica hits the Web
Wolfram embraces the cloud, promies private cloud cut of its number-cruncher
Google extends app refund window to two hours
You now have 120 minutes to finish that game instead of 15
Intel: Hey, enterprises, drop everything and DO HADOOP
Big Data analytics projected to run on more servers than any other app
Mozilla shutters Labs, tells nobody it's been dead for five months
Staffer's blog reveals all as projects languish on GitHub
SUSE Linux owner Attachmate gobbled by Micro Focus for $2.3bn
Merger will lead to mainframe and COBOL powerhouse
iOS 8 Healthkit gets a bug SO Apple KILLS it. That's real healthcare!
Not fit for purpose on day of launch, says Cupertino
prev story

Whitepapers

Providing a secure and efficient Helpdesk
A single remote control platform for user support is be key to providing an efficient helpdesk. Retain full control over the way in which screen and keystroke data is transmitted.
WIN a very cool portable ZX Spectrum
Win a one-off portable Spectrum built by legendary hardware hacker Ben Heck
Saudi Petroleum chooses Tegile storage solution
A storage solution that addresses company growth and performance for business-critical applications of caseware archive and search along with other key operational systems.
Protecting users from Firesheep and other Sidejacking attacks with SSL
Discussing the vulnerabilities inherent in Wi-Fi networks, and how using TLS/SSL for your entire site will assure security.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.