(arstechnica.com)
[1] https://opensource.microsoft.com/blog/2025/09/03/microsoft-o...
https://en.wikipedia.org/wiki/Microsoft_BASIC
The Altair BASIC interpreter was developed by Microsoft founders Paul Allen and Bill Gates using a self-written Intel 8080 emulator running on a PDP-10 minicomputer.[1] The MS dialect is patterned on Digital Equipment Corporation's BASIC-PLUS on the PDP-10, which Gates had used in high school.
https://en.wikipedia.org/wiki/Dartmouth_BASIC
Dartmouth BASIC is the original version of the BASIC programming language. It was designed by two professors at Dartmouth College, John G. Kemeny and Thomas E. Kurtz. With the underlying Dartmouth Time-Sharing System (DTSS), it offered an interactive programming environment to all undergraduates as well as the larger university community.
Dartmouth also introduced a dramatically updated version known as Structured BASIC (or SBASIC) in 1975, which added various structured programming concepts. SBASIC formed the basis of the American National Standards Institute (ANSI) "Standard BASIC" efforts in the early 1980s.
In contrast to the Dartmouth compilers, most other BASICs were written as interpreters. This decision allowed them to run in the limited main memory of early microcomputers. Microsoft's Altair BASIC is one example: it was designed to run in only 4 KB of memory (interestingly, it was delivered on paper tape).
Kemeny became involved in an effort to produce an ANSI standard BASIC in an attempt to bring together the many small variations of the language that had developed through the late 1960s and early 1970s. This effort initially focused on a system known as Minimal BASIC that was similar to earliest versions of Dartmouth BASIC, while later work was aimed at a Full BASIC that was essentially SBASIC with various extensions.
But by the late 1980s, tens of millions of home computers were running some variant of the MS BASIC interpreter. It had become the de facto standard for BASIC, which eventually led to the abandonment of the ANSI SBASIC efforts.
Kemeny and Kurtz, however, decided to continue their efforts to introduce the concepts from SBASIC and the ANSI Standard BASIC efforts. This became True BASIC.
https://en.wikipedia.org/wiki/True_BASIC
There are versions of the True BASIC compiler for MS-DOS, Microsoft Windows, and Classic Mac OS. At one time, versions for TRS-80 Color Computer, Amiga and Atari ST computers were offered, as well as a UNIX command-line compiler.
After several years of inactivity, as of February 2026, the TrueBASIC website is officially closed.
Yes, but that assembly was not DOS, and it wasn’t easy.
Microsoft purchased the DOS code, they didn’t write it. Of course, they did develop and modify DOS. But that was a clever (and lucky) business deal, not a technological accomplishment.
The real beginning of Microsoft was earlier, with Allen, Gates and Davidoff writing the Altair BASIC interpreter. That was a serious achievement.
They had never seen the computer they were writing that assembly code for. They did not even own any computers. It took them 8 weeks on a university computer they were not supposed to be using for that
“Altair agreed to meet them to possibly buy a BASIC interpreter… Gates and Allen had neither a BASIC interpreter nor even an Altair system on which to develop and test one. However, Allen had written an Intel 8008 emulator that ran on a PDP-10 time-sharing computer. Allen adapted this emulator based on the Altair programmer guide, and they developed and tested the interpreter on Harvard's PDP-10.
The finished interpreter, including its own I/O system and line editor, fit in only four kilobytes of memory, leaving plenty of room for the interpreted program. In preparation for the demo, they stored the finished interpreter on a punched tape that the Altair could read, and Paul Allen flew to Albuquerque to meet with Altair…
While on final approach into the Albuquerque airport, Allen realized that they had forgotten to write a bootloader to read the tape into memory. Writing in 8080 machine language, Allen finished the program before the plane landed. Only when they loaded the program onto an Altair and saw a prompt asking for the system's memory size did Gates and Allen know that their interpreter worked on the Altair hardware.”
It’s funny because I thought Jobs/Wozinak got their initial funding from selling phreaking boxes. And more recently, Anthropic engaged in criminal copyright violations with only a slap on the wrist.
Feels like a common theme of every “great” company having its origins from a “boost” resulting from criminal activity. (After all, that’s where the money is!)
Just imagine the criminal penalties possible for pirating and selling one copy of a movie or making one long distance phone call with phreaking.
Being born into a 1% household and understanding the asymmetric upside that having the money and the time to speculate is far more significant than the civil and criminal legal violations on the way.
The most common way to go from one-percenter rich to .001% rich is to already have enough wealthy people generating capital in your personal network that you can raise capital on sweetheart terms to buy the labor of people who don't.
Then you sell it at a massive premium and repeat.
I think it's empirically dubious to identify the UW mainframes as the secret sauce instead of "being able to ask your mom for a meeting with the chairman of IBM followed by asking her for 80,000 dollars ASAP."
If the original creators of DOS were born into a wealthy family and on a first name basis with the chairman of IBM, do you think they would've sold it to Gates?
Trying to attribute the tech business "founding crime" feels like displacement for what is perfectly legal and accepted cultural practice.
I'm sure his family connections aided him significantly.
Or on the GitHub clone (162 points, 15 comments) https://news.ycombinator.com/item?id=47946813
> This source code is old enough that it hadn’t been stored digitally. “A dedicated team of historians and preservationists led by Yufeng Gao and Rich Cini,” calling itself the “DOS Disassembly Group,” painstakingly transcribed and scanned in code from paper printouts provided by Paterson. This process was made even more difficult because modern OCR software struggled with the quality of the decades-old printout.
I've been able to OCR letter-quality printer output to 97% (mostly Os and Xs problems).
But it seems that machine-learning text-recognition is also now biased to reject computer code because it doesn't look like human language.
> With less-than-satisfactory OCR output, I resorted to a process I used many years ago when converting scans made of old Commodore ROM dumps printed on a Commodore 1515 dot-matrix printer. The process relies on the ASCII OCR output having the same repetitive errors. "B" and "8", "S" and "5" are good examples, as are "l" and "1", and "O" and "0". There are many other similar single-character errors and, when working with x86 code, there are similar errors with instructions like "MOV". This process naturally works better if the output file is monolithic rather than single-page OCR conversions because you can do substitutions across the entire converted printout and not 75 separate files.
> The next formatting hassle was the spacing. This required repetitive substitutions of a descending numbers of spaces to tabs (i.e., replace 8 spaces with a tab, 7, 6, etc.). Then if you want to return it to fixed spaces (which is likely how the original printer printed it -- spaces and not vertical tabs), you can. For pure re-creation work, spaces produce absolute column formatting while tabs can move around depending on the program displaying the file.
> Once you run thought the 15 or so common global substitutions and tab conversion, it's a lot easier to work with the file to fix formatting and perform other cleanup. This is then followed by a line-by-line comparison against the original printouts. Overall I'd say the conversion output quality with this method is very good.
I've got a 4" stack of wide-carriage COBOL. I guess it's two revisions of the same system so I only need to scan the newer half. Its probably from a TI Omni 810.
On the other hand, I've got 100 pages of code printed in compressed font by someone wanting to make sure that 80+ char lines fit within margins. So a lot of words just don't come out at all. A frequent error is "A" becomes "H", "O" becomes "U" because the top dots aren't "attached".
And columns of line numbers starting with 0001, or hex? The most confounding thing is OCR that thinks 00 is a sideways 8, and that dominates the uniform block, so it tries to interpret the whole column as sideways text. In another situation, it interprets two stacked lines (each starting with 0) as one line starting with 8 and it just goes off the rails.
So I've been working with automatic skew correction, then clipping it into rows, in order to get each line of text isolated from the surrounding context. When I do that, I get better results, but it is not great either.
I'm considering going all-in on training a new recognizer on snippets. For that, I'll be constructing "The Set of All As" and so on.
Maybe write them again?
For MS-DOS?
My work there was all new code and didn't involve any of that, however.
Finally, a sensible use case for BASIC's "READ" and "DATA" commands. Learning BASIC as a kid on a micro, it always struck me as an odd way to get input into a program. Sure, with INPUT, you'd have to hand enter your input every time, but baking into the program meant that you'd have to edit your program any time you wanted to change anything.
But with a card reader, you could "cut the deck". Keep the program cards, and then just stack on whatever set of data cards you wanted.
From this vantage point, in the 21st century with our flying cars and what not, it seems really quirky that back then, even your data could be a tangible thing.
...as writing paper.
1. you were using a DECwriter dot matrix printer as a terminal
2. using an ASR-33 teletype as a terminal
3. using punch cards or paper tape
4. using a glass tty that could only display 24 lines
5. when you did not have a remote terminal, and wanted to spread your code out on a table and debug it
Really depends on the program. Source code is often quite manageable. Even artifacts aren't always as large as you might expect. Busybox on my system weighs in at 1.9 MiB or alternatively 928 KiB with zstd maxed out.
But I don't really see a point to printing any of it. A situation that might require the printouts is likely to largely preclude the continued existence of modern electronics, the ability to replace batteries, or even a connection to a reliable electrical grid.
First of all, that comment is weirdly out of place. The quality and longevity of paper is not the topic.
Secondly, there are fragments of paper with writing as old as 2,000 years.
Thirdly, paper you look at and see the writing. With digital documents, you need the technology to read the medium and then you need to know how the information was encoded onto the medium, before you even arrive at the same level with paper, where you can start to decide the actual writing.
Paper has brought us where we are today, and given us what we know about the past. Don't be so ignorant and dismissive.
barely
It sounds like this printout has deteriorated badly and was barely readable.
From “Triumph of the Nerds” tv transcript:
https://www.pbs.org/nerds/part2.html
Jack Sams (IBM) was looking for a package from Microsoft containing both the BASIC computer language and an Operating System. But IBM hadn't done their homework.
Steve Ballmer: They thought we had an operating system. Because we had this Soft Card product that had CPM on it, they thought we could licence them CPM for this new personal computer they told us they wanted to do, and we said well, no, we're not in that business.
Jack Sams (IBM); When we discovered we didn't have - he didn't have the rights to do that and that it was not...he said but I think it's ready, I think that Gary's got it ready to go. So I said well, there's no time like the present, call up Gary.
Steve Ballmer: And so Bill right there with them in the room called Gary Kildall at Digital Research and said Gary, I'm sending some guys down…. Treat them right, they're important guys.
I had a win2k machine that was my daily (at home) that was fine until idk about 2006, at which point something happened (muons?) and it would go into some kind of panic state just after bringing up the desktop. Hive corruption. I tried on and off for a couple of years to repair it, no luck. It wasn't just about the files on the HD, it was easy enough to transplant the drive and read/write anything, it was that I really liked the way I had the environment configured. Sure, it was all kind of moot, but it became a kind of personal windmill to resurrect this old thing. In the end, I booted an XP CD in it, and selected 'upgrade', and voila, it was Duncan Idaho, back from the dead.
Anyway.. loved win2k, but not a fan of the hive.
https://devblogs.microsoft.com/oldnewthing/20030808-00/?p=42...
Windows has always been more than modular enough for any repurposing and there were licenses that were not tied to specific hardware so you could use them even today.
Which is to say no one is stopping you from building a COPILOT.VBX for VisualBasic 3.0.
Microsoft open sources DOS 1.00 on 45th anniversary - https://news.ycombinator.com/item?id=47957494 - April 2026 (19 comments)
https://arstechnica.com/gadgets/2024/01/the-oldest-known-ver...
It was fun knowing everything about a computer. That's long gone!
Linus Torvalds, a few months ago, said something to this effect when discussing AI coding tools. That his (also, mine) generation was lucky to have started with low level stuff and managed to retain the understanding of the whole stack - and kids these days don't get that. Good luck acquiring this level of feel for computers, algorithms, data structures today, when a kid's first experience with coding will be a seemingly genius chatbot.
No one understands the whole stack. There is too much specialized information.
I'd also throw the wayback when machine and the internet archive into this bucket.
Microsoft's 6502 BASIC is now Open Source (2025) - https://news.ycombinator.com/item?id=48257058
I remember in the naughts, coming across a dos machine that was quite out of time… even for the university basement it was living in next to a pile of lead brick. Its only job was to run an instrument via an home-built ISA card and write data out to 5.25” floppies.
What uses would this code have in 2026?
About the worst mal-ware it can have is a boot sector that installs a "terminate, stay resident" (TSR) that copies itself onto any floppy that gets inserted.
Can we now have all the Infocom games owned by Activision (which is yours) now? Pretty please? I know the source is available, but we'd like them with a MIT license (including the manuals, artwork etc).
PS: a couple of them could be harder, like Shogun, but it's okay to skip these.
So just claim it is Claude
Or would Microsoft like to argue otherwise in court?