This website does readability filtering of other pages. All styles, scripts, forms and ads are stripped. If you want your website excluded or have other feedback, use this form.

Spectrum +3 CP/M Plus manual


Appendix I Index Appendix III

Appendix II

CP/M Plus character sets

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.

II.1 The complete character set (Language 0)

Dec valueHex valueSymbolDescriptionAlternative meaningSpecial name 0 #00 Infinity [email protected] 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

II.2 The standard CP/M keyboard

II.2.1 The Character keys

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.

Normal keyboard

#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

Keyboard with Caps 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

Keyboard with Symbol Shift

#8B
^Q � ! @ # $ % & ' ( ) _ DEL ^_
^] � � � < > [ ] ` ; " Extend mode ^\
~ | \ { } - + = Enter Caps Shift ^@
: £ ? / * , . . Caps shift Symb
Shift ; " � ^[ ^^ � , Symb
Shift

Keyboard with Extend mode

#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

II.2.2 The Function and other special keys

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.

TokenControl stringKey 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