Microsoft Has Now Open-Source Their BASIC Code From 1983 - Phoronix:
Microsoft GW-BASIC is now open-source following their prior open-sourcing of older MS-DOS versions. This original Microsoft BASIC version being open-sourced is from 1983 and is simply being open-sourced for historical purposes.
This Microsoft BASIC interpreter is written in Assembly, to no surprise considering the ivntage[sic] of the software. But Microsoft did push this code through a translator in order to make use of newer x86 ISA capabilities. As such, the code being open-sourced is that derived from their original source code.
More details on this Microsoft BASIC open-sourcing via their dev blog while the code is on GW-BASIC via GitHub.
(Score: 5, Insightful) by inertnet on Saturday May 23 2020, @12:10PM
The "latest commit" dates are kind of funny, as if Microsoft had a "code of conduct" 38 years ago. Even with modern https web links in it.
But hey, they bought Github, so they can manipulate whatever they want there.
(Score: 4, Informative) by Arik on Saturday May 23 2020, @12:16PM (3 children)
"This original Microsoft BASIC version being open-sourced is from 1983"
Author seems to be confused and self-contradictory. The original MicroSoft (get the caps right) BASIC was released in 1975. Wikipedia tells me the final version was released in '81, which sounds about right. What is this 1983?!?
Oh, it's GW-Basic. NOT the original MicroSoft BASIC at all.
"This Microsoft BASIC interpreter is written in Assembly"
And even if we had not already established this was not the original, that would be good reason to suspect it. I don't know for sure, but I would expect BG wrote the original directly. That was the normal way in the microcomputer world in 1975, for anything where performance was important. Between '71 and '75 it was presumably converted to the high level language for ease of maintenance and portability.
GW-BASIC then would have started as an Assembly project, and jump-started by cannibalizing parts of the code to the earlier program.
If laughter is the best medicine, who are the best doctors?
(Score: 1, Interesting) by Anonymous Coward on Saturday May 23 2020, @02:10PM
According to https://en.wikipedia.org/wiki/GW-BASIC [wikipedia.org]
I wonder if the original license between IBM and MS allows for MS to release source(grin).
(Score: 4, Interesting) by Anonymous Coward on Saturday May 23 2020, @02:28PM
That would be the BASIC that bill Gates "wrote" by copying someone else's code.
story [theregister.co.uk]
(Score: 0) by Anonymous Coward on Saturday May 23 2020, @09:18PM
Wikipedia says "The final major release of BASIC-80 was version 5.x, which appeared in 1981". Note the 'major'.
BASIC-80 is just part of the many variants of Microsoft Basic. GW-Basic is other. And minor releases, and variants for specific machines, were released after.
So, "this" Microsoft Basic version from 1983, no contradiction at all.
Confusion, probably. There where lots of variants for different processors, specific machines, and operating systems, I don't think anyone (even in Microsoft) has a full knowledge of all.
(Score: 1, Funny) by Anonymous Coward on Saturday May 23 2020, @12:21PM
Microsoft started messing around with Cancerous Open Source Linux, and now they have to release their source code.
(Score: 2) by maxwell demon on Saturday May 23 2020, @02:47PM (2 children)
In the file OEM.H I found the following comment:
The repository doesn't contain a file named HFILE.* (nor any Pascal file at all, as far as I can see). So I wonder what this Pascal program HFILE is/was doing.
The Tao of math: The numbers you can count are not the real numbers.
(Score: 5, Interesting) by Mojibake Tengu on Saturday May 23 2020, @03:49PM (1 child)
OEM.H itself reveals the true origin of the project in 8080/Z80 CP/M system. I remember 8bit Microsoft Basic in TRSDOS and NEWDOS2000 as well as on MSX standard platform. I still have a Sharp MZ-800 machine somewhere here.
We all (I mean, we all real programmers) had a complete (often self-commented) disassembly of ROMs of any relevant computer in those times, Basic included, because many routines were too interesting for call to be ignored. We knew our machines.
This uninteresting released 16bit x86 version of PC/XT GW-Basic came from the original 8bit version via some funky translator, which was most probably written in Pascal, just because TurboPascal3 itself was very portable for both 8bit and 16bit computers and best option for memory-conserving projects because of its P-code execution model.
And, last but not least shard of history: I do not believe Bill Gates wrote this code. He stole it.
Respect Authorities. Know your social status. Woke responsibly.
(Score: 1, Interesting) by Anonymous Coward on Saturday May 23 2020, @06:13PM
I do not believe Bill Gates wrote this code. He stole it
You suspect that he can not write code. Interesting. That sounds made up to me. Can you prove it? I think MS can prove otherwise.
Remember at one point MS was a startup of 3-4 guys sitting in a room cranking some code. Bill was one of them.
I know! Perhaps he was getting access to a PDP11 just so he can make connections with people at IBM for a DEC system! Yeah thats it. /s
Of the people I know that can 'code'. Some have gone on to run large divisions of major corps. Others live in a van down by the river. Most live in a nice little suburban house with 2.3 kids. Life is not even or fair.
This code is probably 4th or 5th generational. At some point they took the ASM put it into a higher level lang then use some sort of transpiler to spit out ASM code to run into that platforms assembler. It could be that transpiler was written in pascal. They did have to target well over 20 different platforms with their basic at one point. Maybe they knew their platforms and business better than you trying to guess who did what 40 years ago. Using mainframe computers to build bios/roms for PC's was not uncommon. In fact Apple did it as well. Most of the big manufactures did. It was how they bootstrapped into the PC world. At this point the PC can do that all by itself. But at one point it was easier to use the tools on other systems to do it.
But you do not have to take my word for it. It is in the article what this code is.....
GW-BASIC was a BASIC interpreter derived from IBM’s Advanced BASIC/BASICA, which itself was a port of Microsoft BASIC.
Microsoft’s various BASIC implementations can trace their origins all the way back to Bill Gates & Paul Allen’s implementation of Microsoft’s first product – a BASIC interpreter for the Altair 8800.
During the late ’70s and 80s, Microsoft’s BASIC was ported to many OEM’s specific platform and hardware needs, and for several processors popular at that time, including the 8088, 6502, 6809, Z80, and others.
Basically (hehe) this is just a dump of the last intermediate build of GWBASIC for a particular platform (x86 PC-DOS2.0). Probably used to help debug issues if any popped up from their support lines.
MSBASIC was *the* BASIC most people used. It was the one everyone strove to build compatibility with. Even Apple and Commodore used it as a source reference. Remember MS in the early years was mostly not a direct to consumer company but an OEM to the ones that did.
(Score: 2, Interesting) by RandomFactor on Saturday May 23 2020, @03:57PM (2 children)
В «Правде» нет известий, в «Известиях» нет правды
(Score: 0) by Anonymous Coward on Saturday May 23 2020, @06:29PM (1 child)
You are confusing the platform with the utilities. The utilities are things that run ontop of the command shell. BASIC would be one of the utilities shipped with it. Usually on a DOS system you would find this file in a folder named DOS/MSDOS/PCDOS/FDOS depending on which DOS you bought. BASIC is clearly a MS product. They pretty much were the OEM to goto to get a decent BASIC for your platform up and running in the late 70s early 80s fairly quickly. They would sell it as a one time source code dump no strings attached (not preferred) or a recurring per unit shipped cost. If you are shipping 200k of something the per unit cost is silly. If you think you are going to ship 200 of something the other way makes more sense. Commodore went with the first and changed it as needed. They even used it as the 'entry point' to their systems using it as an OS and utility.
(Score: 1) by RandomFactor on Saturday May 23 2020, @10:12PM
Yeah fair, I had a similar thought not long after posting thinking about the dos 1.x/2.x open sourcing they have done.
But even so, I think the underlying skepticism of MS in regards to 'open sourcing' is not entirely unwarranted :-)
В «Правде» нет известий, в «Известиях» нет правды
(Score: 3, Interesting) by bart9h on Saturday May 23 2020, @05:13PM
This was my first programming environment.
(Score: 0) by Anonymous Coward on Saturday May 23 2020, @05:13PM (1 child)
the submitter should have just said "goto sourcecode"
(Score: 2) by kazzie on Sunday May 24 2020, @05:48AM
You tell them, then. I mean, you gosub.
(Score: 1, Insightful) by Anonymous Coward on Sunday May 24 2020, @10:04PM
Are you enjoying COVID-19, Boomers? I hope you are, because your political response to the pandemic has completely destroyed the economy. Did we really need a Great Recession in 2008 caused by you, and a Great Lockdown in 2020 caused by you? Are you proud of yourselves for creating an economic depression even worse than the Great Depression of the 1930s? Are you proud of yourselves, Boomers? Your legacy will be economic ruin for all. You don't care as long as you Boomers continue to receive your pensions. You Boomers don't have jobs. You Boomers don't create jobs. You Boomers don't do anything for anyone ever. You Boomers are utterly worthless parasites. You don't care about anybody except yourselves. Everybody except you is forced at gunpoint to wear a facemask while you Boomers sit in your giant mansions laughing and waiting to die when you will be buried with your fortunes so nobody will ever touch your precious money.
Boomers did COVID-19.