3 ms·
> All three passes were written largely in Applesoft Wouldn't this explain it? But it seems odd that they wouldn't at least save a LUT relating the shortened
by tambourine_man 5y ago
> All three passes were written largely in Applesoft
Wouldn't this explain it?
But it seems odd that they wouldn't at least save a LUT relating the shortened and expanded variable name.
- js2 5y agoDoh. I read right over that.
- wumpus 5y agoApplesoft II fit in 10 kilobytes of rom and had to be able to run in as little as 4 kilobytes of ram. The one thing that Microsoft was an expert at (in that era) was sacrificing features to fit. There was no special version for machines with more ram or with a floppy disk.
- epmos 5y ago> But it seems odd that they wouldn't at least save a LUT relating the shortened and expanded variable name. BASIC implementations based on Microsoft BASIC store tokenized program lines. A keyword takes 1 byte. Comments, variable names, spaces between tokens, etc take up memory on a character-by-character basis. I didn't use Apple BASIC, but I spent too much time on various flavors of Commodore BASIC which shared this heritage. Changing a variable from "ACCUMULATOR" to "AC" to "A" saved memory and made the program run faster. The problem of not being able to make sense of your own program after was very real.
- schoen 5y agoThere was a weird thing in IBM BASICA (which apparently became GW-BASIC) where runtime writes to a pointer to a program variable could corrupt your program listing itself. I think this had to do with variable contents actually being stored inside the source code somehow? Do you know any more about this, or does anyone else remember this?
- tambourine_man 5y agoSure, I meant saving that LUT somewhere else for future reference