Amstrad CP/M Plus character set

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
Amstrad CP/M Plus character set
Alias(es)PCW character set, ZX Spectrum +3 character set
LanguagesUS English, French, German, UK English, Danish Swedish, Italian and Spanish
Created byAmstrad, Locomotive Software
Based onISO/IEC 646
Other related encodingLocoScript

The Amstrad CP/M Plus character set (alternatively known as PCW character set or ZX Spectrum +3 character set) is any of a group of 8-bit character sets introduced by Amstrad/Locomotive Software for use in conjunction with their adaptation of Digital Research's CP/M Plus[1] on various Amstrad CPC / Schneider CPC and Amstrad PCW / Schneider Joyce machines.[2][3] The character set was also used on the Amstrad ZX Spectrum +3 version of CP/M.[1]

At least on the ZX Spectrum +3 it existed in eight language-specific variants (based on ISO/IEC 646) depending on the selected locale of the system: USA (default), France, Germany, UK, Denmark, Sweden, Italy and Spain.[4]

Another slight variant of the character set was used by LocoScript.[5][6]

Character set

[edit | edit source]
Amstrad CP/M Plus character set (Language 0)[1][3]
0 1 2 3 4 5 6 7 8 9 A B C D E F
0x Γ Δ × ÷ Π Σ ± Ω
1x α β γ δ ε θ λ μ π ρ σ τ φ χ ψ ω
2x  SP  ! " # $ % & ' ( ) * + , - . /
3x 0︀[a] 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 { | } ~ 0[a]
8x ◾︎
9x ·
Ax ª º ° £ © § ¼ ½ ¾ « » ¿ ¡
Bx ƒ ¢ ¨ ´ ˆ ß ¥ ®
Cx Á É Í Ó Ú Â Ê Î Ô Û À È Ì Ò Ù Ÿ
Dx Ä Ë Ï Ö Ü Ç Æ Å Ø Ñ Ã Õ
Ex á é í ó ú â ê î ô û à è ì ò ù ÿ
Fx ä ë ï ö ü ç æ å ø ñ ã õ
  Language variants
  1. ^ a b Code point 0x30 is intended for zero with a slash (Unicode standardized variant U+0030 U+FE00), 0x7F for zero without a slash. Both can be expressed as Unicode character U+0030, but of course if both are converted to the same code point the conversion is non-reversible.

Language variants

[edit | edit source]

In languages 1 to 7, certain characters in the range 0..127 are swapped with characters in the range 128..255 of the character set, as shown in the following table:[4]

Language 0x23 0x40 0x5B 0x5C 0x5D 0x5E 0x60 0x7B 0x7C 0x7D 0x7E
0: USA # @ [ \ ] ^ ` { | } ~
1: France # à º ç § ^ ` é ù è ¨
2: Germany # § Ä Ö Ü ^ ` ä ö ü ß
3: UK £ @ [ \ ] ^ ` { | } ~
4: Denmark # @ Æ Ø Å ^ ` æ ø å ~
5: Sweden # É Ä Ö Å Ü é ä ö å ü
6: Italy # @ º \ é ^ ù à ò è ì
7: Spain Pt @ ¡ Ñ ¿ ^ ` ¨ ñ } ~

See also

[edit | edit source]

References

[edit | edit source]
  1. ^ a b c Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [1]
  2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  3. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  4. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [2]
  5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
  6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).

Further reading

[edit | edit source]