aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Watson <urchlay@slackware.uk>2025-03-05 04:24:28 -0500
committerB. Watson <urchlay@slackware.uk>2025-03-05 04:24:28 -0500
commit3e3c4895badaa04d6c243c9a282008cfcd7a4170 (patch)
tree5cd6ea445b71ccbba5a8b3e1811619af7a6b9c9b
parentb151114304a9fcae3d355021859d542c8f2f3a81 (diff)
downloadbw-atari8-tools-3e3c4895badaa04d6c243c9a282008cfcd7a4170.tar.gz
AMSB.txt: add crunching setion.
-rw-r--r--AMSB.txt19
1 files changed, 19 insertions, 0 deletions
diff --git a/AMSB.txt b/AMSB.txt
index 0d458a7..158bc0c 100644
--- a/AMSB.txt
+++ b/AMSB.txt
@@ -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.