|4 April 1975
|Microsoft Redhmond Campus, Redmond, Washington, USA
|Bill Gates, Paul Allen, Steve Ballmer
|Key People (choice)
|Computer Software, Computer Hardware
Microsoft Corporation is an American multinational corporation with a headquarters in Redmond, Washington. Microsoft develops, manufactures, licenses, supports and sells computer software, consumer electronics, personal computers and services. Its best known software product is Microsoft Windows operating system; however its relevance to Commodore is due to the provision of the BASIC interpreters for its entire range of microcomputers.
History[edit | edit source]
When Jack Tramiel was asked later in life about doing business with Bill Gates, he glibly responded that it was “easy”; but this should be taken in context. This was the pre-IBM era and their relationship was based upon wildly different experiences. When the two initially met, Bill Gates was a 20 year old entrepreneur with cash-flow problems, while Jack Tramiel was a 47 year old multi-millionaire business veteran. Jack Tramiel half jokes that “since then, he doesn't want to speak to me”.
MITS Altair 8800[edit | edit source]
In January 1975 Paul Allen showed Bill Gates an article on the Intel 8080-based Altair 8800 microcomputer in Popular Electronics magazine. Bill Gates contacted Ed Roberts whose company, Micro Instrumentation and Telemetry Systems (MITS), produced the Altair kits and falsely claimed to already have a version of BASIC for the 8080 microprocessor available for their machine. In fact, they didn’t even have access to an 8080 CPU.
Paul Allen subsequently coded an 8080 simulator on the Washington State University PDP-10 in order for them to create the BASIC. Eight weeks later, Paul Allen flew to Albuquerque (forgetting to write a bootstrap loader, which he did on the plane in 46 bytes) and demonstrated the BASIC to MITS. It was a success, and MITS agreed to distribute the program under the name Altair BASIC using a licence from Bill Gates and Paul Allen. The original 4 kB BASIC interpreter included a 32-bit floating point library. An extended 8 kB version (BASIC-80) added extra functionality including the ability to implement strings.
Founding Micro-Soft[edit | edit source]
The Altair deal was the impetus for Bill Gates and Paul Allen to form their own software company, and so “Micro-Soft” was started on 4 April 1975. Bill Gates became the first CEO. On 29 July 1975 Bill Gates used the name "Micro-Soft" in a letter to Paul Allen, who had created the name, to refer to their partnership. By February 1976, the Microsoft (intended spelling forthwith) version of the BASIC was so widespread beyond that of paying customers that Bill Gates wrote an open letter to early personal computer hobbyists. In the letter Bill Gates expresses dismay at the rampant copyright infringement of software taking place in the hobbyist community, particularly with regard to his company's software.
6502 BASIC[edit | edit source]
By May 1976, MOS Technology released the KIM-1, an evaluation PCBA based around the new MOS Technology 6502 CPU. In order to tap any potential programming market, Microsoft BASIC was converted from the Intel 8080 CPU to run on the 6502, without changing either the architecture of the interpreter or its data structures. Microsoft created two versions of the 6502 BASIC: an 8 kB version with a 32-bit floating point library (6 digits), and a 9 kB system with 40-bit floating point library (9 digits). And then, in a desperate attempt to secure a source for calculator chips during August 1976, CBM purchased MOS Technology outright on the condition that Chuck Peddle would join Commodore as chief engineer. Chuck Peddle agreed.
The Apple Incentive[edit | edit source]
Microsoft could reasonably expect any company using these common CPUs to manufacture a computer to license their BASIC. Apple, however, thought otherwise. The Apple computer, released in July 1976, was the first system other than the KIM-1 to use the MOS 6502 CPU; yet Steve Wozniak wrote his own 4kB BASIC interpreter. It was known as ‘Integer BASIC’ and would be bundled with the Apple computer for free, as Steve Jobs was keen to advertise as a method to undermine third-party software producers. The Apple I (as it was by now known), was selling so well that the Apple II prototype had been completed and was demonstrated to Chuck Peddle. Steve Jobs was offering to sell the prototype to Commodore, but Jack Tramiel considered it too expensive. Jack Tramiel subsequently demanded that Chuck Peddle, Bill Seiler, and John Feagans create a competing Commodore version that could be demonstrated at the June 1977 Consumer Electronics Show. Chuck Peddle had the idea, but only six months to create the PET.
Microsoft Becomes Official[edit | edit source]
By now, sales of Microsoft’s BASIC, in various guises, were going well and the company was gaining prominence. For instance, back on March 27, 1976, Bill Gates had given the opening address at the First Annual World Altair Computer Convention in Albuquerque. Microsoft had also been employing Marc McDonald as a full-time programmer since April 1976. The first Microsoft advert appeared in July 1976 edition of Digital Design magazine and, from September 1, 1976, they rented office space in the Two Park Central Tower Building at 300 San Mateo Boulevard NE Suite 819, Albuquerque. Finally, on November 1, 1976, Paul Allen resigned from MITS as the Director of Programming to join Bill Gates working full-time at Microsoft. To solidify all this success, the name “Microsoft” was registered with the Secretary of State of New Mexico on November 26, 1976.
Commodore BASIC[edit | edit source]
In order to be a true personal computer or a terminal which could connect to a mainframe, the PET required a built-in OS and high level language. Due to the time available to Commodore, before the 1977 CES, Microsoft’s BASIC was the natural choice for the latter. Chuck Peddle therefore naturally linked-up with Ric Weiland, Microsoft’s lead programmer and developer for the BASIC, to produce a ROM-based version. There was a lack of available copy protection for software at this time, and theft continued to be rife. Even though this proposed ROM-based version would be difficult (but not impossible) to steal, Bill Gates remained unhappy as he had little belief in Commodore’s new product.
Bill Gates originally asked for $3 per unit of BASIC sold with a Commodore machine. However, Jack Tramiel turned down Bill Gates's offer stating "I'm already married". Jack Tramiel was adamant he would pay no more than $25,000 for a perpetual license of BASIC from Microsoft on a "pay once, no royalties" basis. Chuck Peddle recalls the 1976 trip to Microsoft's office in Albuquerque. Bill Gates had by now instructed Marc Weiland to "just get rid of it as he thought it was a waste of time". Chuck Peddle explained that "Bill Gates was not a visionary" but added "Hell, who is at 20 years old?" Consequently Chuck Peddle achieved a deal that provided, as Jack Tramiel intended, a perpetual licence for a ROM-based version of Microsoft BASIC on any Commodore device with a 6502 CPU. As part of the deal, Commodore was allowed to enhance Microsoft's BASIC but they were to provide any updates they make back to Microsoft. As an example of Bill Gate's attitude toward branding at this time, there was no requirement to have Microsoft shown anywhere in the product.
Applesoft[edit | edit source]
Unlike Commodore, Apple was able to resist purchasing third-party software. They provided an enhanced version of Integer BASIC on ROM in the Apple II when it was released in April 1977. However, Microsoft BASIC (called “AppleSoft”) was available as an option on tape.
6502 BASIC Spreads[edit | edit source]
Although BASIC for the 8080 was 8 KB in size, it is contested that Microsoft were able to achieve this for the 6502 instruction set. It is notable though that the 46 byte bootstrap loader that Paul Allen created for the MITS demonstration was impressively recoded by Bill Gates into 17 bytes. As 6502 BASIC was improved, in 1977, Microsoft changed the 6 digit floating point code to support 9 digits and provided literal error strings instead of dual-character codes. By now however, 6502 BASIC was greater than 8 kB and so required a larger (or additional) ROM chip, so extra accuracy in libraries could be added without a consequence for space. More and more machines were now relying on this readily, and widely, available high level language.
Model 500 and BASIC V1.0[edit | edit source]
In 1977, Ohio Scientific introduced the “Model 500″, which was the first machine to contain 6-digit Microsoft BASIC version 1.0 in ROM. Upon startup, the message shows that Microsoft BASIC was present:
OSI 6502 BASIC VERSION 1.0 REV 3.2 COPYRIGHT 1977 BY MICROSOFT CO. OK
KIM-1 and BASIC V1.1[edit | edit source]
MOS TECH 6502 BASIC V1.1 COPYRIGHT 1977 BY MICROSOFT CO. OK
In October 1977, Commodore released the PET with Microsoft BASIC version 1.1 on ROM. However its startup screen now showed no trace of Microsoft:
### COMMODORE BASIC ### 7167 BYTES FREE READY.
The Other Intellect Requires BASIC[edit | edit source]
Apple’s resistance to purchasing Microsoft BASIC diminished by June 1978, as the Apple II Plus shipped with AppleSoft II on ROM which replaced Steve Wosniak’s Integer BASIC. As sales were rising, Jack Tramiel demanded another competitor to the Apple II Plus and set Chuck Peddle and Bill Sieler to the task. They started to design TOI (The Other Intellect) which ran into difficulty, but was rescued by the MicroPET concept designed by Bob Yannes which required the BASIC to make it viable. Under the name Project Vixen, it would become the VIC-20.
Easter Egg (Microsoft!)[edit | edit source]
Although the deal to sell Microsoft BASIC did not require the Microsoft name to be displayed, Bill Gates had other ideas. Commodore had internally been making changes to Microsoft BASIC version 1.1, but required an update for the PET in 1979 and the delivery of Microsoft BASIC version 2.0 clearly contained an Easter Egg written by Bill Gates. If you pass 6502 to the WAIT command, a message is displayed on the screen:
According to Jim Butterfield “Commodore paid Microsoft an additional fee to write a revision to the original BASIC that they had bought. Among other things, spaces-in-keywords were changed, zeropage shifted around, and (unknown to Commodore) the WAIT 6502,x joke was inserted.” Although this update affected other computers, the Easter Egg wrote directly to screen RAM at address $8000, and so it seemed that the Commodore PET had been targeted directly. The Easter Egg exists on the 6502 BASIC on the KIM-1 but also on 6809 (CPU) BASIC and 6800 (CPU) BASIC. Jim Butterfield goes on to say “Shortly after that implementation, I show this to Len Tramiel (Jack Tramiel’s son) at the Commodore booth of a CES show. He was enraged: “We have a machine that’s short of memory space, and the *!$%$ put that kind of stuff in!” The 51 bytes of code were to be removed for subsequent machines, but the 10 bytes required to spell the message remained in the master copy.
First MS OS[edit | edit source]
Microsoft's first operating system product that was publicly released was a version of Unix called Xenix, released in 1980. Xenix was later used as the basis for Microsoft's first word processor, called Multi-Tool Word (a predecessor to Microsoft Word).
VIC-20 and BASIC V2.0[edit | edit source]
When in 1981 the VIC-20 was finally released, it featured the latest Microsoft BASIC but again neglected to mention Microsoft:
**** CBM BASIC V2.0 **** 3583 BYTES FREE READY.
PET and BASIC V4[edit | edit source]
Following another update for the Commodore PET the startup screen still neglects to credit Microsoft:
*** COMMODORE BASIC V4.0 *** 31743 BYTES FREE READY.
MS-DOS[edit | edit source]
Microsoft's first hugely successful OS was MS-DOS, which Microsoft wrote for IBM in 1981, based on Tim Paterson's QDOS. By now Bill Gates was savvy enough to only license MS-DOS to IBM, and by retaining the rights to the software, Bill Gates made a fortune for Microsoft which ensured they were now a major software vendor.
Microsoft Incorporated[edit | edit source]
In 1981, Microsoft were incorporated in the state of Washington and became Microsoft Inc. Bill Gates was listed as the President of the Company and the Chairman of the Board, and Paul Allen was the Executive VP.
C64 and BASIC V2.0[edit | edit source]
Instead of using Microsoft BASIC version 4.0, as featured in the PET, the C64 only came with a Microsoft BASIC 2.0. The C64 was more of a games machine than the PET and the choice was made to remove the disk-oriented features of BASIC 4.0. This also ensured that essential Microsoft BASIC commands could still be contained on a 8 kB ROM. In order to deliver extended commands that covered graphics and sound in BASIC, Commodore produced two different cartridge-based extensions for Microsoft BASIC 2.0: Simons' BASIC and Super Expander 64. The startup screen however was still devoid of Microsoft:
**** COMMODORE 64 BASIC V2 **** 64K RAM SYSTEM 38911 BASIC BYTES FREE READY.
Microsoft Windows[edit | edit source]
In November 1983, Microsoft's crowning achievement was announced; Microsoft Windows was an operating system with a novel graphical user interface and a multitasking environment for IBM computers. To support a GUI, the Microsoft Mouse had been released on 2 May 1983.
C16, C+4 and V3.5[edit | edit source]
In June 1984 Commodore released the Plus/4 and C16. Microsoft BASIC version 3.5 was installed on ROM as a bespoke package and was a huge improvement on the BASIC supplied for the C64. There are reintroduced disk commands, while sound and graphics (although significantly reduced in hardware) can be accessed without the need to
POKE. It featured a machine language monitor and had error detection assistance. Once again there was no Microsoft reference on the Plus/4 startup screen:
COMMODORE BASIC V3.5 60671 BASIC BYTES FREE 3-PLUS-1 ON KEY F1 READY.
Or on the C16 startup screen:
COMMODORE BASIC V3.5 12277 BASIC BYTES FREE READY.
Amiga and AmigaBASIC[edit | edit source]
Released 23 July 1985, the new Amiga was not 6502-based and so the freedom that Commodore enjoyed with Microsoft BASIC had come to an end. When a new version of Microsoft BASIC required, changes to the original contract were made. Commodore returned to Microsoft for a new deal during the development of the Amiga which was only made possible after Jack Tramiel left Commodore in 1984. The startup screens of all Commodore machines that used Microsoft BASIC, regardless of the CPU would now display the company name. The startup screen of the Amiga now displayed:
Commodore Amiga BASIC Version 1.2 Created 6 Oct 1986 Copyright (c) 1985, 1986 by Microsoft Corp. 667680 Bytes free in System 25000 Bytes free in BASIC
C128 and BASIC V7.0[edit | edit source]
The C128 was unveiled in January 1985 at the CES in Las Vegas with a new version, Microsoft BASIC 7.0. The interpreter has increased in size to 27 kB from the original 8 kB in 1977. Although the improvements to 6502/8502 BASIC were made by Commodore, the Microsoft detail would also appear on the startup screen (in either 40 or 80-column mode):
COMMODORE BASIC V7.0 122365 BASIC BYTES FREE (C)1986 COMMODORE ELECTRONICS, LTD. (C)1977 MICROSOFT CORP. ALL RIGHTS RESERVED READY.
Easter Egg (Anti-War)[edit | edit source]
Another Easter Egg was inserted into Microsoft BASIC, this time to give public credit to the system’s hardware and software developers. However their names are listed with an anti-war message which Commodore, again, knew nothing about. Typing
SYS 324,123,45,6 in the BASIC interpreter will show:
Brought to you by... Software: Fred Bowen Terry Ryan Von Ertwine Herdware: Bil Herd Dave Haynie Frank Palaia Link arms, don't make them. ready.
Links[edit | edit source]
References[edit | edit source]
- http://karthiklog.files.wordpress.com/2012/08/ms-logos.jpg Microsoft Logos, accessed 22 December 2013
- http://www.youtube.com/watch?v=NBvbsPNBIyk Commodore 64 - 25th Anniversary Celebration, accessed 22 December 2013
- http://www.swtpc.com/mholley/PopularElectronics/Jan1975/PE_Jan1975.htm Popular Electronics January 1975, accessed 22 December 2013
- http://homepage.hispeed.ch/commodore/pictures/c128_scr.gif C128 (40-column) Startup Screen, accessed 22 December 2013
- http://scacom.bplaced.net/Collection/128/c1282.png C128 (80-Column) Startup Screen, accessed 22 December 2013
- http://www.eeggs.com/items/552.html C128 Easter Egg (Programmers) Message, accessed 22 December 2013