Linked by Thom Holwerda on Sat 25th Oct 2008 19:24 UTC, submitted by Michael Steil
Microsoft "If you disassemble a single binary, you can never tell why something was done in a certain way. If you have eight different versions, you can tell a lot. This episode of Computer Archeology is about reverse engineering eight different versions of Microsoft BASIC 6502 (Commodore, AppleSoft etc.), reconstructing the family tree, and understanding when bugs were fixed and when new bugs, features and easter eggs were introduced. This article also presents a set of assembly source files that can be made to compile into a byte exact copy of seven different versions of Microsoft BASIC, and lets you even create your own version."
Thread beginning with comment 335119
To view parent comment, click here.
To read all comments associated with this story, please click here.
Re: BBC Basic
by Alwin on Mon 27th Oct 2008 09:22 UTC in reply to "Bizarre thing to do decades after the fact..."
Alwin
Member since:
2005-07-17

Well I had more exposure to MSX Basic myself (also from MS), which IMHO wasn't that bad, compared to what I knew from other systems around at the time. If anything, Basic simply is a crappy language by nature, some dialects just worse than others.

As for BBC Basic, one feature it shares with the Acorn Electron (where I encountered it first) is the inline assembler. You'd put some specially marked section with assembler code right into your Basic program, even use some Basic variables in there as constants / arguments, and upon running the Basic program the computer would assemble that section, replace the Basic variables with their current values, and thus execute the assembler code as a seamless part of your Basic program.

We all know these low-powered machines were begging to be programmed in machine code, and there exist many ways to mix machine code with Basic (or other languages), but I thought this was a really nifty way to do it. And lower the barrier for using assembly code. Which is great, since for higher level language users it isn't easy to get started with extremely low-level assembly. That was true back then, and still is. Perhaps even more today. Tools may be better these days, but the distance between machine code and modern-day, popular languages is bigger than ever.

Reply Parent Bookmark Score: 1

RE: Re: BBC Basic
by rhyder on Mon 27th Oct 2008 20:46 in reply to "Re: BBC Basic"
rhyder Member since:
2005-09-28

This is how I got into assembly language programming on my Archimedes when I was a kid - I wrote things in BASIC and then gradually began to add more and more assembly language. It was also handy to have all of the features of BASIC at hand. For example, for the quick creation of a lookup table.

Reply Parent Bookmark Score: 2