diff options
author | B. Watson <urchlay@slackware.uk> | 2025-03-05 04:24:28 -0500 |
---|---|---|
committer | B. Watson <urchlay@slackware.uk> | 2025-03-05 04:24:28 -0500 |
commit | 3e3c4895badaa04d6c243c9a282008cfcd7a4170 (patch) | |
tree | 5cd6ea445b71ccbba5a8b3e1811619af7a6b9c9b | |
parent | b151114304a9fcae3d355021859d542c8f2f3a81 (diff) | |
download | bw-atari8-tools-3e3c4895badaa04d6c243c9a282008cfcd7a4170.tar.gz |
AMSB.txt: add crunching setion.
-rw-r--r-- | AMSB.txt | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -306,3 +306,22 @@ in tokenized form. AMSB will LOAD it with no problems. If you hex-edit a SAVEd file to create a longer line, AMSB will accept that, too... up to 255 bytes. At 256 bytes, AMSB will lock up after LOAD. + + +Crunching +--------- + +AMSB stores spaces in the tokenized program, just like other 8-bit +MS BASICs do, but it requires you to put spaces between keywords and +variables (unlike e.g. Commodore 64 BASIC). This seems to be because +AMSB allows keywords inside of variable names: you can have a variable +called LIFE (which contains the keyword IF) in AMSB, but you can't in +C=64 BASIC (which gives a syntax error becase it sees "L IF E"). + +This applies to numbers, too: POKE710,0 is a syntax error in +AMSB. This is because POKE710 is actually a valid variable name: try +POKE710=123 followed by PRINT POKE710. + +However. The spaces aren't needed when the program is RUN. It would be +possible to remove all the spaces outside of strings or comments and +the program would still work fine. |