Can you describe these undocumented opcodes and show how they could be used?
The control statements look good.
The button opcodes look interesting. They let the test interact with the user?
this weren't documented? Oversight. I'll add them as soon as I have the time. BTNPR detects a button press.. either 1 2 or 3. Uhm because it is simply part of the order of operations it is best used in loops. BTNWT does a continual loop until the desired button (arg1) is pressed. WHILE works like any while loop. It is formatted like an IF statement. WHILE operator var1 var2. ENDWHILE. DOUNTIL same as any UNTIL except you put arguments on the ENDUNTIL line. BRKLOOP breaks out of a loop. (that one might have had a bug. I can't remember if it was fixed or not. I thought I removed it when it had a bug. I need to check that. JMP jumps to the desired line number. This is much easier now as line numbers are automatically generated.
Great! Those looping constructs are nice, intuitive and consistent.