Undocumented 8.1 commands: Difference between revisions
Created page with "At the time of this revision for Color 64 v8.1a, there are notably several ML related commands and variables that are not documented as well as some basic shortcuts and appear to have been introduced from the 8.1 upgrade that never received any manual documentation. I find that comparing 8.0 code with 8.1 helps you along in figuring out what these undocumented items perform. Below are some of my notes and observations of what the code was in 8.0 and the observed shortcut..." |
No edit summary |
||
| Line 97: | Line 97: | ||
<u>Conclusion</u>: Documentation originally stated “.31” was not used - but it clearly is - and may be a more-refined or customized version of inputting data from disk (.01). “!55” was undocumented and appears to be a variable replacement for “@0=<reverse n>”, where @0 is for disk-and-key input and stores a result. There are several cases where “.31” and “!55” are used in conjunction with each other. | <u>Conclusion</u>: Documentation originally stated “.31” was not used - but it clearly is - and may be a more-refined or customized version of inputting data from disk (.01). “!55” was undocumented and appears to be a variable replacement for “@0=<reverse n>”, where @0 is for disk-and-key input and stores a result. There are several cases where “.31” and “!55” are used in conjunction with each other. | ||
|} | |} | ||
{| class="wikitable | {| class="wikitable | ||
| Line 147: | Line 146: | ||
:: It appears the 8.1 version of line 1525 uses “old to new” assignments to replace the incrementation we see in the 8.0 version. The 8.1 statement <strong>.40,fgkl</strong> is a mystery, but appears to be a new ML routine to use the new assignments of the variables <strong>f</strong>, <strong>g</strong>, <strong>k</strong>, and <strong>l</strong> that occurred on the same line. | :: It appears the 8.1 version of line 1525 uses “old to new” assignments to replace the incrementation we see in the 8.0 version. The 8.1 statement <strong>.40,fgkl</strong> is a mystery, but appears to be a new ML routine to use the new assignments of the variables <strong>f</strong>, <strong>g</strong>, <strong>k</strong>, and <strong>l</strong> that occurred on the same line. | ||
* Examples 1 & 2 appear to use different subject parameter for parameter #2 in the <strong>.38</strong> function. Example 1 shows <strong>.38</strong> receiving last message read as parameter 1 and category as parameter 2. Example 2 shows message number as parameter 1 and <strong>.38</strong> is taking two parameters: “<strong>0mr%</strong>” and “<strong>1ca%</strong>” separated by a comma | * Examples 1 & 2 appear to use different subject parameter for parameter #2 in the <strong>.38</strong> function. Example 1 shows <strong>.38</strong> receiving last message read as parameter 1 and category as parameter 2. Example 2 shows message number as parameter 1 and <strong>.38</strong> is taking two parameters: “<strong>0mr%</strong>” and “<strong>1ca%</strong>” separated by a comma | ||
|} | |||
{| class="wikitable | |||
|- | |||
! Topic | |||
! Found in | |||
|- | |||
| <strong>£if </strong> | |||
| <strong>√bbs.msgs</strong> | |||
{| class="wikitable | |||
|- | |||
! Example | |||
! 8.0 | |||
! 8.1 | |||
|- | |||
| 1 | |||
| [[File:britishpoundif_ex1_80.png|center|300px]] | |||
| [[File:britishpoundif_ex1_81.png|center|300px]] | |||
|} | |||
<u>Observation</u>: Observe the 8.1 authors reversed the checks in variable comparisons as the conditions, with end-result being the same. | |||
<u>Conclusion</u>: Serves as an “and not” function | |||
“(lv is not less than cm%(2,2) and lv not less than cm%(29,2) and fr does not equal 1, then print (P)rivate)” | |||
|} | |||
{| class="wikitable | |||
|- | |||
! Topic | |||
! Found in | |||
|- | |||
| <strong>@ </strong> | |||
| <strong>√bbs.msgs</strong> | |||
{| class="wikitable | |||
|- | |||
! Example | |||
! 8.0 | |||
! 8.1 | |||
|- | |||
| 1 | |||
| [[File:at_ex1_80.png|center|300px]] | |||
| [[File:at_ex1_81.png|center|300px]] | |||
|} | |||
<u>Conclusion</u>: Can serve as an “if” keyword | |||
|} | |||
{| class="wikitable | |||
|- | |||
! Topic | |||
! Found in | |||
|- | |||
| <strong>[var$] </strong> | |||
| <strong>√bbs.msgs</strong> | |||
{| class="wikitable | |||
|- | |||
! Example | |||
! 8.0 | |||
! 8.1 | |||
|- | |||
| 1 | |||
| [[File:var_ex1_80.png|center|300px]] | |||
| [[File:var_ex1_81.png|center|300px]] | |||
|} | |||
<u>Conclusion</u>: Can serve as an empty variable check (null) | |||
|} | |} | ||
Revision as of 21:34, 9 October 2025
At the time of this revision for Color 64 v8.1a, there are notably several ML related commands and variables that are not documented as well as some basic shortcuts and appear to have been introduced from the 8.1 upgrade that never received any manual documentation. I find that comparing 8.0 code with 8.1 helps you along in figuring out what these undocumented items perform. Below are some of my notes and observations of what the code was in 8.0 and the observed shortcuts implemented in 8.1 Please note it is a work-in-progress and I don’t have all the answers (yet), so some of this is just “observation” without any conclusion!
| Topic | Found in | ||||||
|---|---|---|---|---|---|---|---|
| Use of "THEN" in IF | all
Conclusion: “then” statements are not required for “if/then” – if <condition> <action> is legal |
| Topic | Found in | ||||||
|---|---|---|---|---|---|---|---|
| .36 | √bbs.init
Conclusion: Undetermined, although notice line in 8.0 version that line 13645 has been dropped for the 8.1 variant. This command only occurs on this line in the overlays as part of the command prompt. When I dropped everything in line 13640 and just had “.36:return”, there was no box printed (of course), but the command entry functioned normally. This was also true if I just omitted everything except “return” – so I’m not sure what “.36” brings to the table. |
| Topic | Found in | ||||||
|---|---|---|---|---|---|---|---|
| .31 and !55 | √bbs.msgs
Conclusion: Documentation originally stated “.31” was not used - but it clearly is - and may be a more-refined or customized version of inputting data from disk (.01). “!55” was undocumented and appears to be a variable replacement for “@0=<reverse n>”, where @0 is for disk-and-key input and stores a result. There are several cases where “.31” and “!55” are used in conjunction with each other. |
| Topic | Found in | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| .38 / .39 / .40 / .41 and “;” variables | √bbs.msgs
Observation (no conclusion): This is one of the more intriguing finds and it’s a hot mess – lines 3140, 3555 and 1525 are obviously the topics of interest. I can’t tell you what’s going on here, but here are some observations from my research:
|
| Topic | Found in | ||||||
|---|---|---|---|---|---|---|---|
| £if | √bbs.msgs
Observation: Observe the 8.1 authors reversed the checks in variable comparisons as the conditions, with end-result being the same. Conclusion: Serves as an “and not” function “(lv is not less than cm%(2,2) and lv not less than cm%(29,2) and fr does not equal 1, then print (P)rivate)” |
| Topic | Found in | ||||||
|---|---|---|---|---|---|---|---|
| @ | √bbs.msgs
Conclusion: Can serve as an “if” keyword |
| Topic | Found in | ||||||
|---|---|---|---|---|---|---|---|
| [var$] | √bbs.msgs
Conclusion: Can serve as an empty variable check (null) |
























