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.
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?
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"
A piece of software closely matching the interface of a different piece of software doesn't automatically make the former based on the latter, except in an abstract sense (in which almost all ideas are derivative in some ways, because everything builds on the shoulders of giants). What is this, the CP/M vs MS-DOS argument again? I'm not Gates' biggest fan in terms of his ruthless business acumen, but claims of plagiarism, however slight, need a bit of hard evidence to be anything more than a smear.
"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
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.
This is why I'm still skeptical about the claims that it's "impossible" for there to be a CP/M easter egg in CP/M, as Kildall claimed there was (although I think the likelihood of the same egg in MS-DOS is zero).
What editor did they use to write this code? I think this predated vi, and folks were probably using older tools they were familiar with. ed? How much of the source code could they see at once? Was there such thing as a "full screen editor"? If anyone can illuminate the development environment/workflow from the late 1970s I'd love to hear about it.
While the bullshit generator might think it's "Compatible with period assemblers for 6502 development", that's a weird-ass cross assembler. For my money, a commented disassembly like https://6502disassembly.com/a2-rom/Applesoft.html using a more standard assembler is easier to read. It's interesting to compare the two though.
This is great. I've been around since the BASIC days and I always found awesome that most older personal computers had a programming language available within seconds of turning the computer on!
I did a lot of hobby programming in BASIC. But I wonder how many commercial applications were written with it. Did small or big businesses write their own BASIC programs for internal needs?
I think there were a lot of small commercial applications if you count programs you could order from the little ads in the back of magazines. BASIC was fine for something like a recipe or address database, that didn't involve any graphics or sound.
Enough small businesses wrote little BASIC programs that Visual Basic was a huge deal for small businesses at the time. There were a lot of business apps written in VB. There are still a weirdly high number of business apps written in VBA for Access and Excel each year in some industries.
According to https://www.pagetable.com/?p=774 that is actually in the original source written like that (as I would assume the copy of the source Steil posted about in 2015 was not sanitized).
57 comments
[ 3.2 ms ] story [ 66.0 ms ] threadhttps://github.com/microsoft/BASIC-M6502
Never change, bureaucracy :)
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
"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...
Lines 6530 - 6539 are the "MICROSOFT!" that gets printed.
Line 4914 is the code to check the address passed to WAIT and, if correct, print the "MICROSOFT!".
It really is inconspicuous. A source licensee definitely wouldn't find it by quickly perusing.
[0] https://www.pagetable.com/?p=43
I did a lot of hobby programming in BASIC. But I wonder how many commercial applications were written with it. Did small or big businesses write their own BASIC programs for internal needs?
> CHKVAL: BIT VALTYP ;WILL NOT F UP "VALTYP".
http://reprobate.site/?stage=pearintosh