This document was mostly typed in from the Phoenix Software Associates command
summary card. Contents were and are Phoenix Software. It now contains these customizations
to the Instant Commands of December 2025 that make it more compatible with the
WordStar keyboard and fZ80's keyboard layout. This necessitated changing
the Instant Commands as shown in the table below.
The following instant commands are keystrokes which are not entered into the
command or text buffers, but which are executed immediately:
| nQA | Set the number of passed string args in a macro call. |
| QB | Ring the bell. |
| nQC | Set control shift character to ASCII n. |
| nQD | Delay for a time proportional to n. |
| nQE | Set typeout mode to n. |
| nQF | Set page separator character to ASCII n. |
| nQG | Turn off garbage stacking if n=0. |
| nQH | Insert n spaces at cursor. |
| nQI | Set input radix to n. |
| nQJ | Shift text display up or down n lines. |
| nQK | Create .BAK files unless n=0. |
| nQL | Set number of lines for ^U and ^J. |
| nQm | Set user variable m (0 to 0) to n. Available to user I/O code. |
| nQNstring | Direct console I/O, send string to console get char from from keyboard if n!=0. |
| nQO | Set output radix to n. |
| nQP | Set set page size to n. |
| nQQ | Shift text display left or right n columns. |
| nQR | Redraw screen, return key struck as @K. |
| nQS | Set upper/lower shift character to ASCII n. |
| nQT | Type ASCII character n. |
| nQU | Set automatic disk buffering if n!=0. |
| nQV | Enable tab fill if n!=0, else space fill. |
| nQW | Turn on command line error display if n=0. |
| nQX | Move cursor to column n. |
| nQY | Allow cursor to 'free space' if n=0. |
| nQZ | Limit cursor to column n. |
| QMC | Copy to permanent macro area. |
| QMG | Get contents of permanent macro area. |
| nQ! | Store n in memory address @9. |
| nQ- | Display number as positive if n=0. |
| q# | Exchange cursor and tag. |
| nQ/ | Set auto-indent level to n. If no n, auto-increment indent; -Q/ decrements. |
| Q\ | Insert pmate's execution path into the buffer. |
| nQ | Save edit buffer, format mode, garbage stacking mode. These will be stored after next error message. 0Q< disables this. |
| nQ | Unget char n. |
| nQ^A | Set random file position (low) to n, used by next XI. |
| nQ^B | Set random file position (high) to n, used by next XI. |
| nQ^I | Execute instant command n. |
| nQ^Lstring | Send non-null string to status line. Suppress normal status if n=0. |
| nQ^M | Suppress signon message. |
| nQ^P | Set peek/poke segment. If no n to DS, -n sets to CS. |
| nQ^S | Fast forward search for ASCII char n, set error flag if not found. |
| nQ^T | Set disk used by PMATE.TMP. If no n use output drive else 0=A, 1=B. |
| XPpath | Change current directory to path. |
| XA | Append next page of input. |
| nXA | Append next n pages. |
| -XA | Bring back last page written to output. |
| -nXA | Bring back last n pages. |
| XW | Write next page to output file. |
| -XW | Write back page to (temporary) input file. |
| -nXW | Write back pages to (temporary) input file. |
| XR | Write one page to output, read one page from input file. nXR XR n times. |
| -XR | Write one page back to input file, read one back from output file. -nXR -XR n times. |
| XE | End edit -- write remaining text and input file to output and close. |
| XJ | Do XE then reopen file. |
| XFfile | Define new input and output files. |
| XK | Delete output and scratch edit buffer. |
| XC | Close input and output as-is. |
| XH | Exit pmate. |
| XIfile | Input entire file. |
| nXI | Input n pages from input file. |
| XOfile | Output entire edit buffer to file. |
| nXOfile | Output n lines to output file. |
| XM | Go to monitor. |
| XDfile | Create new copy of PMATE to file.COM with changes and macros. |
| XSd | Log in disk drive d. |
| XT | Type edit buffer to printer. |
| nXT | type n lines beginning at cursor. |
| XL | List directory at cursor. |
| XLfile | List directory matching file. |
| XXfile | Delete file. |
Buffers 0..9, text buffer T, buffer 0 if not named, @s, or @0 to @99. Place
buffer name between two characters, eg BG gets buffer 0, BTG gets buffer T,
B@23G gets buffer @23.
| BK | Kill buffer contents. |
| BG | Get buffer contents. |
| nBC | Copy n lines to buffer. |
| nBD | Append n lines to buffer. |
| nBM | Move n lines to buffer. |
| nBN | Append and move N lines to buffer. |
| BE | Edit buffer. |
| TAB | STOP COMMANDS |
| nYD | Delete tab stops at position n. |
| nYS | Set tab stop at position n. |
| YK | Kill all tab stops. |
| nYE | Set tab stop every n positions. |
| YF | Replace tabs with spaces. |
| YR | Replaces spaces with tabs. |
| nYI | Set indent to n. |
NUMERIC EXPRESSIIONS
So far called n can be complex, up to 30 levels of parenthesis and the following operations:
| + | Addition. |
| - | Subtraction. |
| * | Multiplication. |
| / | Division. |
| ! | Logical OR. |
| & | Logical AND. |
| ' | Logical complement. |
| <</td> | Less than. |
| > | Greater than. |
| = | Equal |
ARGUMENTS IN ADDITION TO NUMBERS
| "a | ASCII value of character a. |
| @i | Value of numeric variable i. |
| @A | Numerical argument when macro called. |
| @B | Value representing current buffer (0 for T, 1 for buffer 0, etc) |
| @C | The character number. |
| @D | The number of lines scrolled by ^U and ^U (set by QL). |
| @E | Value of error flag. |
| @Ffile | -1 if file exists else 0. |
| @G | Length of last referenced string. |
| @Hstring | Compare string to text at cursor, 0 if equal, else 1 or -1 greater or lesser. |
| @I | Current input page. |
| @J | The number of lines on screen for text display. |
| @K | ASCII value of key struck after G or QR command. |
| @L | Line number. |
| @M | Amount of memory left. |
| @N | Returns -1 if I/O files open. |
| @O | Current output page. |
| @P | Absolute memory address to which cursor is pointing. |
| @Q | Column of previous tab stop. |
| @R | Remainder of the last division. |
| @S | Popped number off number stack. |
| @T | ASCII value of the character at cursor. |
| @U | -1 if auto-buffering enabled, else 0. |
| @V | Currrent mode. |
| @W | Current right margin. |
| @X | Current column. |
| @Y | Current left margin. |
| @Z | Column of the next tab stop. |
| @@ | The byte pointed to by @9. |
| # | Move cursor to tagged position, get differnce between tagged position and current position. |
| @/ | Current auto=indent level. |
| @^Ffile | Length of file in kilobytes. |
----
All works here unless otherwise specified are copyright
2026 by Tom Jennings. Permission is granted for personal use with no
remuneration. Corporations or any organization or their agents, employees,
consultants or other relationships human or otherwise, expressly prohibited
without written permission.