There's another version I found online, but it's the DOS version. In that version, it only used the first three letters.
JOYOUS CELEBRATION would be understood as
The DOS version, however, is different than the CPC version.
While the source needs to be analyzed to get the actual algorithm (I think they rolled their own), it is possible to analyze the behaviors to get a better understanding. (Clicking the pause button in the lower left brings up something. I haven't been able to actually get anything meaningful from it however.)
[A]ny one missing letter or an extra letter still allows the command to be understood
This isn't 100% true. When the command is five letters or less, it will refuse to recognize the command when the first letter is replaced with the second. In other words,
QQUIP fails to be recognized as
EQUIP. The command would still be recognized if any other character is substituted instead. If the command is six letters or longer, it will recognize the command either way (
AAUNCH is recognized as
This strange behavior can be triggered in longer words if there is another mistake. For example
XTATU is fine, but
A similar thing happens with the last and second to last characters. When the second to last character is substituted with the last character, the command fails.
HEPP are not recognized, but
HEMP are fine. Interestingly enough, this does not affect 5 letter words, since
EQUPP is accepted.
(I suspect these two anomalies are bugs, but they do give insight into how it works.)
Longer words can usually be recognized even when more than one character is wrong, but only in some circumstances.
IIGHTS OND is recognized, but
GTHS ON fails.
SSIGHTSOND is recognized too.
Working from your image, I found that
PUS pause the game. It seems that it is possible to omit two characters from a word of 5 or more letters if no extra characters are added, and each letter is no more than 1 place away from its original position.
Again, the behavior of longer words shows that letters that are slightly misplaced are more often understood than random letters. For example,
E=ACTOR is understood, but
MMACTOR is not.
Another strange fact is that leading spaces are ignored, but trailing (and inter-word) spaces are not. When they are not ignored, they are counted as any other wrong character is. That means
␠␠␠␠␠␠␠PAD is recognized, but
P␠A␠D are not. Like
P␠D will pass. Omitting a space (in
SIGHTS ON or
SIGHTS OFF) counts as a wrong character.
It is interesting to note that
SIGHTS␠ are accepted, but
SIGHTS␠␠ is not.
Periods are strange;
. is understood as
L. is understood as
LAUNCH. I think
. is like a wildcard, and the list seems to be scanned left to right top to bottom (
REACTOR). Note that it ignores anything after the first
.MAP is the same as
Another interesting thing I noticed is that
SIGHTS O, and
SIGHTS OF are accepted as commands. I think they all may map to
SIGHTS ON, but I have no clue how to check that.