Skip to content

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}0x00A hollow square: an outlined box five dots across and seven down.
{0x01}0x01The 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}0x02An upright standing on a base bar.
{0x03}0x03The right and bottom edges of the hollow square, a corner bracket open up and to the left.
{0x04}0x04Two short diagonal strokes stepping down to the right, the lower set right of the upper.
{0x05}0x05The hollow square with a small saltire in its middle three columns.
{0x06}0x06A stroke descending from the top right, meeting a narrow V at the lower left.
{0x07}0x07An open-topped cup: a rounded rim, two sides and a flat base.
{0x08}0x08A 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}0x09A right-pointing arrow - a bar across the middle of the cell with the chevron meeting it at the right.
{0x0A}0x0AThree 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}0x0BThree uprights over a solid wedge tapering to a point at the foot.
{0x0C}0x0CRows 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}0x0DA 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}0x0EA hollow circle with a saltire inside it.
{0x0F}0x0FA hollow circle with a single dot at its centre.
{0x10}0x10The hollow square divided by a bar across its middle.
{0x11}0x11A 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}0x12A 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}0x13A 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}0x14A hollow circle enclosing an elbow: a stroke down from the top, turning left at mid-height.
{0x15}0x15The stroke and V of 0x06 with a short bar joining them.
{0x16}0x16Two uprights under a bar, standing on splayed feet.
{0x17}0x17An 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}0x18The hollow square with a saltire corner to corner.
{0x19}0x19An upright with a three-dot swelling at its middle.
{0x1A}0x1AA 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}0x1BA hollow circle with a bar across its middle.
{0x1C}0x1CThe 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}0x1DThe hollow square enclosing an elbow: a stroke in from the left at mid-height, turning down.
{0x1E}0x1EThe hollow square enclosing an elbow: a stroke in from the right at mid-height, turning down.
{0x1F}0x1FThe hollow square enclosing an elbow: a stroke down from the top, turning right at mid-height.
{0x7F}0x7FA 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}0x8DA 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}anyAny 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

Released under GNU GPL v3.0. Some ROM images are third-party copyrighted works, separate to this project, strictly for personal/educational purposes.