Sharp MZ character sets are character sets made by Sharp Corporation for Sharp MZ computers. The European and Japanese versions of the software use different character sets.
Implementation
On Sharp MZ computers, there are two types of character sets: An interchange character set (called an "ASCII code" in the documentation[1][2]) and a display character set. The interchange set is primarily used for keyboard input, while the display sets are primarily used for rendering text on the screen. Additionally, the European and Japanese versions of the software have different characters in each of their tables.
On MZ-700 and MZ-800 series computers, there are two distinct display character sets: the primary and alternate character tables. The alternate display table is accessible by setting a bit associated with the character in V-RAM, located in the same part of memory that controls the color and background color of the character.[3][4] Characters from the alternate display character set are not supported by the BASIC interpreter and cannot be typed directly from the keyboard; instead, they can be displayed by using the BASIC command POKE.[5][6][1] In the Japanese version, the primary set contains katakana and uppercase Latin letters, while the alternate set contains hiragana and lowercase Latin letters. In the European version, many of the characters in the primary Japanese set are replaced (including all Japanese language characters), and the lowercase Latin letters are now included in the primary set; the entire alternate Japanese set is replaced.[4]
European
MZ-700/MZ-800
The following tables show the character sets used by European Sharp MZ-700/MZ-800 character sets. Each character is shown with a potential Unicode equivalent. Space and control characters are represented by the abbreviations for their names.
Interchange
In both the European and Japanese versions, the code points in the range 0x20 to 0x5F of the interchange character set exactly match the printable characters in the 1963 version of ASCII.
^ abcdeSprites for the ghost from Pac-Man. Excluded from Unicode due to intellectual property concerns. The proposal to include additional Sharp MZ characters in Unicode recommends that these characters be mapped to the Private Use Area.[12]
MZ-80K
Interchange
The MZ-80K's European interchange character set is extremely similar to the MZ-700/MZ-800 European interchange character set, differing only at 0x80, 0x8B, 0x90, 0x93, 0x94, 0xBE, and 0xC0.[13]
Not included in Unicode as of Unicode 15. Approved for Unicode 16.0 at the specified Unicode codepoint.
Display
The MZ-80K's European display character set is extremely similar to the MZ-700/MZ-800 European primary display character set, differing only at 0x40, 0x80, 0xA4, 0xA5, 0xBC, 0xBE, 0xBF, and 0xE5.[13] (0xDC differs in appearance, but semantically remains the symbol for delete.)[9][14]
The MZ-80A's European interchange character set is extremely similar to the MZ-700/MZ-800 European interchange character set, differing only at 0x6C, 0x6D, 0x7F and 0x90.[13][15]
Not included in Unicode as of Unicode 15. Approved for Unicode 16.0 at the specified Unicode codepoint.
Display
The MZ-80A's European display character set is extremely similar to the MZ-700/MZ-800 European primary display character set, differing only at 0xBF, 0xE5 and 0xF0.[13][15]
The code points in the range 0x20 to 0x7E mostly match the printable characters in ASCII; however, 0x5F is an overline instead of an underscore. Likewise, 0xA0 to 0x7E are the inverse video counterparts of these characters.
The following tables show the character sets used by Japanese Sharp MZ-700/MZ-800 character sets. Each character is shown with a potential Unicode equivalent. Space and control characters are represented by the abbreviations for their names.
Interchange
In both the European and Japanese versions, the code points in the range 0x20 to 0x5F of the interchange character set exactly match the printable characters in the 1963 version of ASCII.
The MZ-80 series' Japanese interchange character set is extremely similar to the MZ-700/MZ-800 Japanese interchange character set, differing only at 0x80 and 0xC0.[20][23][24]
Not included in Unicode as of Unicode 15. Approved for Unicode 16.0 at the specified Unicode codepoint.
Display
The MZ-80 series' Japanese display character set is extremely similar to the MZ-700/MZ-800 Japanese primary display character set, differing only at 0x40 and 0x80.[21][25]
^ abcBettencourt, Rebecca; Ewell, Doug; Bánffy, Ricardo; Everson, Michael; Hietaniemi, Jarkko; Marín Silva, Eduardo; Mårtenson, Elias; Shoulson, Mark; Steele, Shawn; Turner, Rebecca (2021-12-20), "ReadMe.txt", L2/21-235: Proposal to add further characters from legacy computers and teletext to the UCS(PDF), The Unicode Consortium, The Sharp MZ-700 actually had 512 characters, with the alternate set made accessible on a character-by-character basis by setting a bit in the attribute RAM where the background and foreground color were also stored. In the Japanese version, the primary set contained katakana where the alternate set contained hiragana. In the European version, Japanese characters in the primary set were replaced with additional block elements and box drawing characters, whereas the entire alternate set was replaced with a rather large assortment of video game sprites. The alternate character set was not accessible from BASIC.