ZX81 character set
{{short description|Character encoding used in the Sinclair ZX81 computers}}
{{Infobox character encoding
| name = Sinclair ZX81 character set
| image = ZX81 characters 0x00-3F, 0x80-BF.png
| caption = The Sinclair ZX81 character set rendered in the system font.
| basedon =
| classification =
| lang = English with pseudographics
| by = Sinclair Research
| next = ZX Spectrum character set
| otherrelated =
| prev = ZX80 character set
}}The ZX81 character set is the character encoding used by the Sinclair Research ZX81 family of microcomputers including the Timex Sinclair 1000 and Timex Sinclair 1500. The encoding uses one byte per character for 256 code points. It has no relationship with previously established ones like ASCII or EBCDIC, but it is related though not identical to the character set of the predecessor ZX80.
Printable characters
File:ZX81 character set demo.png program that demonstrates all code points including BASIC keywords and nonprintable characters, rendered as question marks.]]
The character set has 64 unique glyphs present at code points 0–63. With the most significant bit set the character is generated in inverse video; corresponding to code points 128–191. These 128 values are the only displayable ones allowed in the video memory (known as the display file). The remaining code points (64–127 and 192–255) are used as control characters such as 118 for newline or, uniquely to Sinclair BASIC, for keywords, while some are unused.
The small effective range of only 64 unique glyphs precludes support for Latin lower case letters, and many symbols used widely in computing such as the exclamation point and the at sign. The lack of an apostrophe led some software authors to use a comma instead.
There are 11 block graphics characters, counting code point 0 which also doubles as space. The first 8 of these together with their 8 inverse video versions (16 code points) provide every combination of the character cell divided into 2×2 black-and-white block pixels for low-resolution 64×48 pixel graphics. These 2×2 blocks are present in the Block Elements Unicode block. An additional 3 characters provide a cell divided into 1×2 black, white or dithered gray wide block pixels. These, in combination with their inverse video versions and some of the previous 2×2 blocks provides for a 32×48 resolution with 3 levels (white, dithered gray, black). The basic 11 characters plus their inverse video versions, makes for 22 block graphics characters in total. The dithered characters (of which there are 6) are also available in Unicode (mostly in the Symbols for Legacy Computing block), but only in Unicode versions 13.0 and newer, available from 2020 onwards.
Code point 11 is the double-quote (") symbol when used in the display file. The BASIC function CHR$ 192
prints as the same character but is shown as "" in BASIC source listings; it is used for including the literal " character in a string without conflict with the " string delimiter.{{cite book|last1=Vickers|first1=Steven|title=Sinclair ZX81 BASIC Programming|date=1981|publisher=Sinclair Research Ltd.|url=http://www.worldofspectrum.org/ZX81BasicProgramming/}}
Changes from the ZX80
The character set in the ZX81 was derived from the ZX80 character set. They have mostly the same code points, e.g. for A-Z and 0-9, but the code points are different for the block graphics characters, the symbols ", -, +, *, /, =, >, <, and the BASIC keyword tokens (with many new added). There are also changes to the control characters. Code point 1 is no longer an unprintable string terminator. The ZX81 8K BASIC ROM was also available as an upgrade for the ZX80, replacing its integer-only 4K BASIC ROM.{{cite web|title=8K BASIC ROM UPGRADE|url=http://www.fruitcake.plus.com/Sinclair/ZX80/ROMUpgrade/ZX80_ROMUpgrade.htm}}
The ZX81 system font uses an 8×8 pixel-per-character grid where most glyphs fit in 6×6 pixels leaving two pixels horizontal and vertical space between rows and columns. The ZX80's ROM which had slightly wider 7×6 pixel glyphs with only one pixel horizontal space between them. Some glyphs also received a different design in the ZX81 system font, noticeable on the *, the slashed and less rounded 0, and the less rounded $, C, G and J.
In the later ZX Spectrum the entire character encoding was replaced with the ZX Spectrum character set, which is a derivative of ASCII and includes lower case letters and more.
Character set
The following table shows the ZX81 character set. Each character is shown with a potential Unicode equivalent. Space and control characters are represented by the abbreviations for their names.
{{chset-table-header1|ZX81 character set{{cite web|last1=Wearmouth |first1=Geoff |title=An Assembly Listing of the Operating System of the ZX81 ROM |url=http://www.wearmouth.demon.co.uk/zx81.htm |url-status=dead |archive-url=https://web.archive.org/web/20150815035607/http://www.wearmouth.demon.co.uk/zx81.htm |archive-date=August 15, 2015 }}}} | ||||||||||||||||
{{chset-left1|0x}}
|{{chset-ctrl1|U+0020 SPACE| SP }} |{{chset-cell1|U+2598 QUADRANT UPPER LEFT|File:ZXSpectrum82.svg}} |{{chset-cell1|U+259D QUADRANT UPPER RIGHT|File:ZXSpectrum81.svg}} |{{chset-cell1|U+2580 UPPER HALF BLOCK|File:ZXSpectrum83.svg}} |{{chset-cell1|U+2596 QUADRANT LOWER LEFT|File:ZXSpectrum88.svg}} |{{chset-cell1|U+258C LEFT HALF BLOCK|File:ZXSpectrum8a.svg}} |{{chset-cell1|U+259E QUADRANT UPPER RIGHT AND LOWER LEFT|File:ZXSpectrum89.svg}} |{{chset-cell1|U+259B QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER LEFT|File:ZXSpectrum8b.svg}} |{{chset-cell1|U+2592 MEDIUM SHADE|File:ZX80 character 0x09, ZX81 character 0x08.png}} |{{chset-cell1|U+1FB8F LOWER HALF MEDIUM SHADE|File:ZX80 character 0x0A, ZX81 character 0x09.png}} |{{chset-cell1|U+1FB8E UPPER HALF MEDIUM SHADE|File:ZX80 character 0x0B, ZX81 character 0x0A.png}} |{{chset-cell1|U+0022 QUOTATION MARK|"|fn={{Efn|name=dqou|Code point 11 is the double-quote (") symbol when used in the video memory (called the display file). Code point 192, |{{chset-cell1|U+00A3 POUND SIGN|£ }} |{{chset-cell1|U+0024 DOLLAR SIGN|$ }} |{{chset-cell1|U+003A COLON|:}} |{{chset-cell1|U+003F QUESTION MARK|? }} | ||||||||||||||||
{{chset-left1|1x}}
|{{chset-cell1|U+0028 LEFT PARENTHESIS|( }} |{{chset-cell1|U+0029 RIGHT PARENTHESIS|) }} |{{chset-cell1|U+003E GREATER-THAN SIGN|> }} |{{chset-cell1|U+003C LESS-THAN SIGN|< }} |{{chset-cell1|U+003D EQUALS SIGN|{{=}} }} |{{chset-cell1|U+002B PLUS SIGN|+ }} |{{chset-cell1|U+002D HYPHEN-MINUS|Hyphen-minus | ||||||||||||||||
}}
|{{chset-cell1|U+002A ASTERISK|* }} |{{chset-cell1|U+002F SOLIDUS|/ }} |{{chset-cell1|U+003B SEMICOLON|; }} |{{chset-cell1|U+002C COMMA|, }} |{{chset-cell1|U+002E FULL STOP|. }} |{{chset-cell1|U+0030 DIGIT ZERO|0 }} |{{chset-cell1|U+0031 DIGIT ONE|1 }} |{{chset-cell1|U+0032 DIGIT TWO|2 }} |{{chset-cell1|U+0033 DIGIT THREE|3 }} | ||||||||||||||||
{{chset-left1|2x}}
|{{chset-cell1|U+0034 DIGIT FOUR|4 }} |{{chset-cell1|U+0035 DIGIT FIVE|5 }} |{{chset-cell1|U+0036 DIGIT SIX|6 }} |{{chset-cell1|U+0037 DIGIT SEVEN|7 }} |{{chset-cell1|U+0038 DIGIT EIGHT|8 }} |{{chset-cell1|U+0039 DIGIT NINE|9 }} |{{chset-cell1|U+0041 LATIN CAPITAL LETTER A|A }} |{{chset-cell1|U+0042 LATIN CAPITAL LETTER B|B }} |{{chset-cell1|U+0043 LATIN CAPITAL LETTER C|C }} |{{chset-cell1|U+0044 LATIN CAPITAL LETTER D|D }} |{{chset-cell1|U+0045 LATIN CAPITAL LETTER E|E }} |{{chset-cell1|U+0046 LATIN CAPITAL LETTER F|F }} |{{chset-cell1|U+0047 LATIN CAPITAL LETTER G|G }} |{{chset-cell1|U+0048 LATIN CAPITAL LETTER H|H }} |{{chset-cell1|U+0049 LATIN CAPITAL LETTER I|I }} |{{chset-cell1|U+004A LATIN CAPITAL LETTER J|J }} | ||||||||||||||||
{{chset-left1|3x}}
|{{chset-cell1|U+004B LATIN CAPITAL LETTER K|K }} |{{chset-cell1|U+004C LATIN CAPITAL LETTER L|L }} |{{chset-cell1|U+004D LATIN CAPITAL LETTER M|M }} |{{chset-cell1|U+004E LATIN CAPITAL LETTER N|N }} |{{chset-cell1|U+004F LATIN CAPITAL LETTER O|O }} |{{chset-cell1|U+0050 LATIN CAPITAL LETTER P|P }} |{{chset-cell1|U+0051 LATIN CAPITAL LETTER Q|Q }} |{{chset-cell1|U+0052 LATIN CAPITAL LETTER R|R }} |{{chset-cell1|U+0053 LATIN CAPITAL LETTER S|S }} |{{chset-cell1|U+0054 LATIN CAPITAL LETTER T|T }} |{{chset-cell1|U+0055 LATIN CAPITAL LETTER U|U }} |{{chset-cell1|U+0056 LATIN CAPITAL LETTER V|V }} |{{chset-cell1|U+0057 LATIN CAPITAL LETTER W|W }} |{{chset-cell1|U+0058 LATIN CAPITAL LETTER X|X }} |{{chset-cell1|U+0059 LATIN CAPITAL LETTER Y|Y }} |{{chset-cell1|U+005A LATIN CAPITAL LETTER Z|Z }} | ||||||||||||||||
{{chset-left1|4x}}
|{{chset-cell1 | RND|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | INKEY$|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | PI|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}} |
{{chset-left1|5x}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}} |
{{chset-left1|6x}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}} |
{{chset-left1|7x}}
|{{chset-ctrl1 | UP}}
|{{chset-ctrl1 | DOWN|style=font-size:60%}}
|{{chset-ctrl1 | LEFT|style=font-size:60%}}
|{{chset-ctrl1 | RIGHT|style=font-size:60%}}
|{{chset-ctrl1 | {{sc2|graphics}}}}
|{{chset-ctrl1 | EDIT}}
|{{chset-ctrl1 | {{sc2|newline}}}}
|{{chset-ctrl1 | {{sc2|rubout}}}}
|{{chset-ctrl1 | K/L MODE|style=line-height:1}} |{{chset-ctrl1 | {{sc2|function}}}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-ctrl1 | {{sc2|number}}}}
|{{chset-ctrl1 | {{sc2|cursor}}}} |
{{chset-left1|8x}}
|{{chset-cell1|U+2588 FULL BLOCK|File:ZXSpectrum8f.svg|style=background:black;color:white}} |{{chset-cell1|U+259F QUADRANT UPPER RIGHT AND LOWER LEFT AND LOWER RIGHT|File:ZXSpectrum8d.svg|style=background:black;color:white}} |{{chset-cell1|U+2599 QUADRANT UPPER LEFT AND LOWER LEFT AND LOWER RIGHT|File:ZXSpectrum8e.svg|style=background:black;color:white}} |{{chset-cell1|U+2584 LOWER HALF BLOCK|File:ZXSpectrum8c.svg|style=background:black;color:white}} |{{chset-cell1|U+259C QUADRANT UPPER LEFT AND UPPER RIGHT AND LOWER RIGHT|File:ZXSpectrum87.svg|style=background:black;color:white}} |{{chset-cell1|U+2590 RIGHT HALF BLOCK|File:ZXSpectrum85.svg|style=background:black;color:white}} |{{chset-cell1|U+259A QUADRANT UPPER LEFT AND LOWER RIGHT|File:ZXSpectrum86.svg|style=background:black;color:white}} |{{chset-cell1|U+2597 QUADRANT LOWER RIGHT|File:ZXSpectrum84.svg|style=background:black;color:white}} |{{chset-cell1|U+1FB90 INVERSE MEDIUM SHADE|File:ZX80 character 0x89, ZX81 character 0x88.png|style=background:black;color:white}} |{{chset-cell1|U+1FB91 UPPER HALF BLOCK AND LOWER HALF INVERSE MEDIUM SHADE|File:ZX80 character 0x8A, ZX81 character 0x89.png|style=background:black;color:white}} |{{chset-cell1|U+1FB92 UPPER HALF INVERSE MEDIUM SHADE AND LOWER HALF BLOCK|File:ZX80 character 0x8B, ZX81 character 0x8A.png|style=background:black;color:white}} |{{chset-cell1 | "|style=background:black;color:white}}
|{{chset-cell1 | £|style=background:black;color:white}}
|{{chset-cell1 | $|style=background:black;color:white}}
|{{chset-cell1 | :|style=background:black;color:white}}
|{{chset-cell1 | ?|style=background:black;color:white}} | |||||||||||
{{chset-left1|9x}}
|{{chset-cell1 | (|style=background:black;color:white}}
|{{chset-cell1 | )|style=background:black;color:white}}
|{{chset-cell1 | >|style=background:black;color:white}}
|{{chset-cell1 | <|style=background:black;color:white}}
|{{chset-cell1 | {{=}}|style=background:black;color:white}}
|{{chset-cell1 | +|style=background:black;color:white}}
|{{chset-cell1| | ||||||||||
style=background:black;color:white}}
|{{chset-cell1 | *|style=background:black;color:white}}
|{{chset-cell1 | /|style=background:black;color:white}}
|{{chset-cell1 | ;|style=background:black;color:white}}
|{{chset-cell1 | ,|style=background:black;color:white}}
|{{chset-cell1 | .|style=background:black;color:white}}
|{{chset-cell1 | 0|style=background:black;color:white}}
|{{chset-cell1 | 1|style=background:black;color:white}}
|{{chset-cell1 | 2|style=background:black;color:white}}
|{{chset-cell1 | 3|style=background:black;color:white}} | |||||||
{{chset-left1|Ax}}
|{{chset-cell1 | 4|style=background:black;color:white}}
|{{chset-cell1 | 5|style=background:black;color:white}}
|{{chset-cell1 | 6|style=background:black;color:white}}
|{{chset-cell1 | 7|style=background:black;color:white}}
|{{chset-cell1 | 8|style=background:black;color:white}}
|{{chset-cell1 | 9|style=background:black;color:white}}
|{{chset-cell1 | A|style=background:black;color:white}}
|{{chset-cell1 | B|style=background:black;color:white}}
|{{chset-cell1 | C|style=background:black;color:white}}
|{{chset-cell1 | D|style=background:black;color:white}}
|{{chset-cell1 | E|style=background:black;color:white}}
|{{chset-cell1 | F|style=background:black;color:white}}
|{{chset-cell1 | G|style=background:black;color:white}}
|{{chset-cell1 | H|style=background:black;color:white}}
|{{chset-cell1 | I|style=background:black;color:white}}
|{{chset-cell1 | J|style=background:black;color:white}} |
{{chset-left1|Bx}}
|{{chset-cell1 | K|style=background:black;color:white}}
|{{chset-cell1 | L|style=background:black;color:white}}
|{{chset-cell1 | M|style=background:black;color:white}}
|{{chset-cell1 | N|style=background:black;color:white}}
|{{chset-cell1 | O|style=background:black;color:white}}
|{{chset-cell1 | P|style=background:black;color:white}}
|{{chset-cell1 | Q|style=background:black;color:white}}
|{{chset-cell1 | R|style=background:black;color:white}}
|{{chset-cell1 | S|style=background:black;color:white}}
|{{chset-cell1 | T|style=background:black;color:white}}
|{{chset-cell1 | U|style=background:black;color:white}}
|{{chset-cell1 | V|style=background:black;color:white}}
|{{chset-cell1 | W|style=background:black;color:white}}
|{{chset-cell1 | X|style=background:black;color:white}}
|{{chset-cell1 | Y|style=background:black;color:white}}
|{{chset-cell1 | Z|style=background:black;color:white}} |
{{chset-left1|Cx}}
|{{chset-cell1 | ""|fn={{Efn|name=dqou}}}}
|{{chset-cell1 | AT|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | TAB|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | |style=background:#DDD}}
|{{chset-cell1 | CODE|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | VAL|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | LEN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | SIN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | COS|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | TAN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | ASN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | ACS|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | ATN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | LN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | EXP|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | INT|style=background:#EFF;font-size:75%}} |
{{chset-left1|Dx}}
|{{chset-cell1 | SQR|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | SGN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | ABS|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | PEEK|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | USR|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | STR$|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | CHR$|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | NOT|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | **|fn={{Efn|The raise to a power multi-character operator tokenized into a single-byte code point.}}}}
|{{chset-cell1 | OR|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | AND|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | <{{=}}|fn={{Efn|The greater than or equal to multi-character operator tokenized into a single-byte code point.}}}}
|{{chset-cell1 | >{{=}}|fn={{Efn|The less than or equal to multi-character operator tokenized into a single-byte code point.}}}}
|{{chset-cell1 | <>|fn={{Efn|The not equal sign multi-character operator tokenized into a single-byte code point.}}}}
|{{chset-cell1 | THEN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | TO|style=background:#EFF;font-size:75%}} |
{{chset-left1|Ex}}
|{{chset-cell1 | STEP|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | LPRINT|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | LLIST|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | STOP|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | SLOW|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | FAST|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | NEW|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | SCROLL|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | CONT|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | DIM|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | REM|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | FOR|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | GOTO|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | GOSUB|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | INPUT|style=background:#EFF;font-size:65%}}
|{{chset-cell1 | LOAD|style=background:#EFF;font-size:75%}} |
{{chset-left1|Fx}}
|{{chset-cell1 | LIST|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | LET|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | PAUSE|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | NEXT|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | POKE|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | PRINT|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | PLOT|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | RUN|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | SAVE|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | RAND|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | IF|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | CLS|style=background:#EFF;font-size:75%}}
|{{chset-cell1 | UNPLOT|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | CLEAR|style=background:#EFF;font-size:60%}}
|{{chset-cell1 | RETURN|style=background:#EFF;font-size:50%}}
|{{chset-cell1 | COPY|style=background:#EFF;font-size:75%}} |
{{chset-table-footer1|{{legend|#EFF|Sinclair BASIC tokenizes keywords into single-byte code points.}}}} |
See also
Notes
{{Notelist}}