TRS-80 character set

{{Short description|8-bit character set}}

The TRS-80 computer manufactured by Tandy / Radio Shack contains an 8-bit character set. It is partially derived from ASCII, and shares the code points from 32 - 95 on the standard model. Code points 96 - 127 are supported on models that have been fitted with a lower-case upgrade.{{sfn|Heiserman|1983|p=15}}

The character set consists of letters, various numeric and special characters as well as 64 semigraphics called squots (square dots) from a 2×3 matrix. These were located at code points 128 to 191 with bits 5-0 following their binary representation, similar to alpha-mosaic characters in World System Teletext.{{cite web| url=https://www.etsi.org/deliver/etsi_i_ets/300700_300799/300706/01_60/ets_300706e01p.pdf#page=126 | title=ETS 300 706 - Graphics Character Sets}} These characters were used for graphics in games, such as Android Nim.{{sfn|Crawford|2003|p=202}}

Character set

The following table shows the TRS-80 model I character set. Each character is shown with a potential Unicode equivalent. Space and control characters are represented by the abbreviations for their names.

{{chset-table-header1|TRS-80 model I character set{{cite book|title=Level II Basic Manual|year=1978|publisher=Tandy / Radio Shack|pages=C1/C2|url=https://archive.org/stream/Level_II_BASIC_Reference_Manual_1st_Ed._1978_Radio_Shack#page/n111/mode/2up/search/ASCII}}{{Citation|title=L2/19-025: Proposal to add characters from legacy computers and teletext to the UCS|chapter-url=https://www.unicode.org/L2/L2019/19025-terminals-prop.pdf|chapter=TRSM1ICH.TXT|date=2019-01-04}}{{sfn|Heiserman|1983|p=243}}}}
{{chset-left1|0x}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-ctrl1|U+0008 BACKSPACE|BS|fn={{efn|Backspace and erase current character}}}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-ctrl1|U+000A LINE FEED (LF)|LF}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-ctrl1|U+000D CARRIAGE RETURN (CR)|CR}}

|{{chset-ctrl1

con|fn={{efn|Cursor on}}}}

|{{chset-ctrl1

coff|fn={{efn|Cursor off}}}}
{{chset-left1|1x}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-ctrl1

カ|fn={{efn|Toggles Katakana characters (Model III)}}}}

|{{chset-ctrl1

32|fn={{efn|Converts to wide 32 column mode}}}}

|{{chset-ctrl1

←|fn={{efn|Backspace ← Cursor}}}}

|{{chset-ctrl1

→|fn={{efn|Advance → Cursor}}}}

|{{chset-ctrl1

↓|fn={{efn|Downward ↓ linefeed}}}}

|{{chset-ctrl1

↑|fn={{efn|Upward ↑ linefeed}}}}

|{{chset-ctrl1

home|fn={{efn|Move cursor to (0,0), also turns off 32 column mode}}}}

|{{chset-ctrl1

sol|fn={{efn|Move to start of line}}}}

|{{chset-ctrl1

ceol|fn={{efn|Erase to end of line}}}}

|{{chset-ctrl1

ceof|fn={{efn|Erase to end of frame}}}}
{{chset-left1|2x}}

|{{chset-ctrl1|U+0020 SPACE| SP }}

|{{chset-cell1|U+0021 EXCLAMATION MARK|!}}

|{{chset-cell1|U+0022 QUOTATION MARK|" }}

|{{chset-cell1|U+0023 NUMBER SIGN|#}}

|{{chset-cell1|U+0024 DOLLAR SIGN|$}}

|{{chset-cell1|U+0025 PERCENT SIGN|%}}

|{{chset-cell1|U+0026 AMPERSAND|&}}

|{{chset-cell1|U+0027 APOSTROPHE|'}}

|{{chset-cell1|U+0028 LEFT PARENTHESIS|(}}

|{{chset-cell1|U+0029 RIGHT PARENTHESIS|)}}

|{{chset-cell1|U+002A ASTERISK|*}}

|{{chset-cell1|U+002B PLUS SIGN|+}}

|{{chset-cell1|U+002C COMMA|, }}

|{{chset-cell1|U+002D HYPHEN-MINUS|Hyphen-minus

}}

|{{chset-cell1|U+002E FULL STOP|.}}

|{{chset-cell1|U+002F SOLIDUS|/ }}

{{chset-left1|3x}}

|{{chset-cell1|U+0030 DIGIT ZERO|0}}

|{{chset-cell1|U+0031 DIGIT ONE|1}}

|{{chset-cell1|U+0032 DIGIT TWO|2}}

|{{chset-cell1|U+0033 DIGIT THREE|3}}

|{{chset-cell1|U+0034 DIGIT FOUR|4}}

|{{chset-cell1|U+0035 DIGIT FIVE|5}}

|{{chset-cell1|U+0036 DIGIT SIX|6}}

|{{chset-cell1|U+0037 DIGIT SEVEN|7}}

|{{chset-cell1|U+0038 DIGIT EIGHT|8}}

|{{chset-cell1|U+0039 DIGIT NINE|9}}

|{{chset-cell1|U+003A COLON|:}}

|{{chset-cell1|U+003B SEMICOLON|;}}

|{{chset-cell1|U+003C LESS-THAN SIGN|<}}

|{{chset-cell1|U+003D EQUALS SIGN|{{=}}}}

|{{chset-cell1|U+003E GREATER-THAN SIGN|>}}

|{{chset-cell1|U+003F QUESTION MARK|?}}

{{chset-left1|4x}}

|{{chset-cell1|U+0040 COMMERCIAL AT|@}}

|{{chset-cell1|U+0041 LATIN CAPITAL LETTER A|A}}

|{{chset-cell1|U+0042 LATIN CAPITAL LETTER B|B}}

|{{chset-cell1|U+0043 LATIN CAPITAL LETTER C|C}}

|{{chset-cell1|U+0044 LATIN CAPITAL LETTER D|D}}

|{{chset-cell1|U+0045 LATIN CAPITAL LETTER E|E}}

|{{chset-cell1|U+0046 LATIN CAPITAL LETTER F|F}}

|{{chset-cell1|U+0047 LATIN CAPITAL LETTER G|G}}

|{{chset-cell1|U+0048 LATIN CAPITAL LETTER H|H}}

|{{chset-cell1|U+0049 LATIN CAPITAL LETTER I|I}}

|{{chset-cell1|U+004A LATIN CAPITAL LETTER J|J}}

|{{chset-cell1|U+004B LATIN CAPITAL LETTER K|K}}

|{{chset-cell1|U+004C LATIN CAPITAL LETTER L|L}}

|{{chset-cell1|U+004D LATIN CAPITAL LETTER M|M}}

|{{chset-cell1|U+004E LATIN CAPITAL LETTER N|N}}

|{{chset-cell1|U+004F LATIN CAPITAL LETTER O|O}}

{{chset-left1|5x}}

|{{chset-cell1|U+0050 LATIN CAPITAL LETTER P|P}}

|{{chset-cell1|U+0051 LATIN CAPITAL LETTER Q|Q}}

|{{chset-cell1|U+0052 LATIN CAPITAL LETTER R|R}}

|{{chset-cell1|U+0053 LATIN CAPITAL LETTER S|S}}

|{{chset-cell1|U+0054 LATIN CAPITAL LETTER T|T}}

|{{chset-cell1|U+0055 LATIN CAPITAL LETTER U|U}}

|{{chset-cell1|U+0056 LATIN CAPITAL LETTER V|V}}

|{{chset-cell1|U+0057 LATIN CAPITAL LETTER W|W}}

|{{chset-cell1|U+0058 LATIN CAPITAL LETTER X|X}}

|{{chset-cell1|U+0059 LATIN CAPITAL LETTER Y|Y}}

|{{chset-cell1|U+005A LATIN CAPITAL LETTER Z|Z}}

|{{chset-cell1

↑}}

|{{chset-cell1

↓}}

|{{chset-cell1

←}}

|{{chset-cell1

→}}

|{{chset-cell1|U+005F LOW LINE|_}}

{{chset-left1|6x}}

|{{chset-cell1

|style=background:#DDD}}

|{{chset-cell1|U+0061 LATIN SMALL LETTER A|a}}

|{{chset-cell1|U+0062 LATIN SMALL LETTER B|b}}

|{{chset-cell1|U+0063 LATIN SMALL LETTER C|c}}

|{{chset-cell1|U+0064 LATIN SMALL LETTER D|d}}

|{{chset-cell1|U+0065 LATIN SMALL LETTER E|e}}

|{{chset-cell1|U+0066 LATIN SMALL LETTER F|f}}

|{{chset-cell1|U+0067 LATIN SMALL LETTER G|g}}

|{{chset-cell1|U+0068 LATIN SMALL LETTER H|h}}

|{{chset-cell1|U+0069 LATIN SMALL LETTER I|i}}

|{{chset-cell1|U+006A LATIN SMALL LETTER J|j}}

|{{chset-cell1|U+006B LATIN SMALL LETTER K|k}}

|{{chset-cell1|U+006C LATIN SMALL LETTER L|l}}

|{{chset-cell1|U+006D LATIN SMALL LETTER M|m}}

|{{chset-cell1|U+006E LATIN SMALL LETTER N|n}}

|{{chset-cell1|U+006F LATIN SMALL LETTER O|o}}

{{chset-left1|7x}}

|{{chset-cell1|U+0070 LATIN SMALL LETTER P|p}}

|{{chset-cell1|U+0071 LATIN SMALL LETTER Q|q}}

|{{chset-cell1|U+0072 LATIN SMALL LETTER R|r}}

|{{chset-cell1|U+0073 LATIN SMALL LETTER S|s}}

|{{chset-cell1|U+0074 LATIN SMALL LETTER T|t}}

|{{chset-cell1|U+0075 LATIN SMALL LETTER U|u}}

|{{chset-cell1|U+0076 LATIN SMALL LETTER V|v}}

|{{chset-cell1|U+0077 LATIN SMALL LETTER W|w}}

|{{chset-cell1|U+0078 LATIN SMALL LETTER X|x}}

|{{chset-cell1|U+0079 LATIN SMALL LETTER Y|y}}

|{{chset-cell1|U+007A LATIN SMALL LETTER Z|z}}

|{{chset-cell1|U+007B LEFT CURLY BRACKET|{}}

|{{chset-cell1|U+007C VERTICAL LINE|{{pipe}}}}

|{{chset-cell1|U+007D RIGHT CURLY BRACKET|Right curly bracket

}}

|{{chset-cell1|U+007E TILDE|~}}

|{{chset-cell1|U+00B1 PLUS-MINUS SIGN|±}}

|-

|{{chset-left1|8x}}

|{{chset-ctrl1|U+00A0 NO-BREAK SPACE|NBSP}}

|{{chset-cell1|U+1FB00 BLOCK SEXTANT-1|link=🬀}}

|{{chset-cell1|U+1FB01 BLOCK SEXTANT-2|link=🬁}}

|{{chset-cell1|U+1FB02 BLOCK SEXTANT-12|link=🬂}}

|{{chset-cell1|U+1FB03 BLOCK SEXTANT-3|link=🬃}}

|{{chset-cell1|U+1FB04 BLOCK SEXTANT-13|link=🬄}}

|{{chset-cell1|U+1FB05 BLOCK SEXTANT-23|link=🬅}}

|{{chset-cell1|U+1FB06 BLOCK SEXTANT-123|link=🬆}}

|{{chset-cell1|U+1FB07 BLOCK SEXTANT-4|link=🬇}}

|{{chset-cell1|U+1FB08 BLOCK SEXTANT-14|link=🬈}}

|{{chset-cell1|U+1FB09 BLOCK SEXTANT-24|link=🬉}}

|{{chset-cell1|U+1FB0A BLOCK SEXTANT-124|link=🬊}}

|{{chset-cell1|U+1FB0B BLOCK SEXTANT-34|link=🬋}}

|{{chset-cell1|U+1FB0C BLOCK SEXTANT-134|link=🬌}}

|{{chset-cell1|U+1FB0D BLOCK SEXTANT-234|link=🬍}}

|{{chset-cell1|U+1FB0E BLOCK SEXTANT-1234|link=🬎}}

|-

|{{chset-left1|9x}}

|{{chset-cell1|U+1FB0F BLOCK SEXTANT-5|link=🬏}}

|{{chset-cell1|U+1FB10 BLOCK SEXTANT-15|link=🬐}}

|{{chset-cell1|U+1FB11 BLOCK SEXTANT-25|link=🬑}}

|{{chset-cell1|U+1FB12 BLOCK SEXTANT-125|link=🬒}}

|{{chset-cell1|U+1FB13 BLOCK SEXTANT-35|link=🬓}}

|{{chset-cell1|U+258C LEFT HALF BLOCK|link=▌}}

|{{chset-cell1|U+1FB14 BLOCK SEXTANT-235|link=🬔}}

|{{chset-cell1|U+1FB15 BLOCK SEXTANT-1235|link=🬕}}

|{{chset-cell1|U+1FB16 BLOCK SEXTANT-45|link=🬖}}

|{{chset-cell1|U+1FB17 BLOCK SEXTANT-145|link=🬗}}

|{{chset-cell1|U+1FB18 BLOCK SEXTANT-245|link=🬘}}

|{{chset-cell1|U+1FB19 BLOCK SEXTANT-1245|link=🬙}}

|{{chset-cell1|U+1FB1A BLOCK SEXTANT-345|link=🬚}}

|{{chset-cell1|U+1FB1B BLOCK SEXTANT-1345|link=🬛}}

|{{chset-cell1|U+1FB1C BLOCK SEXTANT-2345|link=🬜}}

|{{chset-cell1|U+1FB1D BLOCK SEXTANT-12345|link=🬝}}

|-

|{{chset-left1|Ax}}

|{{chset-cell1|U+1FB1E BLOCK SEXTANT-6|link=🬞}}

|{{chset-cell1|U+1FB1F BLOCK SEXTANT-16|link=🬟}}

|{{chset-cell1|U+1FB20 BLOCK SEXTANT-26|link=🬠}}

|{{chset-cell1|U+1FB21 BLOCK SEXTANT-126|link=🬡}}

|{{chset-cell1|U+1FB22 BLOCK SEXTANT-36|link=🬢}}

|{{chset-cell1|U+1FB23 BLOCK SEXTANT-136|link=🬣}}

|{{chset-cell1|U+1FB24 BLOCK SEXTANT-236|link=🬤}}

|{{chset-cell1|U+1FB25 BLOCK SEXTANT-1236|link=🬥}}

|{{chset-cell1|U+1FB26 BLOCK SEXTANT-46|link=🬦}}

|{{chset-cell1|U+1FB27 BLOCK SEXTANT-146|link=🬧}}

|{{chset-cell1|U+2590 RIGHT HALF BLOCK|link=▐}}

|{{chset-cell1|U+1FB28 BLOCK SEXTANT-1246|link=🬨}}

|{{chset-cell1|U+1FB29 BLOCK SEXTANT-346|link=🬩}}

|{{chset-cell1|U+1FB2A BLOCK SEXTANT-1346|link=🬪}}

|{{chset-cell1|U+1FB2B BLOCK SEXTANT-2346|link=🬫}}

|{{chset-cell1|U+1FB2C BLOCK SEXTANT-12346|link=🬬}}

|-

|{{chset-left1|Bx}}

|{{chset-cell1|U+1FB2D BLOCK SEXTANT-56|link=🬭}}

|{{chset-cell1|U+1FB2E BLOCK SEXTANT-156|link=🬮}}

|{{chset-cell1|U+1FB2F BLOCK SEXTANT-256|link=🬯}}

|{{chset-cell1|U+1FB30 BLOCK SEXTANT-1256|link=🬰}}

|{{chset-cell1|U+1FB31 BLOCK SEXTANT-356|link=🬱}}

|{{chset-cell1|U+1FB32 BLOCK SEXTANT-1356|link=🬲}}

|{{chset-cell1|U+1FB33 BLOCK SEXTANT-2356|link=🬳}}

|{{chset-cell1|U+1FB34 BLOCK SEXTANT-12356|link=🬴}}

|{{chset-cell1|U+1FB35 BLOCK SEXTANT-456|link=🬵}}

|{{chset-cell1|U+1FB36 BLOCK SEXTANT-1456|link=🬶}}

|{{chset-cell1|U+1FB37 BLOCK SEXTANT-2456|link=🬷}}

|{{chset-cell1|U+1FB38 BLOCK SEXTANT-12456|link=🬸}}

|{{chset-cell1|U+1FB39 BLOCK SEXTANT-3456|link=🬹}}

|{{chset-cell1|U+1FB3A BLOCK SEXTANT-13456|link=🬺}}

|{{chset-cell1|U+1FB3B BLOCK SEXTANT-23456|link=🬻}}

|{{chset-cell1|U+2588 FULL BLOCK|link=█}}

|-

|{{chset-left1|Cx}}

|{{chset-cell1|||fn={{efn|192 to 255 are "Space Compression Codes", tabs for 0 to 63 spaces}}}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|-

|{{chset-left1|Dx}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|-

|{{chset-left1|Ex}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|-

|{{chset-left1|Fx}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|{{chset-ctrl1||tab}}

|}

{{notelist}}

References

Citations

{{Reflist|refs=

{{cite journal |title=Radio Shack TRS-80: An Owner's Report |author-first=Dan |author-last=Fylstra |location=Boston, MA, USA |date=April 1978 |journal=BYTE |publisher=BYTE Publications Inc. |pages=49–59 |url=http://www.classiccmp.org/dunfield/trs80/byteap78.pdf |access-date=2017-07-29 |url-status=live |archive-url=https://web.archive.org/web/20170729195442/http://www.classiccmp.org/dunfield/trs80/byteap78.pdf |archive-date=2017-07-29}}

{{cite web |author-first=Ira |author-last=Goldklang |date=2015 |title=Graphic Tips & Tricks |url=http://www.trs-80.com/wordpress/zaps-patches-pokes-tips/graphics/ |access-date=2017-07-29 |url-status=live |archive-url=https://web.archive.org/web/20170729202445/http://www.trs-80.com/trs80-zaps-hardware-model4.htm |archive-date=2017-07-29}}

{{cite web |title=TeleText - Het Protocol |language=Dutch |author=Wiels |url=https://www.wiels.nl/teletext/ |at=Mosaic characters |access-date=2017-12-21 |url-status=live |archive-url=https://web.archive.org/web/20171222002304/https://www.wiels.nl/teletext/ |archive-date=2017-12-22}}

}}

Sources

{{refbegin}}

  • {{cite book|url=https://archive.org/details/Computer_Art_and_Animation_for_the_TRS-80_1983_David_L_Heiserman|title=Computer art and animation for the TRS-80|first=David L.|last=Heiserman|publisher=Prentice-Hall|year=1983|isbn=978-0-131-64749-7}}
  • {{cite book|title=Chris Crawford on Game Design|first=Chris|last=Crawford|publisher=New Riders|year=2003|isbn=978-0-131-46099-7|url-access=registration|url=https://archive.org/details/chriscrawfordong00craw_0}}

{{refend}}

Further reading

  • {{cite web |title=The Ultimate TRS-80 Font

|author-first=Rebecca G. |author-last=Bettencourt |author-link=Rebecca G. Bettencourt |date=2017 |orig-year=2015 |work=Kreative Korporation |url=http://www.kreativekorp.com/software/fonts/trs80.shtml |access-date=2017-07-29 |url-status=live |archive-url=https://web.archive.org/web/20170729205356/http://www.kreativekorp.com/software/fonts/trs80.shtml |archive-date=2017-07-29}}

{{Character encodings}}

Category:Character sets

Category:TRS-80