Appendix I | Index | Appendix III |
CP/M Plus on the Spectrum +3 supports a character set of 256 characters. The complete list of these characters is given in Section II.1.
Each character is known to the Spectrum by a code, usually represented as a decimal number between 0 and 255. The character set is provided in eight different 'language' variants and the specific assignment of numbers to characters depends on the 'nationality' of the character set that is being used. In each case, the Spectrum's codes form an extended version fo the industry standard ASCII character set.
The character set normally in use on the Spectrum is the American version of the CP/M character set (Language 0). When using a program or a data file set up under a different national language variant of CP/M, you may have to change the character set on the Spectrum to match. Part I, Section 4.5 describes how this is done.
While it is possible to display all 256 characters on the screen and to process them when they are held in a file, it is not possible to type every character at the keyboard and it may not be possible to print every character on your printer.
The range of characters that can be typed at any time depends on the details of the codes that the keyboard is currently set up to produce. The Spectrum keyboard is normally set up to produce the most commonly-used of these characters (about 120 characters in all). Forty-seven of these characters require just a single 'Character' key to be pressd. The rest are formed by pressing +key, +key, or +key or + +key.
The key combinations are listed in Section II.2. Other key combinations produce CP/M control codes.
The set of characters that can be typed can readily be altered. How this is done is described in Part I, Section 4.6.
Note: Some application programs will misinterpret any character with an internal hexadecimal value greater than #7F. These characters shouldn't be used with such programs. These problems will particularly affect those wishing to use accented characters in producing foreign language texts.
Dec value | Hex value | Symbol | Description | Alternative meaning | Special name |
---|---|---|---|---|---|
0 | #00 | Infinity | Control-@ | NUL | |
1 | #01 | Arrow out of page | Control-A | SOH | |
2 | #02 | Upper case gamma | Control-B | STX | |
3 | #03 | Upper case delta | Control-C | ETX | |
4 | #04 | Arrow into page | Control-D | EOT | |
5 | #05 | × | Multiply | Control-E | ENQ |
6 | #06 | ÷ | Divide | Control-F | ACK |
7 | #07 | Therefore | Control-G | BEL | |
8 | #08 | Upper case pi | Control-H | BS | |
9 | #09 | Down pointing arrow | Control-I | HT | |
10 | #0A | Upper case sigma | Control-J | LF | |
11 | #0B | Left pointing arrow | Control-K | VT | |
12 | #0C | Right pointing arrow | Control-L | FF | |
13 | #0D | ± | Plus or minus | Control-M | CR |
14 | #0E | Arrow pointing lt and rt | Control-N | SO | |
15 | #0F | Upper case omega | Control-O | SI | |
16 | #10 | Lower case alpha | Control-P | DLE | |
17 | #11 | Lower case beta | Control-Q | DC1 | |
18 | #12 | Lower case gamma | Control-R | DC2 | |
19 | #13 | Lower case delta | Control-S | DC3 | |
20 | #14 | Lower case epsilon | Control-T | DC4 | |
21 | #15 | Lower case theta | Control-U | NAK | |
22 | #16 | Lower case lambda | Control-V | SYN | |
23 | #17 | Lower case mu | Control-W | ETB | |
24 | #18 | Lower case pi | Control-X | CAN | |
25 | #19 | Lower case rho | Control-Y | EM | |
26 | #1A | Lower case sigma | Control-Z | SUB | |
27 | #1B | Lower case tau | Control-[ | ESC | |
28 | #1C | Lower case phi | Control-\ | FS | |
29 | #1D | Lower case chi | Control-] | GS | |
30 | #1E | Lower case psi | Control-^ | RS | |
31 | #1F | Lower case omega | Control-_ | US | |
32 | #20 | Space | |||
33 | #21 | ! | Exclamation mark | ||
34 | #22 | " | Double quote | ||
35 | #23 | # | Hash | ||
36 | #24 | $ | Dollar sign | ||
37 | #25 | % | Percent | ||
38 | #26 | & | Ampersand | ||
39 | #27 | ' | Apostrophe | ||
40 | #28 | ( | Open parenthesis | ||
41 | #29 | ) | Close parenthesis | ||
42 | #2A | * | Asterisk | ||
43 | #2B | + | Plus | ||
44 | #2C | , | Comma | ||
45 | #2D | - | Minus | ||
46 | #2E | . | Full stop | ||
47 | #2F | / | Slash | ||
48 | #30 | 0 | Zero | ||
49 | #31 | 1 | One | ||
50 | #32 | 2 | Two | ||
51 | #33 | 3 | Three | ||
52 | #34 | 4 | Four | ||
53 | #35 | 5 | Five | ||
54 | #36 | 6 | Six | ||
55 | #37 | 7 | Seven | ||
56 | #38 | 8 | Eight | ||
57 | #39 | 9 | Nine | ||
58 | #3A | : | Colon | ||
59 | #3B | ; | Semicolon | ||
60 | #3C | < | Less than sign | ||
61 | #3D | = | Equals | ||
62 | #3E | > | Greater than sign | ||
63 | #3F | ? | Question Mark | ||
64 | #40 | @ | At | ||
65 | #41 | A | Upper case A | ||
66 | #42 | B | Upper case B | ||
67 | #43 | C | Upper case C | ||
68 | #44 | D | Upper case D | ||
69 | #45 | E | Upper case E | ||
70 | #46 | F | Upper case F | ||
71 | #47 | G | Upper case G | ||
72 | #48 | H | Upper case H | ||
73 | #49 | I | Upper case I | ||
74 | #4A | J | Upper case J | ||
75 | #4B | K | Upper case K | ||
76 | #4C | L | Upper case L | ||
77 | #4D | M | Upper case M | ||
78 | #4E | N | Upper case N | ||
79 | #4F | O | Upper case O | ||
80 | #50 | P | Upper case P | ||
81 | #51 | Q | Upper case Q | ||
82 | #52 | R | Upper case R | ||
83 | #53 | S | Upper case S | ||
84 | #54 | T | Upper case T | ||
85 | #55 | U | Upper case U | ||
86 | #56 | V | Upper case V | ||
87 | #57 | W | Upper case W | ||
88 | #58 | X | Upper case X | ||
89 | #59 | Y | Upper case Y | ||
90 | #5A | Z | Upper case Z | ||
91 | #5B | [ | Open square bracket | ||
92 | #5C | \ | Backslash | ||
93 | #5D | ] | Close square bracket | ||
94 | #5E | Up arrow | |||
95 | #5F | _ | Upper case _ | ||
96 | #60 | ` | Upper case ` | ||
97 | #61 | a | Lower case a | ||
98 | #62 | b | Lower case b | ||
99 | #63 | c | Lower case c | ||
100 | #64 | d | Lower case d | ||
101 | #65 | e | Lower case e | ||
102 | #66 | f | Lower case f | ||
103 | #67 | g | Lower case g | ||
104 | #68 | h | Lower case h | ||
105 | #69 | i | Lower case i | ||
106 | #6A | j | Lower case j | ||
107 | #6B | k | Lower case k | ||
108 | #6C | l | Lower case l | ||
109 | #6D | m | Lower case m | ||
110 | #6E | n | Lower case n | ||
111 | #6F | o | Lower case o | ||
112 | #70 | p | Lower case p | ||
113 | #71 | q | Lower case q | ||
114 | #72 | r | Lower case r | ||
115 | #73 | s | Lower case s | ||
116 | #74 | t | Lower case t | ||
117 | #75 | u | Lower case u | ||
118 | #76 | v | Lower case v | ||
119 | #77 | w | Lower case w | ||
120 | #78 | x | Lower case x | ||
121 | #79 | y | Lower case y | ||
122 | #7A | z | Lower case z | ||
123 | #7B | { | Open curly bracket | ||
124 | #7C | | | Vertical bar | ||
125 | #7D | } | Close curly bracket | ||
126 | #7E | ~ | Tilde | ||
127 | #7F | 0 | Zero without a slash | DEL | |
128..159 | #80..#9F | Line graphics | Expansion tokens | ||
160 | #A0 | ª | Feminine ordinal | ||
161 | #A1 | º | Masculine ordinal | ||
162 | #A2 | ° | Degree | ||
163 | #A3 | £ | Pound sign | ||
164 | #A4 | © | Copyright | ||
165 | #A5 | ¶ | Paragraph sign | ||
166 | #A6 | § | Section | ||
167 | #A7 | Dagger | |||
168 | #A8 | ¼ | One quarter | ||
169 | #A9 | ½ | Half | ||
170 | #AA | ¾ | Three quarters | ||
171 | #AB | « | Open quotes (Fr.) | ||
172 | #AC | » | Close quotes (Fr.) | ||
173 | #AD | Pt | Pesata | ||
174 | #AE | ¿ | Inverted question mark | ||
175 | #AF | ¡ | Inverted exclamation mark | ||
176 | #B0 | f | Florin | ||
177 | #B1 | ¢ | Cent | ||
178 | #B2 | ¨ | Umlaut | ||
179 | #B3 | ´ | Acute accent | ||
180 | #B4 | ^ | Circumflex | ||
181 | #B5 | Per thousand | |||
182 | #B6 | 1/8 | One eighth | ||
183 | #B7 | 3/8 | Three eighths | ||
184 | #B8 | 5/8 | Five eighths | ||
185 | #B9 | 7/8 | Seven eighths | ||
186 | #BA | ß | German Scharfes S | ||
187 | #BB | Open circle | |||
188 | #BC | Bullet | |||
189 | #BD | ¥ | Yen | ||
190 | #BE | ® | Registered | ||
191 | #BF | TM | Trade mark | ||
192 | #C0 | Á | Upper case A acute | ||
193 | #C1 | É | Upper case E acute | ||
194 | #C2 | Í | Upper case I acute | ||
195 | #C3 | Ó | Upper case O acute | ||
196 | #C4 | Ú | Upper case U acute | ||
197 | #C5 | Â | Upper case A circumflex | ||
198 | #C6 | Ê | Upper case E circumflex | ||
199 | #C7 | Î | Upper case I circumflex | ||
200 | #C8 | Ô | Upper case O circumflex | ||
201 | #C9 | Û | Upper case U circumflex | ||
202 | #CA | À | Upper case A grave | ||
203 | #CB | È | Upper case E grave | ||
204 | #CC | Ì | Upper case I grave | ||
205 | #CD | Ò | Upper case O grave | ||
206 | #CE | Ù | Upper case U grave | ||
207 | #CF | Upper case Y umlaut | |||
208 | #D0 | Ä | Upper case A umlaut | ||
209 | #D1 | Ë | Upper case E umlaut | ||
210 | #D2 | Ï | Upper case I umlaut | ||
211 | #D3 | Ö | Upper case O umlaut | ||
212 | #D4 | Ü | Upper case U umlaut | ||
213 | #D5 | Ç | Upper case C cedilla | ||
214 | #D6 | Æ | Upper case diphthong | ||
215 | #D7 | Å | Upper case A ring | ||
216 | #D8 | Ø | Upper case O slash | ||
217 | #D9 | Ñ | Upper case N tilde | ||
218 | #DA | Ã | Upper case A tilde | ||
219 | #DB | Õ | Upper case O tilde | ||
220 | #DC | Greater than or equal | |||
221 | #DD | Less than or equal | |||
222 | #DE | Not equal | |||
223 | #DF | Approximately equal | |||
224 | #E0 | á | Lower case A acute | ||
225 | #E1 | é | Lower case E acute | ||
226 | #E2 | í | Lower case I acute | ||
227 | #E3 | ó | Lower case O acute | ||
228 | #E4 | ú | Lower case U acute | ||
229 | #E5 | â | Lower case A circumflex | ||
230 | #E6 | ê | Lower case E circumflex | ||
231 | #E7 | î | Lower case I circumflex | ||
232 | #E8 | ô | Lower case O circumflex | ||
233 | #E9 | û | Lower case U circumflex | ||
234 | #EA | à | Lower case A grave | ||
235 | #EB | è | Lower case E grave | ||
236 | #EC | ì | Lower case I grave | ||
237 | #ED | ò | Lower case O grave | ||
238 | #EE | ù | Lower case U grave | ||
239 | #EF | ÿ | Lower case U grave | ||
240 | #F0 | ä | Lower case A umlaut | ||
241 | #F1 | ë | Lower case E umlaut | ||
242 | #F2 | ï | Lower case I umlaut | ||
243 | #F3 | ö | Lower case O umlaut | ||
244 | #F4 | ü | Lower case U umlaut | ||
245 | #F5 | ç | Lower case C cedilla | ||
246 | #F6 | æ | Lower case diphthong | ||
247 | #F7 | å | Lower case A ring | ||
248 | #F8 | ø | Lower case O slash | ||
249 | #F9 | ñ | Lower case N tilde | ||
250 | #FA | ã | Lower case A tilde | ||
251 | #FB | õ | Lower case O tilde | ||
252 | #FC | Double shafted arrow pointing right | |||
253 | #FD | Double shafted arrow pointing left | |||
254 | #FE | Double shafted arrow left+right | |||
255 | #FF | Equivalent |
The following show the standard layout of the keyboard on Spectrum +3. The range of characters that can be typed and the keystrokes used to produce characters already on the keyboard can be changed using SETKEYS. This is described in Part I, Section 4.6.
#83 ^S |
#84 ^I |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | #8A ^[ |
#80 DEL |
#89 ^G |
q | w | e | r | t | y | u | i | o | p |
Extend mode | #81 ^W |
a | s | d | f | g | h | j | k | l | Enter |
Caps Shift | #82 |
z | x | c | v | b | n | m | . | Caps shift |
Symb Shift |
; | " | #85 ^A |
#88 ^F |
#87 ^_ |
#88 ^^ |
, | Symb Shift |
#83 ^S |
#84 ^I |
#81 ^W |
#82 |
#83 ^S |
#84 ^I |
#85 ^A |
#86 ^^ |
#87 ^_ |
#88 ^F |
#89 ^G |
#80 DEL |
#8A ^[ |
#80 DEL |
#89 ^G |
Q | W | E | R | T | Y | U | I | O | P |
Extend mode | #81 ^W |
A | S | D | F | G | H | J | K | L | Enter |
Caps Shift | #82 |
Z | X | C | V | B | N | M | ^M | Caps shift |
Symb Shift |
^O | ^P | #85 ^A |
#88 ^F |
#87 ^_ |
#88 ^^ |
^N | Symb Shift |
#8B ^Q |
¢ | ! | @ | # | $ | % | & | ' | ( | ) | _ | DEL |
^_ |
^] | © | ® | ¶ | < | > | [ | ] | ` | ; | " |
Extend mode | ^\ |
~ | | | \ | { | } | - | + | = | Enter |
Caps Shift | ^@ |
: | £ | ? | / | * | , | . | . | Caps shift |
Symb Shift |
; | " | ½ | ^[ | ^^ | § | , | Symb Shift |
#8B ^Q |
¢ | ^\ | ^@ | #8B ^Q |
¢ | ½ | § | ^^ | ^[ | ^] | ^_ | DEL |
^_ |
^] | ^Q | ^W | ^E | ^R | ^T | ^Y | ^U | ^I | ^O | ^P |
Extend mode | ^\ |
^A | ^S | ^D | ^F | ^G | ^H | ^J | ^K | ^L | Enter |
Caps Shift | ^@ |
^Z | ^X | ^C | ^V | ^B | ^N | ^M | ^M | Caps shift |
Symb Shift |
^O | ^P | ½ | ^[ | ^^ | § | ^N | Symb Shift |
The following table lists Control codes that the function keys and other special keys on the Spectrum +3 are automatically set up to produce. These settings are designed to aid your use of CP/M commands and Mallard BASIC. The ways in which these keys can be made to give different facilities is described in Part I, Section 4.6.
Token | Control string | Key combination |
---|---|---|
#80 | DEL | or + 0 |
#81 | Control-W | or + 1 |
#82 | (No string) | + 2 |
#83 | Control-S | or + 3 |
#84 | Control-I | or + 4 |
#85 | Control-A | or + 5 |
#86 | Control-^ | or + 6 |
#87 | Control-_ | or + 7 |
#88 | Control-F | or + 8 |
#89 | Control-G | or + 9 |
#8A | Control-[ | or + |
#8B | Control-Q | + or + 3 |
Appendix I | Index | Appendix III |