stringtranslate.com

Набор символов ZX81

Набор символов ZX81 — это кодировка символов, используемая семейством микрокомпьютеров Sinclair Research ZX81, включая Timex Sinclair 1000 и Timex Sinclair 1500. Кодировка использует один байт на символ для 256 кодовых точек. Она не имеет отношения к ранее установленным, таким как ASCII или EBCDIC , но она связана, хотя и не идентична, с набором символов предшественника ZX80 .

Печатные символы

Снимок экрана программы ZX81 8K BASIC , демонстрирующей все кодовые точки, включая ключевые слова BASIC и непечатаемые символы, отображенные в виде вопросительных знаков.

Набор символов содержит 64 уникальных глифа, представленных в кодовых точках 0–63. При установке самого старшего бита символ генерируется в инверсном видео ; соответствующем кодовым точкам 128–191. Эти 128 значений являются единственными отображаемыми значениями, разрешенными в видеопамяти (известной как файл отображения). Остальные кодовые точки (64–127 и 192–255) используются в качестве управляющих символов, таких как 118 для новой строки или, уникально для Sinclair BASIC , для ключевых слов, в то время как некоторые из них не используются.

Небольшой эффективный диапазон, состоящий всего из 64 уникальных глифов, исключает поддержку латинских строчных букв и многих символов, широко используемых в вычислительной технике, таких как восклицательный знак и знак at . Отсутствие апострофа привело к тому, что некоторые авторы программного обеспечения стали использовать вместо него запятую.

Существует 11 блочных графических символов, включая кодовую точку 0, которая также служит пробелом. Первые 8 из них вместе с их 8 инвертированными видеоверсиями (16 кодовых точек) обеспечивают каждую комбинацию ячейки символа, разделенной на 2×2 черно-белых блочных пикселя для графики с низким разрешением 64×48 пикселей. Эти блоки 2×2 присутствуют в блоке Unicode Block Elements . Дополнительные 3 символа обеспечивают ячейку, разделенную на 1×2 черных, белых или размываемых серых широких блочных пикселя. Они в сочетании с их инвертированными видеоверсиями и некоторыми из предыдущих блоков 2×2 обеспечивают разрешение 32×48 с 3 уровнями (белый, размываемый серый, черный). Основные 11 символов плюс их инвертированные видеоверсии составляют в общей сложности 22 блочных графических символа. Размытые символы (их 6) также доступны в Unicode (в основном в блоке «Символы для устаревших вычислений» ), но только в версиях Unicode 13.0 и более новых, доступных с 2020 года.

Кодовая точка 11 представляет собой символ двойной кавычки (") при использовании в файле отображения. Функция BASIC CHR$ 192печатается как тот же символ, но отображается как "" в исходных листингах BASIC; она используется для включения буквального символа " в строку без конфликта с разделителем строки ". [1]

Изменения по сравнению с ZX80

Набор символов в ZX81 был получен из набора символов ZX80 . Они имеют в основном те же самые кодовые точки, например, для AZ и 0-9, но кодовые точки отличаются для символов блочной графики, символов ", -, +, *, /, =, >, < и ключевых слов BASIC (с добавлением многих новых). Также есть изменения в управляющих символах. Кодовая точка 1 больше не является непечатаемым символом конца строки. ZX81 8K BASIC ROM также был доступен в качестве обновления для ZX80, заменив его целочисленный 4K BASIC ROM. [2]

Системный шрифт ZX81 использует сетку 8×8 пикселей на символ, где большинство глифов помещаются в 6×6 пикселей, оставляя два пикселя горизонтального и вертикального пространства между строками и столбцами. ПЗУ ZX80, которое имело немного более широкие 7×6 пикселей глифов с только одним пикселем горизонтального пространства между ними. Некоторые глифы также получили другой дизайн в системном шрифте ZX81, заметный на *, перечеркнутом и менее закругленном 0 и менее закругленных $, C, G и J.

В более поздних моделях ZX Spectrum вся кодировка символов была заменена набором символов ZX Spectrum , который является производным от ASCII и включает в себя строчные буквы и многое другое.

Набор символов

В следующей таблице показан набор символов ZX81. Каждый символ показан с потенциальным эквивалентом Unicode . Пробелы и управляющие символы представлены сокращениями их названий.

Смотрите также

Примечания

  1. ^ ab Кодовая точка 11 — это символ двойной кавычки (") при использовании в видеопамяти (называемой файлом отображения). Кодовая точка 192, CHR$ 192, печатается как тот же символ, но отображается как "" в листингах BASIC и используется для включения буквального символа " в строку без конфликта с разделителем строки ". [1]
  2. ^ Многосимвольный оператор возведения в степень , токенизированный в однобайтовую кодовую точку.
  3. ^ Многосимвольный оператор «больше или равно», преобразованный в однобайтовую кодовую точку.
  4. ^ Многосимвольный оператор «меньше или равно», преобразованный в однобайтовую кодовую точку.
  5. ^ Многосимвольный оператор знака «не равно» , преобразованный в однобайтовую кодовую точку.

Ссылки

  1. ^ abc Викерс, Стивен (1981). Программирование Sinclair ZX81 BASIC. Sinclair Research Ltd.
  2. ^ "ОБНОВЛЕНИЕ 8K BASIC ROM".
  3. ^ Уэрмут, Джефф. «Ассемблерный листинг операционной системы ZX81 ROM». Архивировано из оригинала 15 августа 2015 г.