Bill Gates’ 48-year-old Microsoft 6502 BASIC goes open source

Microsoft 6502 BASIC goes open source
(Image credit: Future)

Microsoft has released 'BASIC for 6502 Microprocessor - Version 1.1' on Github, under the MIT license. Now anyone is free to go and download, modify, share, and even resell source code originally crafted by Bill Gates. This is a hugely significant code release, as close derivatives of this BASIC ended up at the heart of several iconic computers, including the best-selling computer of all time, the Commodore 64.

The Microsoft Blog provides a potted history of its BASIC, sharing some important facts. Microsoft BASIC was the firm’s first product, and started out as a BASIC language interpreter for the Intel 8080, written by Bill Gates and Paul Allen for the Altair 8800, in 1975.

What we are seeing shared on Github under the MIT license is the BASIC interpreter code ported by Bill Gates and Ric Weiland to the MOS 6502 Microprocessor (hence the name). This was released in 1976.

Git commit for m6502.asm

(Image credit: Microsoft)

Something fun to note is the commit date for the m6502.asm file and its related markdown documents. July 27, 1978. Well before Git was even created. An easily done task, all we need to do is amend the commit and pass the date.

Importantly for widespread adoption, and to fuel what would become Microsoft’s signature business model, this MOS 6502 assembly code formed the foundation of BASIC interpreters that shipped with the Apple II, Commodore PET, VIC-20 and C64.

Notably, Commodore licensed this 6502 port of Microsoft BASIC for a flat fee of $25,000. On the surface this doesn’t sound stellar in terms of Microsoft revenue generation but, as the firm says, the decision put Microsoft software in front of millions of new programmers, who would make their first tentative coding steps by typing:

10 PRINT “HELLO”
20 GOTO 10
RUN

The 1.1 release on GitHub specifically supports the Apple II, Commodore PET, Ohio Scientific (OSI), the MOS Technology KIM-1, and PDP-10 Simulation systems. Microsoft notes that 1.1 includes “fixes to the garbage collector identified by Commodore and jointly implemented in 1978 by Commodore engineer John Feagans and Bill Gates, when Feagans traveled to Microsoft’s Bellevue offices.”

In total, the release shares 6,955 lines of assembly language code for anyone who is interested to peruse and play with. Microsoft characterizes this BASIC interpreter as one of the most historically significant pieces of software from the early personal computer era.

Microsoft says its BASIC for 6502 Microprocessor - Version 1.1 source code release, which comes with a clear, modern license, builds on its earlier release of GW-BASIC which first shipped in the original IBM PC’s ROM, evolved into QBASIC, and later into Visual Basic.

Follow Tom's Hardware on Google News, or add us as a preferred source, to get our up-to-date news, analysis, and reviews in your feeds. Make sure to click the Follow button!

TOPICS
Mark Tyson
News Editor

Mark Tyson is a news editor at Tom's Hardware. He enjoys covering the full breadth of PC tech; from business and semiconductor design to products approaching the edge of reason.

  • kanewolf
    I had to Google, but it seems there are new production CPUs which support the 6502 instruction set. For example -- https://www.westerndesigncenter.com/wdc/chips.php
    Reply
  • ezst036
    This should provide some fun for a number of people.
    Reply