Language(s) | English with pseudographics |
---|---|
Classification | 8-bit extended early ASCII |
Based on | US-ASCII (1963 version) |
PETSCII (PET Standard Code of Information Interchange), also known as CBM ASCII, is the character set used in Commodore Business Machines' 8-bit home computers.
This character set was first used by the PET from 1977, and was subsequently used by the CBM-II, VIC-20, Commodore 64, Commodore 16, Commodore 116, Plus/4, and Commodore 128. However, the Amiga personal computer family instead uses standard ISO/IEC 8859-1.
The character set was largely designed by Leonard Tramiel (the son of Commodore CEO Jack Tramiel) and PET designer Chuck Peddle. [1] [2] [3] The graphic characters of PETSCII were one of the extensions Commodore specified for Commodore BASIC when laying out desired changes to Microsoft's existing 6502 BASIC to Microsoft's Ric Weiland in 1977. [4] The VIC-20 used the same pixel-for-pixel font as the PET, although the characters appeared wider due to the VIC's 22-column screen. The Commodore 64, however, used a slightly re-designed, heavy upper-case font, essentially a thicker version of the PET's, in order to avoid color artifacts created by the machine's higher resolution screen. The C64's lowercase characters are identical to the lowercase characters in the Atari 8-bit computers font (released 2.75 years earlier).
Peddle claims the inclusion of card suit symbols was spurred by the demand that it should be easy to write card games on the PET (as part of the specification list he received). [2]
"Unshifted" PETSCII is based on the 1963 version of ASCII (rather than the 1967 version, which most if not all other computer character sets based on ASCII use). It has only uppercase letters, an up-arrow ⟨↑⟩ instead of caret ⟨^⟩ at 0x5E and a left-arrow ⟨←⟩ instead of an underscore ⟨_⟩ at 0x5F. In all versions except the original Commodore PET, it also has a British pound sign ⟨£⟩ instead of the backslash ⟨\⟩ at 0x5C. Other characters added in ASCII-1967 (lowercase letters, the grave accent, curly braces, vertical bar, and tilde) do not exist in PETSCII. Codes 0xA0–0xDF are allotted to CBM-specific block graphics characters—horizontal and vertical lines, hatches, shades, triangles, circles and card suits.
PETSCII also has a "shifted" mode (also called "business mode"), which changes the uppercase letters at 0x41–0x5A to lowercase, and changes the graphics at 0xC1–0xDA to uppercase letters. Upper- and lower-case are swapped from where ASCII has them. The mode is toggled by holding one of the SHIFT keys and then pressing and releasing the Commodore key. The shift can be done by POKEing location 59468 with the value 14 to select the alternative set or 12 to revert to standard. On the Commodore 64, the sets are alternated by flipping bit 2 of the byte 53272. On some models of PET, this can also be achieved via special control code PRINT CHR$(14)
which adjust the line spacing as well as changing the character set; the POKE method is still available and does not alter the line spacing. [5]
Included in PETSCII are cursor and screen control codes, such as {HOME}
, {CLR}
, {RVS ON}
, and {RVS OFF}
(the latter two activating/deactivating reverse-video character display). The control codes appeared in program listings as reverse-video graphic characters, although some computer magazines, in their efforts to provide more clearly readable listings, pretty-printed the codes using their actual names in curly braces, like the above examples. This is unambiguous as PETSCII has no curly brace characters.
Different mappings are used for storing characters (the "interchange" mapping, as used by CHR$()
) and displaying characters (the "video" mapping). For example, to display the characters "@ABC" on screen by directly writing into the screen memory, one would POKE the decimal values 0, 1, 2, and 3 rather than 64, 65, 66, and 67. [6] [7]
The keyboard by default provides access to the lower half of the code page. Pressing Shift and a key gives the corresponding upper half code point. Some PETSCII code points cannot be printed and are only used for keyboard input (e.g. F1, RUN/STOP).
The tables below represent the "interchange" PETSCII encoding, as used by CHR$()
.
Control characters are defined in the ranges 0x00–0x1F and 0x80–0x9F, although which control characters are defined and what they are defined as varies between systems. The tables below exclude control characters—the encoding of control characters in discussed in § Control characters.
The ranges 0x60–0x7F and 0xE0–0xFF are duplicate ranges, although what they duplicate varies between systems. On the Commodore PET, they duplicate 0x20–0x3F and 0xA0–0xBF, respectively; on the Commodore VIC-20, 64, 16, and 128 they duplicate 0xC0–0xDF and 0xA0–0xBF, respectively. [6] While these characters are visually duplicates, they are semantically different; for example, on the Commodore PET, code points 0x2C and 0x6C both produce a comma character, but only 0x2C functions as a delimiter between input fields. [8]
Graphic characters are mostly identical across systems, with the exceptions of 0x5C (which is \
on the Commodore PET, and £
on other systems), 0xDE (which is U+1FB95 CHECKER BOARD FILL on the Commodore PET and VIC-20, and U+1FB96 INVERSE CHECKER BOARD FILL on other systems), and the range 0x60–0x7F (which duplicates a different range on Commodore PET). Additionally, in Commodore PET 2001's shifted character set, uppercase and lowercase letters are swapped relative to other systems'.
Compatibility symbols for PETSCII characters were added to Unicode 13.0 as part of the Symbols for Legacy Computing block. [9]
The following tables represent the PETSCII encoding used on the Commodore VIC-20, 64, 16, and 128.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | ||||||||||||||||
1x | ||||||||||||||||
2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | £ | ] | ↑ | ← |
6x | ─ | ♠ | 🭲 | 🭸 | 🭷 | 🭶 | 🭺 | 🭱 | 🭴 | ╮ | ╰ | ╯ | 🭼 | ╲ | ╱ | 🭽 |
7x | 🭾 | • | 🭻 | ♥ | 🭰 | ╭ | ╳ | ○ | ♣ | 🭵 | ♦ | ┼ | 🮌 | │ | π | ◥ |
8x | ||||||||||||||||
9x | ||||||||||||||||
Ax | NBSP | ▌ | ▄ | ▔ | ▁ | ▏ | ▒ | ▕ | 🮏 | ◤ | 🮇 | ├ | ▗ | └ | ┐ | ▂ |
Bx | ┌ | ┴ | ┬ | ┤ | ▎ | ▍ | 🮈 | 🮂 | 🮃 | ▃ | 🭿 | ▖ | ▝ | ┘ | ▘ | ▚ |
Cx | ─ | ♠ | 🭲 | 🭸 | 🭷 | 🭶 | 🭺 | 🭱 | 🭴 | ╮ | ╰ | ╯ | 🭼 | ╲ | ╱ | 🭽 |
Dx | 🭾 | • | 🭻 | ♥ | 🭰 | ╭ | ╳ | ○ | ♣ | 🭵 | ♦ | ┼ | 🮌 | │ | π | ◥ |
Ex | NBSP | ▌ | ▄ | ▔ | ▁ | ▏ | ▒ | ▕ | 🮏 | ◤ | 🮇 | ├ | ▗ | └ | ┐ | ▂ |
Fx | ┌ | ┴ | ┬ | ┤ | ▎ | ▍ | 🮈 | 🮂 | 🮃 | ▃ | 🭿 | ▖ | ▝ | ┘ | ▘ | π |
Differs between PETSCII variants. |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | ||||||||||||||||
1x | ||||||||||||||||
2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
5x | p | q | r | s | t | u | v | w | x | y | z | [ | £ | ] | ↑ | ← |
6x | ─ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
7x | P | Q | R | S | T | U | V | W | X | Y | Z | ┼ | 🮌 | │ | 🮕/🮖 [lower-alpha 1] | 🮘 |
8x | ||||||||||||||||
9x | ||||||||||||||||
Ax | NBSP | ▌ | ▄ | ▔ | ▁ | ▏ | ▒ | ▕ | 🮏 | 🮙 | 🮇 | ├ | ▗ | └ | ┐ | ▂ |
Bx | ┌ | ┴ | ┬ | ┤ | ▎ | ▍ | 🮈 | 🮂 | 🮃 | ▃ | ✓ | ▖ | ▝ | ┘ | ▘ | ▚ |
Cx | ─ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
Dx | P | Q | R | S | T | U | V | W | X | Y | Z | ┼ | 🮌 | │ | 🮕/🮖 [lower-alpha 1] | 🮘 |
Ex | NBSP | ▌ | ▄ | ▔ | ▁ | ▏ | ▒ | ▕ | 🮏 | 🮙 | 🮇 | ├ | ▗ | └ | ┐ | ▂ |
Fx | ┌ | ┴ | ┬ | ┤ | ▎ | ▍ | 🮈 | 🮂 | 🮃 | ▃ | ✓ | ▖ | ▝ | ┘ | ▘ | 🮕/🮖 [lower-alpha 1] |
Differs between PETSCII variants. |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | ||||||||||||||||
1x | ||||||||||||||||
2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ↑ | ← |
6x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
7x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
8x | ||||||||||||||||
9x | ||||||||||||||||
Ax | NBSP | ▌ | ▄ | ▔ | ▁ | ▏ | ▒ | ▕ | 🮏 | ◤ | 🮇 | ├ | ▗ | └ | ┐ | ▂ |
Bx | ┌ | ┴ | ┬ | ┤ | ▎ | ▍ | 🮈 | 🮂 | 🮃 | ▃ | 🭿 | ▖ | ▝ | ┘ | ▘ | ▚ |
Cx | ─ | ♠ | 🭲 | 🭸 | 🭷 | 🭶 | 🭺 | 🭱 | 🭴 | ╮ | ╰ | ╯ | 🭼 | ╲ | ╱ | 🭽 |
Dx | 🭾 | • | 🭻 | ♥ | 🭰 | ╭ | ╳ | ○ | ♣ | 🭵 | ♦ | ┼ | 🮌 | │ | π | ◥ |
Ex | NBSP | ▌ | ▄ | ▔ | ▁ | ▏ | ▒ | ▕ | 🮏 | ◤ | 🮇 | ├ | ▗ | └ | ┐ | ▂ |
Fx | ┌ | ┴ | ┬ | ┤ | ▎ | ▍ | 🮈 | 🮂 | 🮃 | ▃ | 🭿 | ▖ | ▝ | ┘ | ▘ | π |
Differs from standard PETSCII. |
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | ||||||||||||||||
1x | ||||||||||||||||
2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
5x | p | q | r | s | t | u | v | w | x | y | z | [ | \ | ] | ↑ | ← |
6x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
7x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
8x | ||||||||||||||||
9x | ||||||||||||||||
Ax | NBSP | ▌ | ▄ | ▔ | ▁ | ▏ | ▒ | ▕ | 🮏 | 🮙 | 🮇 | ├ | ▗ | └ | ┐ | ▂ |
Bx | ┌ | ┴ | ┬ | ┤ | ▎ | ▍ | 🮈 | 🮂 | 🮃 | ▃ | ✓ | ▖ | ▝ | ┘ | ▘ | ▚ |
Cx | ─ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
Dx | P | Q | R | S | T | U | V | W | X | Y | Z | ┼ | 🮌 | │ | 🮕 | 🮘 |
Ex | NBSP | ▌ | ▄ | ▔ | ▁ | ▏ | ▒ | ▕ | 🮏 | 🮙 | 🮇 | ├ | ▗ | └ | ┐ | ▂ |
Fx | ┌ | ┴ | ┬ | ┤ | ▎ | ▍ | 🮈 | 🮂 | 🮃 | ▃ | ✓ | ▖ | ▝ | ┘ | ▘ | 🮕 |
Displayed case matches the Commodore PET 8032. The opposite case is used on the Commodore PET 2001. Differs from standard PETSCII. |
While the graphic characters were mostly shared between Commodore systems, the control characters frequently varied. The follow table describes what the control characters represent on the Commodore PET 2001, Commodore PET 8032, VIC-20, Commodore 64, Commodore 16, Commodore 128 (40 and 80 column modes).
Hex | Decimal | PET 2001 | PET 8032 | VIC-20 | C64 | C16 | C128 (40 col) | C128 (80 col) |
---|---|---|---|---|---|---|---|---|
00 | 0 | — | ||||||
01 | 1 | — | ||||||
02 | 2 | — | UNDERLINE ON | |||||
03 | 3 | STOP | ||||||
04 | 4 | — | ||||||
05 | 5 | — | WHITE | |||||
06 | 6 | — | ||||||
07 | 7 | — | BELL | — | BELL | |||
08 | 8 | — | LOCK CASE | — | ||||
09 | 9 | — | TAB | UNLOCK CASE | TAB | |||
0A | 10 | — | LINE FEED | |||||
0B | 11 | — | UNLOCK CASE | |||||
0C | 12 | — | LOCK CASE | |||||
0D | 13 | RETURN | ||||||
0E | 14 | — | LOWER CASE | |||||
0F | 15 | — | SET WINDOW TOP | — | FLASH ON | |||
10 | 16 | — | ||||||
11 | 17 | CURSOR DOWN | ||||||
12 | 18 | REVERSE ON | ||||||
13 | 19 | HOME | ||||||
14 | 20 | DEL | ||||||
15 | 21 | — | KILL LINE | — | ||||
16 | 22 | — | ERASE TO RIGHT | — | ||||
17 | 23 | — | ||||||
18 | 24 | — | TAB SET/CLEAR | |||||
19 | 25 | — | SCROLL UP | — | ||||
1A | 26 | — | ||||||
1B | 27 | — | ESC | — | ESC | |||
1C | 28 | — | RED | |||||
1D | 29 | CURSOR RIGHT | ||||||
1E | 30 | — | GREEN | |||||
1F | 31 | — | BLUE | |||||
80 | 128 | — | ||||||
81 | 129 | — | ORANGE | DARK PURPLE | ||||
82 | 130 | — | FLASH ON | — | UNDERLINE OFF | |||
83 | 131 | — | RUN | |||||
84 | 132 | — | FLASH OFF | — | ||||
85 | 133 | — | F1 | |||||
86 | 134 | — | F3 | |||||
87 | 135 | — | DOUBLE BELL | F5 | ||||
88 | 136 | — | F7 | |||||
89 | 137 | — | TAB SET/CLEAR | F2 | ||||
8A | 138 | — | F4 | |||||
8B | 139 | — | F6 | |||||
8C | 140 | — | F8 | HELP | F8 | |||
8D | 141 | SHIFT + RETURN | ||||||
8E | 142 | — | UPPER CASE | |||||
8F | 143 | — | SET WINDOW END | — | FLASH OFF | |||
90 | 144 | — | BLACK | |||||
91 | 145 | CURSOR UP | ||||||
92 | 146 | REVERSE OFF | ||||||
93 | 147 | CLEAR | ||||||
94 | 148 | INST | ||||||
95 | 149 | — | INSERT LINE ABOVE | — | BROWN | DARK YELLOW | ||
96 | 150 | — | ERASE TO LEFT | — | PINK | YELLOW-GREEN | PINK | |
97 | 151 | — | DARK GRAY | PINK | DARK GRAY | DARK CYAN | ||
98 | 152 | — | MEDIUM GRAY | BLUE-GREEN | MEDIUM GRAY | |||
99 | 153 | — | SCROLL DOWN | — | LIGHT GREEN | LIGHT BLUE | LIGHT GREEN | |
9A | 154 | — | LIGHT BLUE | DARK BLUE | LIGHT BLUE | |||
9B | 155 | — | LIGHT GRAY | LIGHT GREEN | LIGHT GRAY | |||
9C | 156 | — | PURPLE | |||||
9D | 157 | CURSOR LEFT | ||||||
9E | 158 | — | YELLOW | |||||
9F | 159 | — | CYAN |
The colors of the VIC-20 and C64/128 are listed in the VIC-II article.
Out of PETSCII's first 192 codes, there are 128 graphic characters: 32–127 and 160–192. This permits "base128"-style encodings in DATA statements, or perhaps between PETSCII-speaking machines. This can also include control characters, which are visible when quoted, although which control characters are defined varies between systems.
The primary application for a "Base 128" encoding is in DATA statements in Commodore BASIC. Binary data can be stored with relatively low overhead, allowing one character of data to encode seven bits of data. On a standard 80-character line, typically four characters are used for the line number, and two characters for the tokenized DATA statement. Since the comma and colon are significant to BASIC, a quote character is also needed, leaving 73 characters for data. At seven bits per character, one DATA line could store 511 bits of binary data, for 79% efficiency. If three-digit line numbers are used, efficiency increases to 80%. If two-digit line numbers are used, efficiency is 82%.
Line Numbers | Data chars per Line | Bits per Line | Efficiency | Max. Lines | Max. Total Data Bytes |
---|---|---|---|---|---|
1-9 [lower-alpha 1] | 76 | 532 | 0.83125 | 9 | 598 |
10-99 | 75 | 525 | 0.820312 | 90 | 5,906 |
100-999 | 74 | 518 | 0.809375 | 900 | 58,275 |
1000-9999 | 73 | 511 | 0.7984375 | 9,000 | 574,875 |
10000-65535 [lower-alpha 2] | 72 | 504 | 0.7875 | 55,536 [lower-alpha 2] | 3.5 MB (approx.) |
For storing binary data in Commodore BASIC, it appears that two- or three-digit line numbers are typically the best choice.
164 PETSCII characters are representable in quoted strings; theoretically, then, Base 164 is possible. This adds in the color values, the function keys, and cursor controls.
ASCII, an acronym for American Standard Code for Information Interchange, is a character encoding standard for electronic communication. ASCII codes represent text in computers, telecommunications equipment, and other devices. ASCII has just 128 code points, of which only 95 are printable characters, which severely limit its scope. The set of available punctuation had significant impact on the syntax of computer languages and text markup. ASCII hugely influenced the design of character sets used by modern computers, including Unicode which has over a million code points, but the first 128 of these are the same as ASCII.
The ATASCII character set, from ATARI Standard Code for Information Interchange, alternatively ATARI ASCII, is a character encoding used in the Atari 8-bit home computers. ATASCII is based on ASCII, but is not fully compatible with it.
ArmSCII or ARMSCII is a set of obsolete single-byte character encodings for the Armenian alphabet defined by Armenian national standard 166–9. ArmSCII is an acronym for Armenian Standard Code for Information Interchange, similar to ASCII for the American standard. It has been superseded by the Unicode standard.
Box-drawing characters, also known as line-drawing characters, are a form of semigraphics widely used in text user interfaces to draw various geometric frames and boxes. These characters are characterized by being designed to be connected horizontally and/or vertically with adjacent characters, which requires proper alignment. Box-drawing characters therefore typically only work well with monospaced fonts.
T.51 / ISO/IEC 6937:2001, Information technology — Coded graphic character set for text communication — Latin alphabet, is a multibyte extension of ASCII, or more precisely ISO/IEC 646-IRV. It was developed in common with ITU-T for telematic services under the name of T.51, and first became an ISO standard in 1983. Certain byte codes are used as lead bytes for letters with diacritics. The value of the lead byte often indicates which diacritic that the letter has, and the follow byte then has the ASCII-value for the letter that the diacritic is on.
MouseText is a set of 32 graphical characters designed by Bruce Tognazzini and first implemented in the Apple IIc. They were then retrofitted to the Apple IIe forming part of the Enhanced IIe upgrade. A slightly revised version was then released with the Apple IIGS.
Mac OS Icelandic is an obsolete character encoding that was used in Apple Macintosh computers to represent Icelandic text. It is largely identical to Mac OS Roman, except for the Icelandic special characters Ý, Þ and Ð which have replaced typography characters.
The Basic Latin Unicode block, sometimes informally called C0 Controls and Basic Latin, is the first block of the Unicode standard, and the only block which is encoded in one byte in UTF-8. The block contains all the letters and control codes of the ASCII encoding. It ranges from U+0000 to U+007F, contains 128 characters and includes the C0 controls, ASCII punctuation and symbols, ASCII digits, both the uppercase and lowercase of the English alphabet and a control character.
The ZX Spectrum character set is the variant of ASCII used in the ZX Spectrum family computers. It is based on ASCII-1967 but the characters ^, ` and DEL
are replaced with ↑, £ and ©. It also differs in its use of the C0 control codes other than the common BS
and CR
, and it makes use of the 128 high-bit characters beyond the ASCII range. The ZX Spectrum's main set of printable characters and system font are also used by the Jupiter Ace computer.
Text-based semigraphics, pseudographics, or character graphics is a primitive method used in early text mode video hardware to emulate raster graphics without having to implement the logic for such a display mode.
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.
The Atari ST character set is the character set of the Atari ST personal computer family including the Atari STE, TT and Falcon. It is based on code page 437, the original character set of the IBM PC.
The Acorn RISC OS character set was used in the Acorn Archimedes series and subsequent computers from 1987 onwards. It is an extension of ISO/IEC 8859-1, similar to the Windows CP1252 in that many of the added characters are typographical punctuation marks.
MSX character sets are a group of single- and double-byte character sets developed by Microsoft for MSX computers. They are based on code page 437.
The TRS-80 computer manufactured by Tandy / Radio Shack contains an 8-bit character set. It is partially derived from ASCII, and shares the code points from 32 - 95 on the standard model. Code points 96 - 127 are supported on models that have been fitted with a lower-case upgrade.
VSCII, also known as TCVN 5712, ISO-IR-180, .VN, ABC or simply the TCVN encodings, is a set of three closely related Vietnamese national standard character encodings for using the Vietnamese language with computers, developed by the TCVN Technical Committee on Information Technology (TCVN/TC1) and first adopted in 1993.
This article covers technical details of the character encoding system defined by ETS 300 706 of the ETSI, a standard for World System Teletext, and used for the Viewdata and Teletext variants of Videotex in Europe.
Sharp MZ character sets are character sets made by Sharp Corporation for Sharp MZ computers. The European and Japanese versions of the software use different character sets.
Symbols for Legacy Computing is a Unicode block containing graphic characters that were used for various home computers from the 1970s and 1980s and in Teletext broadcasting standards. It includes characters from the Amstrad CPC, MSX, Mattel Aquarius, RISC OS, MouseText, Atari ST, TRS-80 Color Computer, Oric, Texas Instruments TI-99/4A, TRS-80, Minitel, Teletext, ATASCII, PETSCII, ZX80, and ZX81 character sets. Semigraphics characters are also included in the form of new block-shaped characters, line-drawing characters, and 60 "sextant" characters.
The Amstrad CPC character set is the character set used in the Amstrad CPC series of 8-bit personal computers when running BASIC. This character set existed in the built-in "lower" ROM chip. It is based on ASCII-1967, with the exception of character 0x5E which is the up arrow instead of the circumflex, as it is in ASCII-1963, a feature shared with other character sets of the time. Apart from the standard printable ASCII range (0x20-0x7e), it is completely different from the Amstrad CP/M Plus character set. The BASIC character set had symbols of particular use in games and home computing, while the CP/M Plus character reflected the International and Business flavor of the CP/M Plus environment. This character set is represented in Unicode as of the March 2020 release of Unicode 13.0, which added symbols for legacy computing. The three missing characters have however been accepted for inclusion in Unicode 16.0 in the symbols for legacy computing supplement.
Q $195) On CBM machines prior to the VIC-20, what chr$ code outputs the same character as chr$(44), the comma.
A $195) 108.
Q $196) Is the character described in $195 of any use?
A $196) To put commas in strings read via INPUT. Remember, INPUT treats a comma (chr$(44)) as a delimiter between input fields, but chr$(108) does not produce the same effect, so you could replace 44 with 108 in data written to disk, and read it in with INPUT.