Amstrad CPC character set

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Beland (talk | contribs) at 18:39, 22 June 2020 (convert special characters (via WP:JWB)). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

The Amstrad CPC character set (alternately known as the BASIC graphics character set)[1] 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][a]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ Template:Chset-color-ctrl|

0000
Template:Chset-color-ctrl|

0001
Template:Chset-color-ctrl|

0002
Template:Chset-color-ctrl|

0003
Template:Chset-color-ctrl|
⚡︎

0004
Template:Chset-color-ctrl|

0005
Template:Chset-color-ctrl|

0006
Template:Chset-color-ctrl|

0007
Template:Chset-color-ctrl|

0008
Template:Chset-color-ctrl|

0009
Template:Chset-color-ctrl|

000A
Template:Chset-color-ctrl|

000B
Template:Chset-color-ctrl|

000C
Template:Chset-color-ctrl|

000D
Template:Chset-color-ctrl|

000E
Template:Chset-color-ctrl|

000F
1_ Template:Chset-color-ctrl|

0010
Template:Chset-color-ctrl|

0011
Template:Chset-color-ctrl|

0012
Template:Chset-color-ctrl|

0013
Template:Chset-color-ctrl|

0014
Template:Chset-color-ctrl|

0015
Template:Chset-color-ctrl|

0016
Template:Chset-color-ctrl|

0017
Template:Chset-color-ctrl|

0018
Template:Chset-color-ctrl|

0019
Template:Chset-color-ctrl|

001A
Template:Chset-color-ctrl|

001B
Template:Chset-color-ctrl|

001C
Template:Chset-color-ctrl|

001D
Template:Chset-color-ctrl|

001E
Template:Chset-color-ctrl|

