Jump to content
IGNORED

A Bill Gates' Easter Egg in a Commodore PET


Recommended Posts

From http://www.pagetable.com/?p=43

 

If you have a Commodore PET with BASIC V2 (1979) type the following at command line immediately after it starts up:

WAIT6502,1

 

Which replaces part of the letters at top with MICROSOFT!

 

This easter egg embedded after the definition of the SIN() coefficients also appears in:

* KIM-1

* Tangerine Microtan 65

* Tangerine Oric-1 and Oric-Atmos

* Pravetz 8D

* TRS-80 Color Computer and the TRS-80 MC-10

 

Another similar easter egg:

* TSR-80 Color Computer (1980) - type "CLS9" (or CLS and any higher number) to see MICROSOFT easter egg

* TRS-80 MC-10

* Dragon 32 (64, too?) - type "CLS9" (or CLS and any higher number) to see "© 1982 BY MICROSOFT" easter egg

 

Others:

* Altair BASIC(?) - at memory size prompt in startup type ctrl-'A' (?)

* CompuColor - at memory size prompt in startup type ctrl-'A'

* Ohio Scientific’s Challenger - at memory size prompt in startup type 'A'

Edited by Fort Apocalypse
Link to comment
Share on other sites

  • 1 month later...

I believe the story is that Tramiel paid a flate rate to use Microsoft Basic in all his machines, something like $5k or $10k, because Microsoft needed the cash and didn't anticipate the boom in home computers. So when the Commodore 64 came out with Basic in ROM, MS never saw a dime off of the millions of 64s sold. Gates never made the mistake of a flat rate again.

 

The downside for Commodore (and their customers) was because of this deal they never got an updated Basic and had the same aging version in all the computers.

Link to comment
Share on other sites

The downside for Commodore (and their customers) was because of this deal they never got an updated Basic and had the same aging version in all the computers.

 

There was a lot of software that relied upon the precise inner workings of the BASIC ROM. Had Commodore moved anything around, much of that software would have been broken.

 

Indeed, if one looks at various revisions of the KERNEL ROM, one will notice that changes are carefully patched in so as to avoid disturbing anything. E.g. if it was necessary to change something like

patch:
 lda #1
 ldy #0

so that it would load the accumulator from somewhere in memory (not zero page) rather than using the constant 1, it would be patched as something like

patch:
 jmp wasBlank
 brk ; Blank byte
endPatch:

 ...
wasBlank: ; Some spot that had been blank
 lda magicLocation
 ldy #0
 jmp endPatch

Not a perfect patch, since a program that attempted to enter the kernel at address patch+2 would fail, but it would nonetheless avoid the massive problems that would result from simply replacing the "lda #1" with "lda magicLocation".

Link to comment
Share on other sites

The downside for Commodore (and their customers) was because of this deal they never got an updated Basic and had the same aging version in all the computers.

 

Huh? Of course they did. Not only did they release their own BASIC expansions like "Super Expander" and "Simon's BASIC" for the C64, but the later Commodores like the Plus/4 and C128 (especially the C128) had a much more updated BASIC. Also, the un-released C65 had an updated BASIC as well.

 

Of course, by the time the BASIC got around to the C64 and above computers, the software developers at Commodore probably changed enough around in the code that I'd guess not much was left of Microsoft's original code.

 

Garak

Link to comment
Share on other sites

Huh? Of course they did. Not only did they release their own BASIC expansions like "Super Expander" and "Simon's BASIC" for the C64, but the later Commodores like the Plus/4 and C128 (especially the C128) had a much more updated BASIC. Also, the un-released C65 had an updated BASIC as well.

 

The VIC-20 had lots of unused address space; putting the Super Expander's ROM into that address space did not cause any difficulty. Note that even with a Super Expander installed, the BASIC ROM from from $C000-$DFFF is entirely unaffected. Despite that, there are many programs that require that the Super Expander be unplugged or disabled in order to work.

 

Simons' Basic (which I own, somewhere) isn't really compatible with anything; there are many programs that won't run with it plugged in.

 

 

As for the Plus/4, C128, etc. none of those are compatible with the C64, with the exception of the C128 in compatibility mode.

 

BTW, the niftiest "development system" I ever saw back in the day was the Fast Assembler published in Compute's Gazette. That thing was slick.

 

PS--Back in the day I wished I could have somehow sneaked into Commodore and removed the logic that prevented the creation of a useful "enhanced" C64-compatible mode. Imagine some of the software development possibilities if one could, e.g., use 64K of the 128K as a RAM disk. That would have been amazing. Too bad it's not possible.

Edited by supercat
Link to comment
Share on other sites

Huh? Of course they did. Not only did they release their own BASIC expansions like "Super Expander" and "Simon's BASIC" for the C64, but the later Commodores like the Plus/4 and C128 (especially the C128) had a much more updated BASIC. Also, the un-released C65 had an

 

Okay, I was under the impression that because they didn't get forced to use the Microsoft name on Basic until the 1985 C=128 release that they were using the same old Basic. I didn't realize they monkeyed with code for each computer. Anyhoo the real point is they didn't pay MS any royalties.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...