Skip to content(if available)orjump to list(if available)

Microsoft Releases Historic 6502 Basic

Microsoft Releases Historic 6502 Basic

52 comments

·September 3, 2025

jelder

I really appreciate that they bothered to set an artificial timestamp for these git commits, roughly 30 years before Git itself existed. The thing is, the other files do, too, and the .gitignore is full of hilariously anachronistic references.

breadwinner

I don't see any credit being given to Digital Equipment Corporation (DEC) upon whose work this is based [1] [2] [3].

The quotes below only talk about OS source code, but they found language interpreter source code as well, see register story.

> "So, for a few years that is where I spent my time. I'd skip out on athletics and go down to this computer center. We were moving ahead very rapidly: BASIC, FORTRAN, LISP, PDP-10 machine language, digging out the operating system listings from the trash and studying those. Really not just banging away to find bugs like monkeys[laughs], but actually studying the code to see what was wrong." [4]

> "While his parents were concerned with his slipping grades, there was no slowing him down. He and Bill would go “dumpster diving” in C-Cubed’s garbage to find discarded printouts with source code for the machine’s operating system"

[1] https://en.wikipedia.org/wiki/BASIC-PLUS#Comparison_to_MS_BA...

[2] https://everybasic.info/doku.php/basics/decbasic#influence_f...

[4] https://americanhistory.si.edu/comphist/gates.htm

[3] https://www.theregister.com/2000/06/29/bill_gates_roots/

[5] https://paulallen.com/Futurist/Microsoft.aspx

phkahler

In that Basic 80 link (number 2) I would have expected another variant to be listed: Microsoft Basic for the Interact Home Computer which used an 8080 processor. BTW I still have my Interact in its box and the MS Basic on tape and some other stuff. Looking for a museum or appropriate place to send it.

wvenable

I saw an ebay listing for one of these Interact computers today and spent a little time learning about it on YouTube. It's so strange to see your post on the same day about a computer I didn't know existed yesterday.

reaperducer

digging out the operating system listings from the trash and studying those.

A lot of us did the same thing in that era. It's surprising how much information can be learned from what others think is useless.

Thank you SUNY New Paltz and the IBM submarine facility (no idea what it was called) for not securing your Dumpsters. It's how I learned computing before it was taught in schools.

DonHopkins

https://news.ycombinator.com/item?id=17998940

DonHopkins on Sept 16, 2018 | parent | prev | next [–]

Speaking of weird BASIC features, does anyone know why DECSYSTEM 20's BASIC had a "LISTREVERSE" command?

Yes, it actually did exactly what it sounds like!

Chalk one up for DEC and BASIC. What other programming languages support that feature, huh?

    DECSYSTEM 20 BASIC User's Guide: LISTREVERSE command

    LISTREVERSE
    LISTNHREVERSE

    LISTREVERSE and LISTNHREVERSE print the contents of the
    user's memory area in order of descending line numbers. 
    LISTREVERSE precedes the output with a heading,
    LISTNHREVERSE eliminates the heading.

    LISTREVERSE

    EQUIV             10:53                      13-NOV-75

    40    END
    35    PRINT "THE EQUIVALENT CURRENT IS",I, " AMPERES"
    25    I=E1/R
    10    INPUT R
    5     INPUT E1

    READY
http://www.bitsavers.org/www.computer.museum.uq.edu.au/pdf/D...

dboreham

> upon whose work this is based

Erum, none of your references show this (or come remotely close).

MS did base NT on DEC work, and settled a court case as a result. Perhaps you're thinking of that story?

BASIC the language pre-dates the DEC implementation (it came from Dartmouth College), and nobody would reasonably think that seeing the code for a high level language BASIC interpreter implementation for Machine A, then writing an assembler implementation for Machine B means you "based it on their work".

monocasa

MS BASIC is widely considered to have been based on the internal structure of DEC BASIC.

leoc

Right, though there's two or three different questions here: whether DEC BASIC influenced MS BASIC, whether MS should have acknowledged that today, and whether DEC BASIC's influence on MS BASIC amounted to a copyright violation. On the last question, my guess would be that there's at least a reasonable argument that MS' use of the DEC BASIC code was transformative enough to get them off the hook, but IANAL.

pico303

I love how the initial commit is "48 years ago."

JdeBP

If you enjoyed the datestamps on that repository, you will definitely enjoy the datestamps on this one:

* https://github.com/dspinellis/unix-history-repo

You'll also enjoy the contributors list.

msgilligan

Although that date should really only apply to the `m6502.asm` file. I think for a historical archive accuracy should be important. For example when was it licensed under the MIT license, I assume fairly recently. The file date should reflect that.

commandlinefan

I noticed that right away, too - I didn't know you could force backdates of git history like that.

mananaysiempre

