Altair BASIC

Recently, my friend Ian Griffits visited Harvard Univeristy to get our first look at the source code to the original BASIC. Of course the hadron-headed jobsworths wouldn't let him make photocopies of this histrtoical document, but he was free to copy it out by hand. Not having several days to spare, he had to just note as much as he could in the couple of hours he had. Read about it here.

I'm working on a complete annotated disassembly of one of Microsoft's earliest products - Altair Disk Extended BASIC version 4.1. Only 23K in size, but it's surprisingly complex - Bill & co. used every trick in the book to squeeze as much as they could into this.

Much of the work is still on pen+paper: I carry a 100-page disassembly dump around with me and work on it when I get a few minutes - while travelling to/from work etc. Oh for a laptop! But a few pages of HTML have started to take shape :

Booting Up.Reads BASIC from disk into memory.
Initialisation.What happens when BASIC starts up?
Keywords.Some notes on how keywords are stored.

These pages are far from complete:

Printer Drivers. Two (so far)of the three printer drivers.
0E36. Expression parsing and terminal I/O routines.
1298. More parsing.
21A8. String printing and parsing.
3FF4. Some small helper functions.
4D66. IO initialisation.