The Amstrad CPC character set (alternatively known as the BASIC graphics character set)[1] is the character set used in the Amstrad CPC series of 8-bit personal computers when running BASIC (the default mode, until it boots into CP/M). 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.[2][3] 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.[4] This character set is represented in Unicode (excluding 0xEF, 0xFC, and 0xFD)[5] as of the March 2020 release of Unicode 13.0, which added symbols for legacy computing.

Character set

Amstrad CPC[6][7][8][lower-alpha 1]
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 { | } ~ DEL
8x  
9x ·
Ax ^ ´ ¨ £ © § ¼ ½ ¾ ± ÷ ¬ ¿ ¡
Bx α β γ δ ε θ λ μ π σ φ ψ χ ω Σ Ω
Cx 🮠 🮡 🮣 🮢 🮧 🮥 🮦 🮤 🮨 🮩 🮮 🮕
Dx 🮎 🮍 🮏 🮌 🮜 🮝 🮞 🮟
Ex
Fx 🯆 🯅 🯇 🯈
  No Unicode mapping[5]
  1. The control characters normally do not produce a character on screen, but are interpreted as control codes. When using the character 1 (SOH) as a prefix, or with the graphics text, or entered from the keyboard, they are displayed with the representation on the bottom of the cell.[9]

Control characters

Each of the characters in the C0 character range (0x00-0x1F) had a special function.[10]


BASIC Control characters
Value (hex)Value(dec)NameParameterLocomotive BASIC equivalentFunction
000NULNo effect. Ignored.
011SOH0-255Print the symbol given by the parameter value. This allows the symbols in the range 0 to 31 to be displayed.
022STXCURSOR 0Turn off text cursor.
033ETXCURSOR 1Turn on text cursor.
044EOT0-2MODESet screen mode.
055ENQ0-255Send the parameter character to the graphics cursor.
066ACKEnable Text Screen (see NAK)
077BELSound Bleeper. Note that this flushes the sound queues.
088BSMove cursor back one character.[lower-alpha 1]
099TABMove cursor forward one character.[lower-alpha 1]
0A10LFMove cursor down one line.[lower-alpha 1]
0B11VTMove cursor up one line.[lower-alpha 1]
0C12FFCLSClear text window and move cursor to top left corner.
0D13CRMove cursor to left edge of window on current line.[lower-alpha 1]
0E14SO0-15PAPERSet Paper Ink.
0F15SI0-15PENSet Pen Ink.
1016DLEDelete current character.[lower-alpha 1]
1117DC1Clear from left edge of window to, and including, the current character position.[lower-alpha 1]
1218DC2Clear from, and including, the current character position to the right edge of window.[lower-alpha 1]
1319DC3Clear from start of window to, and including, the current character position.[lower-alpha 1]
1420DC4Clear from, and including, the current character position to the end of window.[lower-alpha 1]
1521NAKTurn off text screen. The screen will not react to anything sent to it until after an ACK is sent.
1622SYN0-1Set transparency (0 disables, 1 enables)
1723ETB0-3Set graphics ink mode. 0 normal (overwrite), 1 XOR, 2 AND, 3 OR
1824CANExchange Pen and Paper Inks, effectively applying the reverse video effect.
1925EM0-255 (9 times)SYMBOLSet the matrix for user definable character. The first parameter specifies which character's matrix to set. The next eight specify the matrix.
1A26SUB1-80, 1-80, 1-25, 1-25WINDOWSet Window. The parameters specify left, right, top and bottom edges of the window.
1B27ESCNo effect. Ignored.
1C28FS0-15, 0-31, 0-31INKSet Ink to a pair of colors. The first parameter specifies the Ink, the next two the required colors. [lower-alpha 2]
1D29GS0-31, 0-31BORDERSet Border to a pair of colors. Equivalent to a BORDER command. The two parameters specify the two colors.[lower-alpha 2]
1E30RSMove cursor to top left hand corner of window.
1F31US1-80, 1-25LOCATEMove cursor to the given position in the current window. The first parameter gives the column to move to, the second gives the line.
  1. 1 2 3 4 5 6 7 8 9 10 The codes marked force the cursor to a legal position in the current window before they are obeyed - but may leave the cursor in an illegal position

References

  1. "Chapter 7: For your reference ...." (PDF), Amstrad CPC 6128 User Instructions, 1985, p. 9
  2. ZX Spectrum character set
  3. PETSCII
  4. "Chapter 7: For your reference ...." (PDF), Amstrad CPC 6128 User Instructions, 1985, p. 54
  5. 1 2 "Character Not Proposed" (PDF), L2/19-025: Sources, 2019-01-04
  6. "AMSCPC.TXT" (PDF), L2/19-025: Proposal to add characters from legacy computers and teletext to the UCS, 2019-01-04
  7. L2/19-025: Sources (PDF), 2019-01-04
  8. "Chapter 7: For your reference ...." (PDF), Amstrad CPC 6128 User Instructions, 1985, pp. 9–20
  9. Godden, Bruce; Overell, Paul; Radisic, David (1986), "Appendix VI: Displayed Character Set", CPC 464/664/6128 FIRMWARE, Amstrad Consumer Electronics, p. 431
  10. "Chapter 7: For your reference ...." (PDF), Amstrad CPC 6128 User Instructions, 1985, pp. 3–6
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.