The GIT_AUTHOR_DATE and GIT_COMMITTER_DATE environment variables[1] are what you use for things like that. (The former can also be overridden by the --date= option to git commit, and there’s also various situational stuff like --reset-author for git commit or --committer-date-is-author-date and --reset-author-date for git rebase.)

[1] https://git-scm.com/docs/git-commit#_commit_information

Tor3

I have source I wrote using SCCS as version control, which later was moved to CVS, preserving the commits as well as commit dates, and at some point moved to Git, again preserving commits and dates. So some of my personal Git repositories have commit entries going back to the late eighties.

For any ordinary commit you can simply include "--date=" with the 'git commit' command, e.g. -m "This is an old change" --date="2001-03-02 18:05:47"

meesles

All git data can be modified

xattt

Are GitHub commit timestamps stored as Unix epoch time? If so, could we get similar timestamp accuracy when working with historical source code from systems like UNIVAC?

prerok

Yes, somebody could doctor those commits with the right timestamp so that we would get a clear historical progression.

It's doable, but would have to doctored, there was no git then, obviously.

badc0ffee

Even if it was a 32-bit timestamp, you could still express dates back to December 13, 1901.

achrono

I love even more how it's a .md file from well before Markdown even existed.

perching_aix

I bet it being a Git repo must straight up feel otherwordly then.

It's just a nice touch.

prerok

No, skynet went to the past and gave git and md to microsoft, which then proceeded to create the doc format from the md as a starting point :P

shanselman

Thanks!

codingwagie

Love the comments:

"7/27/78 FIXED BUG WHERE FOR VARIABLE AT BYTE FF MATCHED RETURN SEARCHING FOR GOSUB ENTRY ON STACK IN FNDFOR CALL BY CHANGING STA FORPNT TO STA FORPNT+1. THIS IS A SERIOUS BUG IN ALL VERSIONS."

Not far off from a comment I might make these days

https://github.com/microsoft/BASIC-M6502/blob/main/m6502.asm...

giancarlostoro

I'm trying for Visual Basic 6 to show up on GitHub someday.

SSLy

that Readme smells of LLMs and elderberries

cube00

QuillBot reports 100% AI for section "Why This Document is Historically Important"

lloydatkinson

> It democratized programming

Yawn. Everything “democratizes” everything these days.

petcat

I think it commercialized programming. True democratization didn't really happen until Stallman, GCC, and the GPL.

dmbche

How about when they invented BASIC

null

[deleted]

oompydoompy74

Who cares?

AbraKdabra

The "48 years ago" detail for the commit date is genius.

null

[deleted]

shanselman

thanks!

cyberax

I think, it's the first time I saw "48 years ago" in the most recent change column on Github.

drittich

I cut my teeth on that language, and still keep a Commodore PET around for old times sake.

eggy

I had my Commodore PET for 10 years from 1977 to 1987 until I went away and my cousin borrowed it, and then believing I was not coming back to the US from Spain, sold it!

I loved the cassette drive and all-in-one chassis. Ah, typing in programs from magazines and creating programs from scratch with PET graphics on the keys! I miss those days. So much wonder and fun.

LeoPanthera

That readme is obviously AI generated. I’m happy for anything this historical being open sourced, but I now wonder what the AI has done to the code itself. What a shame.

NitpickLawyer

Well, we can be pretty sure it didn't touch comments :)

> 12/1/77 FIXED PROBLEM WHERE PROBLEM WITH VARTXT=LINNUM=BUF-2 CAUSING BUF-1 COMMA TO DISAPPEAR

pjmlp

They now have OKRs to use AI everywhere, even .NET tooling is getting AI tainted.

ocdtrekkie

I assume AI only generated the readme file. But I would say if AI boilerplate eases Microsoft releasing more of their old code to the public, I am okay with that.

Microsoft recently closed a 7 year old .NET documentation bug I opened using Copilot. I am not a fan of AI but the submitted fix was far superior to the basically useless message that had been previously present, so net positive. At being ignored for 7 years, it was unlikely to get better from human effort.

LeoPanthera

I wouldn't assume that at all. If they're using AI for something as trivial as a readme, I think it is a very safe assumption that that's not all they're using it for.

I wish code repos had a "contaminated by AI" flag.

DonHopkins

Why do you have any reason to believe AI generated any of the 6502 code? What possible reason or motivation could there be for that? Wouldn't it spoil the entire reason for releasing it, totally miss the point of releasing original historic code? Who might possibly benefit by doing that? Are you just making up baseless conspiracy theories or do you have any factual basis for that accusation?

Seems hypocritical for a human being to hallucinate a conspiracy theory about LLMs, with no evidence whatsoever.

lysace

That recent "purchase of Commodore" by some youtuber... it doesn't really include the distribution rights of the C64 ROM containing (a newer version of) this 6502 Basic, right?