drogon wrote:
Would the overhead of saying "is the target greater than the current line number, or less than or equal?" and picking the appropriate algorithm worth the time to do the test and the extra RAM needed (in a minimal RAM system) ?
I think you might need a good selection of old BASIC programs to find out...
-Gordon
I got the idea from a certain Mr. Gates. I think that the only way for a human to notice the difference would be to run some rather large programs with a bunch of loops, like "Super Star Trek" or similar. I have a version that is stalled in the fixed-point navigation routines ... and has been for some time.
Some of these performance features that weren't in Frank's original 6800 implementation came after my realization that I wasn't going to fit VTL02 into 768 ROMable bytes at my coding skill level. I changed my goal to 1KB or less and used that extra breathing room to add a few features, like proper cold initialization of the user area, five additional binary operators, the VTL-2 equivalents of PEEK & POKE, and performance enhancements. I know a bit more now than I did then, and there's a non-zero chance that I or someone more skillful than I could revisit the 6800 source and try to fit the original features inside 768 bytes of 6502 (or 65c02) assembly, but that ship has probably sailed, at least for me in my current situation.
_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some
VTL02C on it and see how it grows on you!
Mike B.
(about me) (learning how to github)