But I felt, based on my knowledge, that it was worth offering an alternative to your theory.
There's no need to get nasty here. Your theory is, objectively, at least as much based on "psychic intuition" as mine.
Look, man, I'll own that this whole thing is my fault or whatever if it puts an end to this. All I'm going to say here is that I thought I was reasonably clear about not positing anything I said as any more than a theory, while there's this ring of "See, I know the obvious facts from sources that you could totally read yourself if you weren't so dumb"(*) that mysteriously comes across in your tone to some people, and I guess I fell victim to getting riled by it. Which was wrong. I mean, clearly you're just operating at a level so far above us that you can't understand what we might need to pick out of that link to prove your point when you say something like "oh no, this code is obviously a port of this
other code.
My last and final technical thoughts about those links you're grated about:
In post #37, where said links were dropped, you just pointed out the command tables are different and then basically asserted that meant they were from entire different ports of a source tree... without apparently noticing that the 6809 version wasn't any closer to the newer version of BASIC-80 you claim it must be from. (
I'm the one who pointed out shortly afterwards, hey, it looks like the major driver of token order is how the parser works, and this was *long after* I'd already conceded that, sure, if they'd *wanted* the same tokens in the two BASICs they would have had to go out of their way to do it.) And then later you throw out stuff like this...
I suspect your opinion here might be due to not being conversant with assembly: if you go do some 8080, 6800 and 6809 programming I think you'll readily see why a translation from 8080 makes a lot more sense than a translation from 6800. (The key here is that the 6800 has only one index register, whereas the 8080 and 6809 have, effectively, multiple index registers; what this means will become obvious if you do some programming on each of these three systems.)
But at any rate, if you think your opinion is more supportable, do feel free to go do some research and come out with some actual support for it, rather than just sniping at me with, "That doesn't sound plausible to me." I've already given you a repo that contains actual MS source and partial disassemblies for five different versions of MS-BASIC, and links to three more, plus links to considerable ancillary information. So far you've given us an MS-BASIC catalogue and an MC-10 BASIC disassembly that shows a lot of similarity to my Altair 680 BASIC disassembly. (And thanks for that, of course.)
Which, you know what? Again, I'm not disputing a 100% positive fact that you've had *way* more experience with 8 bit assembly than I have, but nonetheless... I'm sorry, this seems like it's in bad faith? I mean, I honestly have to ask you: Did you actually spend any time
yourself comparing that MC-10 disassembly to Color BASIC? By happenstance there's a link in the top of that disassembly,
to this PDF of "Color BASIC Unraveled", and... I get it, I'm a complete moron, but just sitting here poking through the extensively annotated disassembly of the 6809 version in that PDF and comparing to the 6800 version (which used it as a source to help get the labels reasonably consistent, so it's *way* easier than that awful repo of the Dragon 64 code), and... it looks very much to me like there are
extensive swathes of code that are
very much alike.
Sure, hitting the books I also see some 6809 optimizations, like how Color BASIC uses PULS B, X, PC to restore registers at the end of some of its drivers (like the keyboard) instead of three separate PULB/PULX/RTS instructions. But... come on, really? This is the hill you're dying on to make the claim that this is a separate port of the 8080 source? Or did you just make that whole claim up to be argumentative and blow smoke? I mean, clearly *all* the versions of Microsoft BASIC have a strong family resemblance, but... again, whatever, I suppose ultimately it doesn't matter.
Going back to my offhand comment that started this whole stupid thing it's quite clear that the
correct answer boils down to is "sure it would have been
possible to make the tokens match, but it would have required inefficient changes to the parser, which expecially would have been waste because the CoCo has two byte tokens, which the MC-10 would have never needed". There was zero need to invoke all these weird assertions about the histories of the codebases, at all, but... eh. Whatever.
Thank you for the argument I guess. At least I learned a few things.