Note: Anything described as (Experimental) has not yet been debugged and should be avoided until no longer marked as experimental.
| Cmd | Name | Stack (Bot->Top) | Result (Stack) / Description |
|---|---|---|---|
| SPC | Space | Empty Cell | |
| ! | Not | a | Push 0 if a is non-zero, 1 otherwise. |
| " | Stringmode | Toggle "Stringmode" | |
| # | Bridge | 'jumps' over next command | |
| $ | Pop | a | Does nothing |
| % | Modulo | a b | a % b |
| & | Input Int | value inputted | |
| * | Multiply | a b | a * b |
| + | Add | a b | a + b |
| , | Output Char | a | Output a as char. |
| - | Subtract | a b | a - b |
| . | Output Int | a | Output a as int. |
| / | Divide | a b | a / b (int div) |
| 0-9 | 0-9 | Push decimal value 0-9 to thread stack. | |
| : | Dup | a | a a |
| < | Left | PC -> Left | |
| > | Right | PC -> Right | |
| ? | Random | PC -> Up, down, left, or right. | |
| @ | End Thread | Ends any thread that touches it. If no threads are left, the program quits with a return code of 0. | |
| \ | Swap | a b | b a |
| ^ | Up | PC -> Up | |
| _ | Horizontal If | a | PC -> Left if a is non-zero, PC -> Right if a is zero |
| ` | Greater | a b | 1 if a > b , 0 otherwise |
| a-f | a-f | Push decimal value 10-15 to thread stack. | |
| g | Get | x y | value at grid(x,y) |
| h | Hex | a b | Push a*16+(b%16) to thread stack. |
| i | Push to Common Stack | a b | Push a to common stack b%16. |
| j | Jump | d x y | move to location x,y on grid, use d as delta in format deg/90. |
| k | Keep At | a | Do Nothing, not even move, until there are no 'threads' with label value a. |
| l | Label | a | (Re-)Label 'thread' with value a. |
| m | Clear a Common Stack | a | Clear Common Stack (a%16). |
| n | Clear Stack | Clears thread stack. | |
| o | Pop from Common Stack | b | Pop a from common stack b%16, and then Push a to thread stack. |
| p | Put | a x y | puts a at grid(x,y) |
| q | Quit | r | Quit the program with a return code of abs(r)%256. |
| r | Reflect | Reverses Delta (180 degree turn). | |
| s | Load Grid and Restart | (Experimental) Read xmax*ymax bytes from input and store to playfield, and reinitialize program. | |
| t | Split | Start a new thread traveling in the direction 180 degrees from current. | |
| u | Get Delta | Push delta to thread stack in format deg/90. | |
| v | Down | PC -> Down | |
| w | Wait | a | Do Nothing, not even move, until there are at most (a+1) threads. |
| x | Hex with 8-bit output | a b | Push (a%16)*16+(b%16) to thread stack. |
| y | Set Delta | a | Set delta to a in format deg/90. |
| z | No Op | Does Nothing except use up a cycle. | |
| | | Vertical If | a | PC -> Up if a is non-zero, PC -> Down if a is zero |
| ~ | Input Char | Char entered. |