Amstrad CPC character set

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][lower-alpha 1]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_

0000


0001


0002


0003


0004


0005


0006


0007


0008


0009


000A


000B


000C


000D


000E


000F
1_

0010


0011


0012


0013


0014


0015


0016


0017


0018


0019


001A


001B


001C


001D


001E


001F
2_
0020
!
0021
"
0022
#
0023
$
0024
%
0025
&
0026

2019
(
0028
)
0029
*
002A
+
002B
,
002C
-
002D
.
002E
/
002F
3_ 0
0030
1
0031
2
0032
3
0033
4
0034
5
0035
6
0036
7
0037
8
0038
9
0039
:
003A
;
003B
<
003C
=
003D
>
003E
?
003F
4_ @
0040
A
0041
B
0042
C
0043
D
0044
E
0045
F
0046
G
0047
H
0048
I
0049
J
004A
K
004B
L
004C
M
004D
N
004E
O
004F
5_ P
0050
Q
0051
R
0052
S
0053
T
0054
U
0055
V
0056
W
0057
X
0058
Y
0059
Z
005A
[
005B
\
005C
]
005D

2191
_
005F
6_ `
0060
a
0061
b
0062
c
0063
d
0064
e
0065
f
0066
g
0067
h
0068
i
0069
j
006A
k
006B
l
006C
m
006D
n
006E
o
006F
7_ p
0070
q
0071
r
0072
s
0073
t
0074
u
0075
v
0076
w
0077
x
0078
y
0079
z
007A
{
007B
|
007C
}
007D
~
007E

007F
8_  
00A0

2598

259D

2580

2596

258C

259E

259B

2597

259A

2590

259C

2584

2599

259F

2588
9_ ·
00B7

2575

2576

2514

2577

2502

250C

251C

2574

2518

2500

2534

2510

2524

252C

253C
A_ ^
005E
´
00B4
¨
00A8
£
00A3
©
00A9

00B6
§
00A7

2018
¼
00BC
½
00BD
¾
00BE
±
00B1
÷
00F7
¬
00AC
¿
00BF
¡
00A1
B_ α
03B1
β
03B2
γ
03B3
δ
03B4
ε
03B5
θ
03B8
λ
03BB
μ
03BC
π
03C0
σ
03C3
φ
03C6
ψ
03C8
χ
03C7
ω
03C9
Σ
03A3
Ω
03A9
C_ 🮠
1FBA0
🮡
1FBA1
🮣
1FBA3
🮢
1FBA2
🮧
1FBA7
🮥
1FBA5
🮦
1FBA6
🮤
1FBA4
🮨
1FBA8
🮩
1FBA9
🮮
1FBAE

2573

2571

2572
🮕
1FB95

2592
D_
2594

2595

2581

258F

25E4

25E5

25E2

25E3
🮎
1FB8E
🮍
1FB8D
🮏
1FB8F
🮌
1FB8C
🮜
1FB9C
🮝
1FB9D
🮞
1FB9E
🮟
1FB9F
E_
263A

2639

2663

2666

2665

2660

25CB

25CF

25A1

25A0

2642

2640

2669

266A

263C

 
F_
2B61

2B63

2B60

2B62

25B2

25BC

25B6

25C0
🯆
1FBC6
🯅
1FBC5
🯇
1FBC7
🯈
1FBC8

 

 

2B65

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)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. 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
gollark: You mean a part list? Sure!
gollark: There's the 1660 Ti though.
gollark: The 1160 Ti never happened because Nvidia.
gollark: Well, that sounds... insanely expensive.
gollark: I hope we can agree that AMD *and* Nvidia have weird naming schemes sometimes.

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. "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
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.