| e8555c89 Andy McCall |
1 |
This directory contains mappings of legacy character sets from 8-bit |
| 2 |
and 16-bit microcomputers as well as teletext to Unicode. Most of |
| 3 |
these mappings are made possible using characters from the new block |
| 4 |
U+1FB00-1FBFF Symbols for Legacy Computing. |
| 5 |
|
| 6 |
Some of these systems have two kinds of mappings: a "video" or "memory" mapping |
| 7 |
that reflects how bytes in video memory are mapped to characters, and an |
| 8 |
"interchange" or "CHR$()" mapping that reflects how keyboard input, the BASIC |
| 9 |
CHR$() function, or external I/O maps code values to characters. Either kind of |
| 10 |
mapping may be needed depending on the use case. |
| 11 |
|
| 12 |
The following systems are represented here along with notes. All trademarks and |
| 13 |
registered trademarks are the property of their respective owners. The company |
| 14 |
and product names used here are for identification purposes only. |
| 15 |
|
| 16 |
|
| 17 |
Coleco Adam |
| 18 |
|
| 19 |
ADAMOS7.TXT: Coleco Adam OS7 character set. |
| 20 |
ADAMSWTR.TXT: Coleco Adam SmartWRITER character set. |
| 21 |
|
| 22 |
The OS7 character set includes characters at $05-$1C that compose a graphic |
| 23 |
that spells COLECOVISION. These have been mapped to characters in the Private |
| 24 |
Use Area. |
| 25 |
|
| 26 |
|
| 27 |
Amstrad CPC |
| 28 |
|
| 29 |
AMSCPCV.TXT: Amstrad CPC character set as mapped in memory. |
| 30 |
AMSCPCI.TXT: Amstrad CPC character set without control characters. |
| 31 |
|
| 32 |
AMSCPCV.TXT includes symbols for control characters at $00-$1F and $7F. |
| 33 |
AMSCPCI.TXT does not include these symbols and leaves $00-$1F and $7F |
| 34 |
mapped to control characters by default. |
| 35 |
|
| 36 |
|
| 37 |
Amstrad CP/M Plus, PCW, and ZX Spectrum 3+ |
| 38 |
|
| 39 |
AMSCPM.TXT: Amstrad CP/M Plus, PCW, and ZX Spectrum 3+ character set. |
| 40 |
|
| 41 |
The slashed zero at $30 is mapped to U+0030+FE00, the recently-added |
| 42 |
standardized variation sequence for a slashed zero. The non-slashed |
| 43 |
zero at $7F is mapped to U+0030. |
| 44 |
|
| 45 |
|
| 46 |
Apple II series |
| 47 |
|
| 48 |
APL2PRIM.TXT: Apple II primary character set as mapped in memory. |
| 49 |
APL2ALT1.TXT: Apple II alternate character set, version 1, as mapped in memory. |
| 50 |
APL2ALT2.TXT: Apple II alternate character set, version 2, as mapped in memory. |
| 51 |
APL2ICHG.TXT: Apple II character set as mapped by CHR$(). |
| 52 |
|
| 53 |
Version 1 of the alternate character set has the "running man" characters where |
| 54 |
version 2 of the alternate character set has the "inverse return arrow" and |
| 55 |
"title bar" characters. |
| 56 |
|
| 57 |
Both versions of the alternate character set include a solid Apple logo at $40 |
| 58 |
and an open Apple logo at $41. Since the Apple logo is trademarked and thus |
| 59 |
cannot be encoded, these are mapped to characters in the Private Use Area. |
| 60 |
|
| 61 |
|
| 62 |
Mattel Aquarius |
| 63 |
|
| 64 |
AQUARIUS.TXT: Mattel Aquarius character set. |
| 65 |
|
| 66 |
Character $8A can be mapped to either U+2660 BLACK SPADE SUIT or |
| 67 |
U+1F6E7 UP-POINTING AIRPLANE. The first mapping is used here. |
| 68 |
|
| 69 |
|
| 70 |
Atari 8-bit series (ATASCII) |
| 71 |
|
| 72 |
ATARI8VG.TXT: ATASCII graphics character set, memory-mapped. |
| 73 |
ATARI8IG.TXT: ATASCII graphics character set, CHR$()-mapped. |
| 74 |
ATARI8VI.TXT: ATASCII international character set, memory-mapped. |
| 75 |
ATARI8II.TXT: ATASCII international character set, CHR$()-mapped. |
| 76 |
|
| 77 |
The graphics character set has symbols and semigraphics where the international |
| 78 |
character set has precomposed Latin characters with diacritics. |
| 79 |
|
| 80 |
The CHR$() mappings are in a different order and do not include the control |
| 81 |
characters at $1B-$1F, $7D-$7F, $8B-$8F, and $FD-$FF. |
| 82 |
|
| 83 |
|
| 84 |
Atari ST |
| 85 |
|
| 86 |
ATARISTV.TXT: Atari ST character set, memory-mapped. |
| 87 |
ATARISTI.TXT: Atari ST character set, CHR$()-mapped. |
| 88 |
|
| 89 |
The Atari ST character set is based on and similar to IBM PC code page 437, but |
| 90 |
has different characters in some locations, in particular $00-$1F and $B0-$DF. |
| 91 |
|
| 92 |
The CHR$() mapping is identical to the memory mapping except it does not |
| 93 |
include the control characters at $00-$1F and $7F. |
| 94 |
|
| 95 |
The Atari ST character set includes an Atari logo at $0E-$0F and an image of |
| 96 |
J.R. "Bob" Dobbs at $1C-$1F. Both are trademarked and unsuitable for encoding, |
| 97 |
so these are mapped to characters in the Private Use Area. |
| 98 |
|
| 99 |
|
| 100 |
Bildschirmtext (BTX) |
| 101 |
|
| 102 |
BTXG0.TXT: Bildschirmtext G0 character set. |
| 103 |
BTXG1.TXT: Bildschirmtext G1 character set. |
| 104 |
BTXG2.TXT: Bildschirmtext G2 character set. |
| 105 |
BTXG3.TXT: Bildschirmtext G3 character set. |
| 106 |
|
| 107 |
The Bildschirmtext (BTX) character set is mostly |
| 108 |
a permutation of the Teletext character set. |
| 109 |
|
| 110 |
|
| 111 |
TRS-80 Color Computer |
| 112 |
|
| 113 |
COCOICHG.TXT: TRS-80 Color Computer "Semigraphics 4" set as mapped by CHR$(). |
| 114 |
COCOSGR4.TXT: TRS-80 Color Computer "Semigraphics 4" set as mapped in memory. |
| 115 |
COCOSGR6.TXT: TRS-80 Color Computer "Semigraphics 6" set as mapped in memory. |
| 116 |
|
| 117 |
The Color Computer, despite being branded as a TRS-80, is a fundamentally |
| 118 |
different computer. The "Semigraphics 4" mode, which is default, has a |
| 119 |
character set organized thusly: |
| 120 |
|
| 121 |
$00 - $1F - light-on-dark ASCII-1983 uppercase |
| 122 |
$20 - $3F - light-on-dark ASCII-1983 punctuation |
| 123 |
$40 - $5F - dark-on-light ASCII-1983 uppercase |
| 124 |
$60 - $7F - dark-on-light ASCII-1983 punctuation |
| 125 |
$80 - $FF - 2x2 block graphics in 8 colors |
| 126 |
|
| 127 |
(The 8 colors are, in order: green, yellow, blue, red, buff, cyan, magenta, |
| 128 |
and orange.) |
| 129 |
|
| 130 |
The CHR$() function uses this mapping: |
| 131 |
|
| 132 |
Interchange => Video |
| 133 |
$00 - $1F => (control characters) |
| 134 |
$20 - $3F => $60 - $7F (dark-on-light punctuation) |
| 135 |
$40 - $5F => $40 - $5F (dark-on-light uppercase) |
| 136 |
$60 - $7F => $00 - $1F (light-on-dark uppercase) |
| 137 |
$80 - $FF => $80 - $FF (2x2 block graphics in 8 colors) |
| 138 |
|
| 139 |
The "Semigraphics 6" mode has 2x3 block graphics at $80-$FF in two colors (blue |
| 140 |
and red), although in a different order from Teletext and the TRS-80. ($00-$7F |
| 141 |
displays as binary vertical line garbage, which is pretty much useless and |
| 142 |
unworthy of encoding.) |
| 143 |
|
| 144 |
|
| 145 |
Commodore PET (PETSCII) |
| 146 |
|
| 147 |
CPETVPRI.TXT: Commodore PET primary character set as mapped in memory. |
| 148 |
CPETVALT.TXT: Commodore PET alternate character set as mapped in memory. |
| 149 |
CPETIPRI.TXT: Commodore PET primary character set as mapped by CHR$(). |
| 150 |
CPETIALT.TXT: Commodore PET alternate character set as mapped by CHR$(). |
| 151 |
|
| 152 |
The PET has REVERSE SOLIDUS where the VIC-20, C64, and C128 have POUND SIGN. |
| 153 |
The PET and VIC-20 have CHECKER BOARD FILL where the C64 and C128 have |
| 154 |
INVERSE CHECKER BOARD FILL, and vice-versa. |
| 155 |
|
| 156 |
The primary character set has uppercase letters where the alternate character |
| 157 |
set has lowercase letters. The primary character set has semigraphics |
| 158 |
characters where the alternate character set has uppercase letters. |
| 159 |
|
| 160 |
The CHR$() function mapping (or "interchange" mapping) maps to the in-memory |
| 161 |
mapping (or "video" mapping) as follows: |
| 162 |
|
| 163 |
Interchange => Video |
| 164 |
$00 - $1F => (control characters) |
| 165 |
$20 - $3F => $20 - $3F |
| 166 |
$40 - $5F => $00 - $1F |
| 167 |
$60 - $7F => $40 - $5F |
| 168 |
$80 - $9F => (control characters) |
| 169 |
$A0 - $BF => $60 - $7F |
| 170 |
$C0 - $DF => $40 - $5F |
| 171 |
$E0 - $FF => $60 - $7F |
| 172 |
|
| 173 |
|
| 174 |
Commodore VIC-20 (PETSCII) |
| 175 |
|
| 176 |
CVICVPRI.TXT: Commodore VIC-20 primary character set as mapped in memory. |
| 177 |
CVICVALT.TXT: Commodore VIC-20 alternate character set as mapped in memory. |
| 178 |
CVICIPRI.TXT: Commodore VIC-20 primary character set as mapped by CHR$(). |
| 179 |
CVICIALT.TXT: Commodore VIC-20 alternate character set as mapped by CHR$(). |
| 180 |
|
| 181 |
The same notes that apply to the Commodore PET apply to the Commodore VIC-20. |
| 182 |
|
| 183 |
|
| 184 |
Commodore 64 and Commodore 128 (PETSCII) |
| 185 |
|
| 186 |
C64VPRI.TXT: Commodore 64 and 128 primary character set as mapped in memory. |
| 187 |
C64VALT.TXT: Commodore 64 and 128 alternate character set as mapped in memory. |
| 188 |
C64IPRI.TXT: Commodore 64 and 128 primary character set as mapped by CHR$(). |
| 189 |
C64IALT.TXT: Commodore 64 and 128 alternate character set as mapped by CHR$(). |
| 190 |
|
| 191 |
The same notes that apply to the Commodore PET apply to the Commodore 64 and |
| 192 |
Commodore 128. |
| 193 |
|
| 194 |
|
| 195 |
HP 264x |
| 196 |
|
| 197 |
HP264XUC.TXT: HP 264x Roman uppercase character set. |
| 198 |
HP264XLC.TXT: HP 264x Roman lowercase character set. |
| 199 |
HP264XMA.TXT: HP 264x math character set. |
| 200 |
HP264XLN.TXT: HP 264x line drawing character set. |
| 201 |
HP264XLG.TXT: HP 264x large text character set. |
| 202 |
|
| 203 |
Each individual character generator ROM in the HP 264x contained 64 characters. |
| 204 |
Characters $00-$3F of the uppercase ROM correspond to ASCII characters $20-$5F. |
| 205 |
Characters $00-$1F of the lowercase ROM correspond to ASCII characters $00-$1F. |
| 206 |
Characters $20-$3F of the lowercase ROM correspond to ASCII characters $60-$7F. |
| 207 |
All mapping files use a straight mapping to $00-$3F. |
| 208 |
|
| 209 |
|
| 210 |
IBM PC (code page 437) |
| 211 |
|
| 212 |
IBMPCVID.TXT: IBM PC code page 437 as mapped in memory. |
| 213 |
IBMPCICH.TXT: IBM PC code page 437 without control characters. |
| 214 |
|
| 215 |
IBMPCVID.TXT includes the graphics characters at $00-$1F and $7F that are |
| 216 |
instead mapped to control characters in the mapping provided by Microsoft. |
| 217 |
IBMPCICH.TXT is identical to the mapping provided by Microsoft but does not |
| 218 |
explicitly list the control characters. |
| 219 |
|
| 220 |
|
| 221 |
Kaypro |
| 222 |
|
| 223 |
KAYPRONV.TXT: Kaypro normal video character set. |
| 224 |
KAYPRORV.TXT: Kaypro reverse video character set. |
| 225 |
|
| 226 |
These include the extra characters at $00-$1F and the 2x4 block |
| 227 |
mosaic characters at $80-$FF. The reverse video version is included |
| 228 |
to provide a full set of 2x4 block mosaic characters. |
| 229 |
|
| 230 |
|
| 231 |
Minitel |
| 232 |
|
| 233 |
MINITLG0.TXT: Minitel G0/G2 text character set. |
| 234 |
MINITLG1.TXT: Minitel G1 graphics character set. |
| 235 |
|
| 236 |
The G0 mapping also includes G2 characters using the SS2 (single shift 2) |
| 237 |
control character ($19). The G1 character set is similar to the Teletext G1 |
| 238 |
character set. |
| 239 |
|
| 240 |
|
| 241 |
MSX |
| 242 |
|
| 243 |
MSXVID.TXT: MSX international character set as mapped in memory. |
| 244 |
MSXICH.TXT: MSX international character set as mapped using control sequences. |
| 245 |
MSXVIDAE.TXT: MSX Arabic character set as mapped in memory. |
| 246 |
MSXICHAE.TXT: MSX Arabic character set as mapped using control sequences. |
| 247 |
MSXVIDAR.TXT: MSX Arabic character set as mapped in memory. |
| 248 |
MSXICHAR.TXT: MSX Arabic character set as mapped using control sequences. |
| 249 |
MSXVIDBG.TXT: MSX Brazilian character set as mapped in memory. |
| 250 |
MSXICHBG.TXT: MSX Brazilian character set as mapped using control sequences. |
| 251 |
MSXVIDBH.TXT: MSX Brazilian character set as mapped in memory. |
| 252 |
MSXICHBH.TXT: MSX Brazilian character set as mapped using control sequences. |
| 253 |
MSXVIDBR.TXT: MSX Brazilian character set as mapped in memory. |
| 254 |
MSXICHBR.TXT: MSX Brazilian character set as mapped using control sequences. |
| 255 |
MSXVIDJP.TXT: MSX Japanese character set as mapped in memory. |
| 256 |
MSXICHJP.TXT: MSX Japanese character set as mapped using control sequences. |
| 257 |
MSXVIDKR.TXT: MSX Korean character set as mapped in memory. |
| 258 |
MSXICHKR.TXT: MSX Korean character set as mapped using control sequences. |
| 259 |
MSXVIDRU.TXT: MSX Russian character set as mapped in memory. |
| 260 |
MSXICHRU.TXT: MSX Russian character set as mapped using control sequences. |
| 261 |
SVI328.TXT: Spectravideo SVI-328 character set as mapped in memory. |
| 262 |
|
| 263 |
National character sets were taken from the following MSX models: |
| 264 |
|
| 265 |
AE: Al Alamiah AX-170 (Arabic with some European characters) |
| 266 |
AR: Bawareth Perfect MSX1, Yamaha AX500 (Arabic with box drawing characters) |
| 267 |
BG: Gradiente Expert XP-800 (Brazilian) |
| 268 |
BH: Sharp Hotbit HB-8000 1.1 (Brazilian) |
| 269 |
BR: Gradiente Expert DDPlus, Sharp Hotbit HB-8000 1.2 (Brazilian) |
| 270 |
JP: Panasonic FS-A1GT, Sony HB-F900 (Japanese) |
| 271 |
KR: Daewoo CPC-400S (Korean) |
| 272 |
RU: Yamaha YIS-503IIIR, Yamaha YIS-805/128R2 (Russian) |
| 273 |
|
| 274 |
The MSX international character set is based on CP437 but has some additional |
| 275 |
punctuation and precomposed letters and a different set of box drawing and |
| 276 |
block element characters. The Japanese character set is based on JIS X 0201 |
| 277 |
but also includes hiragana, a handful of kanji, and some symbols and basic |
| 278 |
box drawing characters. The Arabic character set encodes multiple forms with |
| 279 |
a single character to make the most of the limited code space, so correct |
| 280 |
conversion of Arabic text will require use of the Arabic shaping algorithm. |
| 281 |
|
| 282 |
The memory mapping includes the graphics characters at $00-$1F that are |
| 283 |
accessed with double-byte sequences starting with $01 in the interchange |
| 284 |
mapping. The memory mapping also includes the character at $7F that is |
| 285 |
inaccessible without writing to video memory directly. |
| 286 |
|
| 287 |
The character $FF (or sometimes $7F) is used for the cursor and displays as |
| 288 |
the reverse video variant of the character stored at a designated location in |
| 289 |
RAM. The BIOS keeps the original character under the cursor at this location. |
| 290 |
Since this behavior is not interchangeable, it is left unmapped. |
| 291 |
|
| 292 |
The Spectravideo SVI-328 is a predecessor to the MSX standard. However, |
| 293 |
it is not MSX-compatible and uses a different character set. |
| 294 |
|
| 295 |
|
| 296 |
Sharp MZ series (SharpSCII) |
| 297 |
|
| 298 |
MZ80VJPN.TXT: Sharp MZ-80 Japanese character set by "display code". |
| 299 |
MZ80VEUR.TXT: Sharp MZ-80 European character set by "display code". |
| 300 |
MZ700VJP.TXT: Sharp MZ-700 Japanese primary character set by "display code". |
| 301 |
MZ700VJA.TXT: Sharp MZ-700 Japanese alternate character set by "display code". |
| 302 |
MZ700VEP.TXT: Sharp MZ-700 European primary character set by "display code". |
| 303 |
MZ700VEA.TXT: Sharp MZ-700 European alternate character set by "display code". |
| 304 |
MZ700IJP.TXT: Sharp MZ-700 Japanese primary character set by "ASCII code". |
| 305 |
MZ700IEU.TXT: Sharp MZ-700 European primary character set by "ASCII code". |
| 306 |
|
| 307 |
The Sharp MZ-80 character sets and Sharp MZ-700 primary character sets are |
| 308 |
very similar but differ at certain "display codes" ($40 and $80 in the |
| 309 |
Japanese version and $40, $80, $A4, $A5, $BC, $BE, $BF, and $E5 in the |
| 310 |
European version). |
| 311 |
|
| 312 |
The mapping between "ASCII codes" and "display codes" is nontrivial and rather |
| 313 |
disorganized. For example, although digits and uppercase letters in both |
| 314 |
versions are in order in either mapping, katakana in the Japanese version are |
| 315 |
in order when sorted by "ASCII code" but scrambled when sorted by "display |
| 316 |
code", and lowercase letters in the European version are scrambled when sorted |
| 317 |
by "ASCII code" but in order when sorted by "display code". The mapping is very |
| 318 |
similar between the Japanese and European versions, but differ at "ASCII codes" |
| 319 |
$6C, $6D, $80, $C0, and $C6 (and yet they left the lowercase letters scrambled). |
| 320 |
|
| 321 |
The Sharp MZ-700 actually had 512 characters, with the alternate set made |
| 322 |
accessible on a character-by-character basis by setting a bit in the attribute |
| 323 |
RAM where the background and foreground color were also stored. In the Japanese |
| 324 |
version, the primary set contained katakana where the alternate set contained |
| 325 |
hiragana. In the European version, Japanese characters in the primary set were |
| 326 |
replaced with additional block elements and box drawing characters, whereas the |
| 327 |
entire alternate set was replaced with a rather large assortment of video game |
| 328 |
sprites. The alternate character set was not accessible from BASIC. |
| 329 |
|
| 330 |
The characters unique to the Sharp MZ series are placed in a new block |
| 331 |
U+1CC00-1CEAF Symbols for Legacy Computing Supplement. Characters $36-$39 |
| 332 |
in the European alternate character set, which resemble the ghosts from |
| 333 |
Pac-Man, are mapped to Private Use Area characters due to copyright and |
| 334 |
trademark restrictions. |
| 335 |
|
| 336 |
|
| 337 |
Tangerine Oric series (OricSCII) |
| 338 |
|
| 339 |
ORICG0.TXT: Tangerine Oric G0 text character set. |
| 340 |
ORICG1.TXT: Tangerine Oric G1 graphics character set. |
| 341 |
|
| 342 |
The G1 character set includes user-defined characters at $60-$7F which have |
| 343 |
been mapped to the Private Use Area. The user-defined characters at $70-$7F |
| 344 |
are normally unusable due to the character generator RAM overlapping the |
| 345 |
text screen RAM. |
| 346 |
|
| 347 |
|
| 348 |
Ohio Scientific Superboard II / Challenger series |
| 349 |
|
| 350 |
OSI.TXT: Ohio Scientific character set. |
| 351 |
|
| 352 |
There are some unusual characters in the $00-$1F range. |
| 353 |
|
| 354 |
|
| 355 |
RISC OS |
| 356 |
|
| 357 |
RISCOSI.TXT: RISC OS Latin-1 character set. |
| 358 |
RISCOSV.TXT: RISC OS Latin-1 character set with RISC OS-specific characters. |
| 359 |
RISCOSB.TXT: RISC OS BFont character set. |
| 360 |
RISCEFF.TXT: RISC OS Latin-1 character set used by Electronic Font Foundry. |
| 361 |
|
| 362 |
The RISC OS character set is based on ISO Latin-1 with extra characters at |
| 363 |
$80-$9F. RISCOSV.TXT includes characters specific to the RISC OS user interface |
| 364 |
not included in RISCOSI.TXT. RISCEFF.TXT is similar to RISCOSI.TXT but with |
| 365 |
additional characters and a different mapping used by Electronic Font Foundry, |
| 366 |
a third-party supplier of RISC OS fonts. |
| 367 |
|
| 368 |
RISCOSB.TXT is a separate encoding not based on ISO Latin-1 called the BFont |
| 369 |
encoding. According to the RISC OS Programmer's Reference Manual it was used |
| 370 |
in the BBC Master microcomputer and is retained in RISC OS for compatibility. |
| 371 |
|
| 372 |
|
| 373 |
Robotron Z9001 |
| 374 |
|
| 375 |
ROBOTRON.TXT: Robotron Z9001 character set. |
| 376 |
|
| 377 |
There are duplicate pairs of pseudographics characters at $7F/$FF, $B7/$FB, |
| 378 |
$D0/$EB, $D3/$F1, $DC/$E5, $DF/$F7, and $E2/$F9 that have been mapped to the |
| 379 |
same characters. |
| 380 |
|
| 381 |
|
| 382 |
Sharp X1 |
| 383 |
|
| 384 |
SHARPX1V.TXT: Sharp X1 8-bit character set as mapped in video memory. |
| 385 |
SHARPX1I.TXT: Sharp X1 8-bit character set as output by CHR$(). |
| 386 |
|
| 387 |
The video mapping includes characters in the range $00-$1F that cannot be |
| 388 |
output through the BIOS, only through manipulating video memory directly. |
| 389 |
Notably, the character at $7F can be output through the BIOS. |
| 390 |
|
| 391 |
|
| 392 |
Sinclair QL |
| 393 |
|
| 394 |
SINCLRQL.TXT: Sinclair QL character set. |
| 395 |
|
| 396 |
Several of the Sinclair QL character set's glyphs featured raised small capital |
| 397 |
letters. These have been mapped to MODIFIER LETTER SMALL A-F due to the absence |
| 398 |
of *MODIFIER LETTER CAPITAL C and *MODIFIER LETTER CAPITAL F. |
| 399 |
|
| 400 |
There is a strange character at $B5 that looks like a small capital letter Q |
| 401 |
with a V shape underneath. I've mapped this to a capital letter Q with a |
| 402 |
combining caron below as the closest possible match. |
| 403 |
|
| 404 |
|
| 405 |
Smalltalk |
| 406 |
|
| 407 |
SMLTLK72.TXT: Smalltalk-72 character set. |
| 408 |
SMLTLK78.TXT: Smalltalk-78 character set. |
| 409 |
|
| 410 |
Characters unique to Smalltalk are placed in a new block |
| 411 |
U+1D380-1D3FF Miscellaneous Mathematical and Technical Symbols. |
| 412 |
|
| 413 |
|
| 414 |
Teletext |
| 415 |
|
| 416 |
TELTXTG0.TXT: Teletext G0 English alphanumerics character set. |
| 417 |
TELTXTG1.TXT: Teletext G1 English graphics character set. |
| 418 |
TELTXTG2.TXT: Teletext G2 Latin Supplementary Set. |
| 419 |
TELTXTG3.TXT: Teletext G3 Smooth Mosaics and Line Drawing Set. |
| 420 |
|
| 421 |
See European Telecommunication Standard 300 706 for details. |
| 422 |
|
| 423 |
|
| 424 |
Texas Instruments TI-99/4a |
| 425 |
|
| 426 |
TI994A.TXT: TI-99/4a character set. |
| 427 |
|
| 428 |
The TI-99/4a character set is mostly US-ASCII, except it includes two special |
| 429 |
characters at $1E and $1F and user-defined characters at $7F-$9F. $1E is the |
| 430 |
cursor character, which is mapped to FULL BLOCK. $1F is a block the color of |
| 431 |
the screen border, which, because of how the TI-99/4a's video actually works, |
| 432 |
is best mapped to NO-BREAK SPACE. $7F-$9F are mapped to the Private Use Area. |
| 433 |
|
| 434 |
|
| 435 |
TRS-80 Model I |
| 436 |
|
| 437 |
TRSM1ORG.TXT: TRS-80 Model I, original version, as mapped in memory. |
| 438 |
TRSM1REV.TXT: TRS-80 Model I, revised version, as mapped in memory. |
| 439 |
TRSM1ICH.TXT: TRS-80 Model I as mapped by CHR$() (same for both revisions). |
| 440 |
|
| 441 |
The original version has an opening quotation mark, lowercase letters without |
| 442 |
descenders, and a tilde where the revised version has a pound sign, lowercase |
| 443 |
letters with descenders, and a yen sign. The CHR$() mapping does not have these |
| 444 |
characters at all; it duplicates the uppercase region of the character set |
| 445 |
instead. |
| 446 |
|
| 447 |
|
| 448 |
TRS-80 Model III and Model 4 |
| 449 |
|
| 450 |
TRSM3VIN.TXT: TRS-80 Model III/4 international set as mapped in memory. |
| 451 |
TRSM3VJP.TXT: TRS-80 Model III/4 katakana set as mapped in memory. |
| 452 |
TRSM3VRV.TXT: TRS-80 Model III/4 reverse video set as mapped in memory. |
| 453 |
TRSM3IIN.TXT: TRS-80 Model III/4 international set as mapped by CHR$(). |
| 454 |
TRSM3IJP.TXT: TRS-80 Model III/4 katakana set as mapped by CHR$(). |
| 455 |
TRSM3IRV.TXT: TRS-80 Model III/4 reverse video set as mapped by CHR$(). |
| 456 |
|
| 457 |
The IN and JP sets both have semigraphics at $80-$BF, but the IN set has |
| 458 |
miscellaneous symbols at $C0-$FF whereas the JP set has halfwidth katakana. |
| 459 |
The RV set has no semigraphics at all, but instead has reverse-video versions |
| 460 |
of $00-$7F at $80-$FF. The CHR$() mapping of each set is nearly identical to |
| 461 |
the corresponding memory mapping but has control characters at $00-$1F instead |
| 462 |
of graphics characters. |
| 463 |
|
| 464 |
The Model III and Model 4 include an unidentified character at $FB which has |
| 465 |
been mapped to a character in the Private Use Area. |
| 466 |
|
| 467 |
|
| 468 |
TRS-80 Model 4a |
| 469 |
|
| 470 |
TRSM4AVP.TXT: TRS-80 Model 4a primary character set as mapped in memory. |
| 471 |
TRSM4AVA.TXT: TRS-80 Model 4a alternate character set as mapped in memory. |
| 472 |
TRSM4AVR.TXT: TRS-80 Model 4a reverse video set as mapped in memory. |
| 473 |
TRSM4AIP.TXT: TRS-80 Model 4a primary character set as mapped by CHR$(). |
| 474 |
TRSM4AIA.TXT: TRS-80 Model 4a alternate character set as mapped by CHR$(). |
| 475 |
TRSM4AIR.TXT: TRS-80 Model 4a reverse video set as mapped by CHR$(). |
| 476 |
|
| 477 |
The Model 4 and Model 4a have completely different characters at $00-$1F. |
| 478 |
Otherwise, the primary character set of the Model 4a is identical to the |
| 479 |
international set of the Model 4; however, the Model 4a does not have a |
| 480 |
katakana set and instead has an alternate character set with some Latin-1 |
| 481 |
characters and a completely different set of miscellaneous symbols. |
| 482 |
|
| 483 |
The Model 4a includes two unidentified characters at $1D and $FB which have |
| 484 |
been mapped to characters in the Private Use Area. |
| 485 |
|
| 486 |
|
| 487 |
Sinclair ZX80, ZX81, and ZX Spectrum |
| 488 |
|
| 489 |
ZX80.TXT: Sinclair ZX80 character set. |
| 490 |
ZX81.TXT: Sinclair ZX81 character set. |
| 491 |
ZXSPCTRM.TXT: Sinclair ZX Spectrum character set. |
| 492 |
ZXDESKTP.TXT: Sinclair ZX Spectrum "Desktop" character set. |
| 493 |
ZXFZXPUA.TXT: "FZX" character set with $80-$FF mapped to the Private Use Area. |
| 494 |
ZXFZXLT1.TXT: "FZX" character set with $A0-$FF mapped to Latin-1 (ISO 8859-1). |
| 495 |
ZXFZXLT5.TXT: "FZX" character set with $A0-$FF mapped to Latin-5 (ISO 8859-9). |
| 496 |
ZXFZXKOI.TXT: "FZX" character set with $A0-$FF mapped to KOI-8. |
| 497 |
ZXFZXSLT.TXT: "FZX" character set with $80-$FF mapped to CP1252. |
| 498 |
|
| 499 |
The ZX80 and ZX81 character sets are only defined over $00-$3F and $80-$BF. |
| 500 |
Other code values are used for control characters or BASIC tokens and have no |
| 501 |
mapping to any visible character. The ZX80 and ZX81 have the same printable |
| 502 |
characters but in a different order. |
| 503 |
|
| 504 |
The ZX Spectrum character set, unlike the ZX80 and ZX81 character sets, is |
| 505 |
based on ASCII. It includes semigraphics at $80-$8F and user-defined characters |
| 506 |
at $90-$A4. Characters beyond $A4 are used for BASIC tokens and have no mapping |
| 507 |
to any visible character. The user-defined characters have been mapped to the |
| 508 |
Private Use Area. |
| 509 |
|
| 510 |
"Desktop" is a word processing program for the ZX Spectrum published in 1991 |
| 511 |
by Proxima Software. It uses its own font files with precomposed characters at |
| 512 |
$80-$9D to support Czech. |
| 513 |
|
| 514 |
"FZX" is a royalty-free font format for the ZX Spectrum released in 2013 by |
| 515 |
Andrew Owen and Einar Saukas. The FZX specification supports but does not |
| 516 |
define the encoding for characters $80-$FF. Most FZX fonts that include these |
| 517 |
characters use Latin-1 (ISO 8859-1), Latin-5 (ISO 8859-9), or KOI-8. |