001F
2_ Template:Chset-color-misc|
0020
Template:Chset-color-punct|!
0021
Template:Chset-color-punct|"
0022
Template:Chset-color-punct|#
0023
Template:Chset-color-graph|$
0024
Template:Chset-color-punct|%
0025
Template:Chset-color-punct|&
0026
Template:Chset-color-punct|
2019
Template:Chset-color-punct|(
0028
Template:Chset-color-punct|)
0029
Template:Chset-color-punct|*
002A
Template:Chset-color-graph|+
002B
Template:Chset-color-punct|,
002C
Template:Chset-color-punct|-
002D
Template:Chset-color-punct|.
002E
Template:Chset-color-punct|/
002F
3_ Template:Chset-color-digit|0
0030
Template:Chset-color-digit|1
0031
Template:Chset-color-digit|2
0032
Template:Chset-color-digit|3
0033
Template:Chset-color-digit|4
0034
Template:Chset-color-digit|5
0035
Template:Chset-color-digit|6
0036
Template:Chset-color-digit|7
0037
Template:Chset-color-digit|8
0038
Template:Chset-color-digit|9
0039
Template:Chset-color-punct|:
003A
Template:Chset-color-punct|;
003B
Template:Chset-color-graph|<
003C
Template:Chset-color-graph|=
003D
Template:Chset-color-graph|>
003E
Template:Chset-color-punct|?
003F
4_ Template:Chset-color-punct|@
0040
Template:Chset-color-letter|A
0041
Template:Chset-color-letter|B
0042
Template:Chset-color-letter|C
0043
Template:Chset-color-letter|D
0044
Template:Chset-color-letter|E
0045
Template:Chset-color-letter|F
0046
Template:Chset-color-letter|G
0047
Template:Chset-color-letter|H
0048
Template:Chset-color-letter|I
0049
Template:Chset-color-letter|J
004A
Template:Chset-color-letter|K
004B
Template:Chset-color-letter|L
004C
Template:Chset-color-letter|M
004D
Template:Chset-color-letter|N
004E
Template:Chset-color-letter|O
004F
5_ Template:Chset-color-letter|P
0050
Template:Chset-color-letter|Q
0051
Template:Chset-color-letter|R
0052
Template:Chset-color-letter|S
0053
Template:Chset-color-letter|T
0054
Template:Chset-color-letter|U
0055
Template:Chset-color-letter|V
0056
Template:Chset-color-letter|W
0057
Template:Chset-color-letter|X
0058
Template:Chset-color-letter|Y
0059
Template:Chset-color-letter|Z
005A
Template:Chset-color-punct|[
005B
Template:Chset-color-punct|\
005C
Template:Chset-color-punct|]
005D
Template:Chset-color-graph|
2191
Template:Chset-color-punct|_
005F
6_ Template:Chset-color-graph|`
0060
Template:Chset-color-letter|a
0061
Template:Chset-color-letter|b
0062
Template:Chset-color-letter|c
0063
Template:Chset-color-letter|d
0064
Template:Chset-color-letter|e
0065
Template:Chset-color-letter|f
0066
Template:Chset-color-letter|g
0067
Template:Chset-color-letter|h
0068
Template:Chset-color-letter|i
0069
Template:Chset-color-letter|j
006A
Template:Chset-color-letter|k
006B
Template:Chset-color-letter|l
006C
Template:Chset-color-letter|m
006D
Template:Chset-color-letter|n
006E
Template:Chset-color-letter|o
006F
7_ Template:Chset-color-letter|p
0070
Template:Chset-color-letter|q
0071
Template:Chset-color-letter|r
0072
Template:Chset-color-letter|s
0073
Template:Chset-color-letter|t
0074
Template:Chset-color-letter|u
0075
Template:Chset-color-letter|v
0076
Template:Chset-color-letter|w
0077
Template:Chset-color-letter|x
0078
Template:Chset-color-letter|y
0079
Template:Chset-color-letter|z
007A
Template:Chset-color-punct|{
007B
Template:Chset-color-graph||
007C
Template:Chset-color-punct|}
007D
Template:Chset-color-graph|~
007E
Template:Chset-color-ctrl|
007F
8_ Template:Chset-color-misc| 
00A0
Template:Chset-color-graph|
2598
Template:Chset-color-graph|
259D
Template:Chset-color-graph|
2580
Template:Chset-color-graph|
2596
Template:Chset-color-graph|
258C
Template:Chset-color-graph|
259E
Template:Chset-color-graph|
259B
Template:Chset-color-graph|
2597
Template:Chset-color-graph|
259A
Template:Chset-color-graph|
2590
Template:Chset-color-graph|
259C
Template:Chset-color-graph|
2584
Template:Chset-color-graph|
2599
Template:Chset-color-graph|
259F
Template:Chset-color-graph|
2588
9_ Template:Chset-color-punct|·
00B7
Template:Chset-color-graph|
2575
Template:Chset-color-graph|
2576
Template:Chset-color-graph|
2514
Template:Chset-color-graph|
2577
Template:Chset-color-graph|
2502
Template:Chset-color-graph|
250C
Template:Chset-color-graph|
251C
Template:Chset-color-graph|
2574
Template:Chset-color-graph|
2518
Template:Chset-color-graph|
2500
Template:Chset-color-graph|
2534
Template:Chset-color-graph|
2510
Template:Chset-color-graph|
2524
Template:Chset-color-graph|
252C
Template:Chset-color-graph|
253C
A_ Template:Chset-color-graph|^
005E
Template:Chset-color-graph|´
00B4
Template:Chset-color-graph|¨
00A8
Template:Chset-color-graph|£
00A3
Template:Chset-color-graph|©
00A9
Template:Chset-color-punct|
00B6
Template:Chset-color-punct|§
00A7
Template:Chset-color-punct|
2018
Template:Chset-color-digit|¼
00BC
Template:Chset-color-digit|½
00BD
Template:Chset-color-digit|¾
00BE
Template:Chset-color-graph|±
00B1
Template:Chset-color-graph|÷
00F7
Template:Chset-color-graph|¬
00AC
Template:Chset-color-punct|¿
00BF
Template:Chset-color-punct|¡
00A1
B_ Template:Chset-color-letter|α
03B1
Template:Chset-color-letter|β
03B2
Template:Chset-color-letter|γ
03B3
Template:Chset-color-letter|δ
03B4
Template:Chset-color-letter|ε
03B5
Template:Chset-color-letter|θ
03B8
Template:Chset-color-letter|λ
03BB
Template:Chset-color-letter|μ
03BC
Template:Chset-color-letter|π
03C0
Template:Chset-color-letter|σ
03C3
Template:Chset-color-letter|φ
03C6
Template:Chset-color-letter|ψ
03C8
Template:Chset-color-letter|χ
03C7
Template:Chset-color-letter|ω
03C9
Template:Chset-color-letter|Σ
03A3
Template:Chset-color-letter|Ω
03A9
C_ Template:Chset-color-graph|🮠
1FBA0
Template:Chset-color-graph|🮡
1FBA1
Template:Chset-color-graph|🮣
1FBA3
Template:Chset-color-graph|🮢
1FBA2
Template:Chset-color-graph|🮧
1FBA7
Template:Chset-color-graph|🮥
1FBA5
Template:Chset-color-graph|🮦
1FBA6
Template:Chset-color-graph|🮤
1FBA4
Template:Chset-color-graph|🮨
1FBA8
Template:Chset-color-graph|🮩
1FBA9
Template:Chset-color-graph|🮮
1FBAE
Template:Chset-color-graph|
2573
Template:Chset-color-graph|
2571
Template:Chset-color-graph|
2572
Template:Chset-color-graph|🮕
1FB95
Template:Chset-color-graph|
2592
D_ Template:Chset-color-graph|
2594
Template:Chset-color-graph|
2595
Template:Chset-color-graph|
2581
Template:Chset-color-graph|
258F
Template:Chset-color-graph|
25E4
Template:Chset-color-graph|
25E5
Template:Chset-color-graph|
25E2
Template:Chset-color-graph|
25E3
Template:Chset-color-graph|🮎
1FB8E
Template:Chset-color-graph|🮍
1FB8D
Template:Chset-color-graph|🮏
1FB8F
Template:Chset-color-graph|🮌
1FB8C
Template:Chset-color-graph|🮜
1FB9C
Template:Chset-color-graph|🮝
1FB9D
Template:Chset-color-graph|🮞
1FB9E
Template:Chset-color-graph|🮟
1FB9F
E_ Template:Chset-color-graph|
263A
Template:Chset-color-graph|
2639
Template:Chset-color-graph|
2663
Template:Chset-color-graph|
2666
Template:Chset-color-graph|
2665
Template:Chset-color-graph|
2660
Template:Chset-color-graph|
25CB
Template:Chset-color-graph|
25CF
Template:Chset-color-graph|
25A1
Template:Chset-color-graph|
25A0
Template:Chset-color-graph|
2642
Template:Chset-color-graph|
2640
Template:Chset-color-graph|
2669
Template:Chset-color-graph|
266A
Template:Chset-color-graph|
263C
Template:Chset-color-graph-box|
 
F_ Template:Chset-color-graph|
2B61
Template:Chset-color-graph|
2B63
Template:Chset-color-graph|
2B60
Template:Chset-color-graph|
2B62
Template:Chset-color-graph|
25B2
Template:Chset-color-graph|
25BC
Template:Chset-color-graph|
25B6
Template:Chset-color-graph|
25C0
Template:Chset-color-graph|🯆
1FBC6
Template:Chset-color-graph|🯅
1FBC5
Template:Chset-color-graph|🯇
1FBC7
Template:Chset-color-graph|🯈
1FBC8
Template:Chset-color-graph-box|
 
Template:Chset-color-graph-box|
 
Template:Chset-color-graph|
2B65
Template:Chset-color-graph|
2B64
  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]

  Letter  Number  Punctuation  Symbol  Other  Undefined  No Unicode mapping[5]

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) Name Parameter Locomotive BASIC equivalent Function
00 0 NUL No effect. Ignored.
01 1 SOH 0-255 Print the symbol given by the parameter value. This allows the symbols in the range 0 to 31 to be displayed.
02 2 STX CURSOR 0 Turn off text cursor.
03 3 ETX CURSOR 1 Turn on text cursor.
04 4 EOT 0-2 MODE Set screen mode.
05 5 ENQ 0-255 Send the parameter character to the graphics cursor.
06 6 ACK Enable Text Screen (see NAK)
07 7 BEL Sound Bleeper. Note that this flushes the sound queues.
08 8 BS Move cursor back one character.[a]
09 9 TAB Move cursor forward one character.[a]
0A 10 LF Move cursor down one line.[a]
0B 11 VT Move cursor up one line.[a]
0C 12 FF CLS Clear text window and move cursor to top left corner.
0D 13 CR Move cursor to left edge of window on current line.[a]
0E 14 SO 0-15 PAPER Set Paper Ink.
0F 15 SI 0-15 PEN Set Pen Ink.
10 16 DLE Delete current character.[a]
11 17 DC1 Clear from left edge of window to, and including, the current character position.[a]
12 18 DC2 Clear from, and including, the current character position to the right edge of window.[a]
13 19 DC3 Clear from start of window to, and including, the current character position.[a]
14 20 DC4 Clear from, and including, the current character position to the end of window.[a]
15 21 NAK Turn off text screen. The screen will not react to anything sent to it until after an ACK is sent.
16 22 SYN 0-1 Set transparency (0 disables, 1 enables)
17 23 ETB 0-3 Set graphics ink mode. 0 normal (overwrite), 1 XOR, 2 AND, 3 OR
18 24 CAN Exchange Pen and Paper Inks, effectively applying the reverse video effect.
19 25 EM 0-255 (9 times) SYMBOL Set the matrix for user definable character. The first parameter specifies which character's matrix to set. The next eight specify the matrix.
1A 26 SUB 1-80, 1-80, 1-25, 1-25 WINDOW Set Window. The parameters specify left, right, top and bottom edges of the window.
1B 27 ESC No effect. Ignored.
1C 28 FS 0-15, 0-31, 0-31 INK Set Ink to a pair of colors. The first parameter specifies the Ink, the next two the required colors. [b]
1D 29 GS 0-31, 0-31 BORDER Set Border to a pair of colors. Equivalent to a BORDER command. The two parameters specify the two colors.[b]
1E 30 RS Move cursor to top left hand corner of window.
1F 31 US 1-80, 1-25 LOCATE Move cursor to the given position in the current window. The first parameter gives the column to move to, the second gives the line.
  1. ^ a b c d e f g h i j 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. ^ a b "Character Not Proposed" (PDF), L2/19-025: Sources, 2019-01-04
  6. ^ "AMSCPC.TXT", L2/19-025: Proposal to add characters from legacy computers and teletext to the UCS (PDF), 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", CPC464/664/6128 FIRMWARE, Amstrad Consumer Electronics, p. 431
  10. ^ "Chapter 7: For your reference ...." (PDF), Amstrad CPC 6128 User Instructions, 1985, pp. 3–6