Exidy Standard BASIC escape codes
Every escape that can be typed in Sorcerer source, and the byte it stores. This machine has no named escapes at all: printable ASCII and the standard graphics characters are themselves, and every other code is written in the raw {0xNN} form. Escapes are recognised in string literals, REM comments and DATA bodies; a { that is not a well-formed escape is the literal 0x7B character, which the Sorcerer really has. Filters can be prefilled with ?q= and ?cat= query parameters.
See also the Exidy Standard BASIC reference and file formats.
Printing one is not drawing one
A code below 0x20 means two different things depending on how it reaches the screen, and the table below says both.
Printed, it is a control code. The Monitor's screen driver acts on nine of them — the screen clear, a carriage return, a line feed and five cursor moves — and silently discards the other twenty-three, so PRINT CHR$(4) puts nothing on the screen and moves nothing.
Poked into screen RAM, it is a picture. All thirty-two have bitmaps in the character generator ROM: outlined boxes and circles with various infills, short diagonals, a pair of arrows and a question mark. POKE -3968, 4 draws the fourth of them in the top-left cell.
That is why the descriptions below give a shape first and, where there is one, the printed effect second.
| Description | ||
|---|---|---|
{0x00} | 0x00 | A hollow square: an outlined box five dots across and seven down. |
{0x01} | 0x01 | The top and left edges of the hollow square, a corner bracket open down and to the right. PRINT CHR$(1) moves the cursor one cell left instead, as CHR$(8) does; this is the code CTRL+A sends. |
{0x02} | 0x02 | An upright standing on a base bar. |
{0x03} | 0x03 | The right and bottom edges of the hollow square, a corner bracket open up and to the left. |
{0x04} | 0x04 | Two short diagonal strokes stepping down to the right, the lower set right of the upper. |
{0x05} | 0x05 | The hollow square with a small saltire in its middle three columns. |
{0x06} | 0x06 | A stroke descending from the top right, meeting a narrow V at the lower left. |
{0x07} | 0x07 | An open-topped cup: a rounded rim, two sides and a flat base. |
{0x08} | 0x08 | A solid arrowhead at the top left with a tail stepping down to the lower right. PRINT CHR$(8) moves the cursor one cell left instead, leaving what is there - it rubs nothing out. |
{0x09} | 0x09 | A right-pointing arrow - a bar across the middle of the cell with the chevron meeting it at the right. |
{0x0A} | 0x0A | Three bars across the cell: the top, the middle and the bottom. PRINT CHR$(10) moves the cursor down one row instead, keeping its column - a line feed with no carriage return. |
{0x0B} | 0x0B | Three uprights over a solid wedge tapering to a point at the foot. |
{0x0C} | 0x0C | Rows of uprights and wedges stacked alternately, tapering to a point at the foot; the companion of 0x0B. PRINT CHR$(12) clears the screen and homes the cursor instead. This is the machine’s CLS: keep the trailing semicolon, or the newline PRINT adds puts everything one row low. |
{0x0D} | 0x0D | A left-pointing arrow - a bar across the middle of the cell with the chevron meeting it at the left. PRINT CHR$(13) returns the cursor to column 0 of the row it is on instead, without advancing - a carriage return with no line feed. |
{0x0E} | 0x0E | A hollow circle with a saltire inside it. |
{0x0F} | 0x0F | A hollow circle with a single dot at its centre. |
{0x10} | 0x10 | The hollow square divided by a bar across its middle. |
{0x11} | 0x11 | A hollow circle enclosing an elbow: a stroke down from the top, turning right at mid-height. PRINT CHR$(17) homes the cursor to the top left instead, without clearing; this is the code CTRL+Q sends. |
{0x12} | 0x12 | A hollow circle enclosing an elbow: a stroke in from the right at mid-height, turning down. One of four, the others at 0x11, 0x13 and 0x14. |
{0x13} | 0x13 | A hollow circle enclosing an elbow: a stroke in from the left at mid-height, turning down. PRINT CHR$(19) moves the cursor one cell right instead, leaving the cell it passed over blank; this is the code CTRL+S sends. |
{0x14} | 0x14 | A hollow circle enclosing an elbow: a stroke down from the top, turning left at mid-height. |
{0x15} | 0x15 | The stroke and V of 0x06 with a short bar joining them. |
{0x16} | 0x16 | Two uprights under a bar, standing on splayed feet. |
{0x17} | 0x17 | An upright at the right of the cell with a bar reaching left from its middle. PRINT CHR$(23) moves the cursor up one row instead, keeping its column; this is the code CTRL+W sends. |
{0x18} | 0x18 | The hollow square with a saltire corner to corner. |
{0x19} | 0x19 | An upright with a three-dot swelling at its middle. |
{0x1A} | 0x1A | A question mark - the one pictorial symbol in this band that is also an ASCII character, at 0x3F. PRINT CHR$(26) moves the cursor down one row instead, keeping its column; this is the code CTRL+Z sends. |
{0x1B} | 0x1B | A hollow circle with a bar across its middle. |
{0x1C} | 0x1C | The hollow square enclosing an elbow: a stroke down from the top, turning left at mid-height. One of four, the others at 0x1D, 0x1E and 0x1F - the same set 0x11 to 0x14 draw inside a circle. |
{0x1D} | 0x1D | The hollow square enclosing an elbow: a stroke in from the left at mid-height, turning down. |
{0x1E} | 0x1E | The hollow square enclosing an elbow: a stroke in from the right at mid-height, turning down. |
{0x1F} | 0x1F | The hollow square enclosing an elbow: a stroke down from the top, turning right at mid-height. |
{0x7F} | 0x7F | A chequer of alternating dots filling the whole cell. The Monitor draws the cursor with it, parking the code in the cell the next character will go in - so it is a real byte in screen RAM rather than an overlay, and the row under the prompt is never blank. |
{0x8D} | 0x8D | A small pictorial glyph, and the one code of the standard graphics set (0x80-0xBF) that Unicode has nothing for - every other code in that band is a rule, junction, corner, quadrant, half, dither, disc, triangle or card suit that can be typed as itself. GRAPHIC and the SKIP key is what types it on the machine. |
{0xNN} | any | Any other byte, as two hex digits: the user-definable band 0xC0-0xFF, which has no shape until a program pokes eight bitmap bytes into the generator RAM at -1024+(code-128)*8. Recognised in strings, REM and DATA; a { that is not a well-formed escape is the literal 0x7B character, which this machine really has. |
Showing 35 of 35 escape codes