stringtranslate.com

Полуграфика

Изображение получено с помощью блочной графики MDA
Цветное изображение, полученное с помощью полуграфических символов телетекста

Текстовая полуграфика , псевдографика или символьная графика — это примитивный метод, использовавшийся в ранних видеоаппаратных средствах текстового режима для эмуляции растровой графики без необходимости реализации логики для такого режима отображения.

Существует два различных способа эмуляции растровой графики. Первый заключается в создании адресуемого режима со всеми точками низкого разрешения с использованием набора специальных символов со всеми бинарными комбинациями определенной матрицы подразделения размера символа текстового режима; этот метод называется блочной графикой [ 1] или иногда мозаичной графикой [2] [3 ]

Второй способ заключается в использовании специальных фигур вместо глифов (букв и цифр), которые выглядят так, как будто нарисованы в режиме растровой графики, иногда их называют полу- или псевдографикой ; важным примером этого являются символы, нарисованные в виде рамок .

Полуграфические символы (включая некоторые блочные элементы) по-прежнему включены в BIOS любой совместимой с VGA видеокарты, поэтому любой ПК может отображать эти символы с момента включения, даже если операционная система еще не загружена. Одинарные и двойные линии по-прежнему часто рисуются этим методом, когда система использует текстовый режим; например, при запуске программы настройки BIOS.

Многие из этих исторических идей были приняты в Unicode , например, в символах для устаревших вычислений , блочных элементах , чертежах коробок и геометрических фигурах блоков Unicode . [4]

Блочная графика

Пример отображения набора символов, демонстрирующего блочную графику, используемую в цветном компьютере TRS-80 (CoCo), Laser 210 и Dragon 32/64

Например, символ размером 8×12 пикселей можно разделить по вертикали на две половины и по горизонтали на три части, а затем присвоить значения «чернила» и «фона» элементам матрицы в двоичном шаблоне, соответствующем двоичной последовательности позиции в таблице шрифтов матрицы мозаики блоков 2×3 [5] так называемых squots (квадратных точек) [6] или секстантов . [7] Менее часто используемые версии используют «матрицу» 1×6, и в этом случае эти шесть «пикселей» иногда называют sixels . [8] Но деление символа размером 8×8 на 2×2 «пикселя», называемых квадрантами [7], также было распространено (например, оно использовалось в Sinclair ZX81 ).

Иногда полуграфические символы текста просто включаются в системный набор шрифтов, иногда используется специальное видеооборудование для прямого преобразования битового шаблона из видеопамяти в пиксели. В редких случаях матрица символов не делилась вертикально на три, например, в матрице 8×8 мозаика иногда делится так, что она использует схему строк сканирования 3:2:3. Графический режим Galaksija является примером, хотя при схеме 4:5:4 эффект искажения был минимальным. [9]

Основополагающее применение этой технологии было в TRS-80 , где единственным способом получить дискретные пиксели на экране, которые можно было бы включать и выключать по отдельности (все точки адресуемые), было использование матрицы пикселов 2×3 блочной графики. В случае TRS-80 эта блочная графика не была включена в шрифтовое ПЗУ, как позже стало нормой, а генерировалась непосредственно из логической схемы из шести бит из видеопамяти с использованием выделенной схемы, сделанной из логических вентилей . [10] Более ранней системой, использующей тот же псевдографический массив матрицы 2×3, был интерфейс видеотерминала (VTI) Poly -88 от полиморфных систем , система на основе шины S-100 , предшествовавшая TRS-80.

Если система также поддерживала цвет, цветовое разрешение полученных пикселей обычно было равно разрешению текста, что часто приводило к конфликту атрибутов , поскольку цвет пикселя нельзя было изменить на основе каждого пикселя, а можно было задать только один цвет «чернил» и один цвет «фона» для всех пикселей в пределах позиции символа.

Иногда количество символов в шрифте, предназначенном для блочной графики, можно было бы уменьшить вдвое, если бы система также поддерживала атрибут «invert», так как половина символов в наборе шрифтов полной блочной графики являются логической инверсией другой половины набора шрифтов. Другие приемы, которые использовались для уменьшения количества необходимых символов, заключались в использовании пробела для символа «все биты равны нулю» и использовании символа 7F hex для символа «все биты включены», так как символ 7F hex (десятичное 127) часто определялся как символ «все пиксели включены» (это было связано с тем, что при использовании бумажной ленты, пробивая все семь отверстий, создавался 7F hex «байт», который считался символом «DEL» или «стирания» ). [ необходима цитата ] Назначение в ASCII символа стирания (кодовой точке 127) привело к тому, что проектировщики VDU использовали «стирание» для квадрата символа, заполненного «чернилами», который часто использовался для представления курсора. [ необходима ссылка ]

Примеры использования блочной графики

Набор текстовых блоков графики ZX-81

Другие примеры систем, использующих блочную графику:

Полуграфические символы

Полуграфические персонажи, используемые в игре Kingdom of Kroz
Таблица PETSCII, отображаемая на C64 в смещенном и несмещенном режимах. (Не показаны коды управления, а также символы в диапазоне $C0–$FF, которые являются стандартными кодами клавиш верхнего регистра, возвращаемыми с клавиатуры, и которые зеркально отражаются в диапазоне $60–$7F.)
Клавиатура PET 2001 имеет полуграфические символы, обозначенные для удобства ввода.

Полуграфические символы также являются символами в шрифте, которые призваны создавать впечатление, что система может поддерживать графику высокого разрешения, в то время как на самом деле система работает в текстовом режиме. Такие символы, как символы рисования коробок , круги и точки, символы карт , такие как ♠, ♣, ♥ и ♦, и геометрические фигуры «графических строительных блоков», такие как треугольники, придавали таким системам такой вид.

Одной из первых систем, использовавших такие символы, каноническим примером, которому последовали другие, была Commodore PET , в которой многие из них были в наборе шрифтов PETSCII . [21] Оригинальная PET в такой степени полагалась на эти символы, что печатала их на своей клавиатуре, как можно увидеть здесь, пример, который вскоре скопировали и другие системы.

Другим хорошим примером системы, которая полагалась на полуграфические символы, является почтенный Sharp MZ80K , который не имел графики высокого разрешения, ни перепрограммируемых символов, но полностью полагался на расширенный набор шрифтов со множеством псевдографических символов. [22] С ними все еще можно было генерировать игры, которые выглядели так, как будто система имела графику высокого разрешения. [23]

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

Системы, основанные на полуграфических символах

Примерами систем, в графике которых активно использовались полуграфические символы, являются:

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

Ссылки

  1. ^ "RTRussell: BBC BASIC для Windows". www.bbcbasic.co.uk .
  2. ^ Фрейтаг (c), Асмус (2020-10-13). «Телетекст, разделенный мозаичной графикой».
  3. ^ Расширенная спецификация телетекста (PDF) . Европейский институт стандартов в области телекоммуникаций. 1997. стр. 6.
  4. ^ Стандарт Unicode, версия 15.1 — Геометрические фигуры (PDF) . Unicode, Inc. 2023.
  5. ^ ETS 300 072 - Терминальное оборудование (TE); Протокол уровня представления Videotex Синтаксис данных уровня представления Videotex (PDF) . Европейский институт стандартов в области телекоммуникаций (опубликовано в 1996 году). 1990.
  6. ^ Goldklang, Ira (2015). "Graphic Tips & Tricks". Архивировано из оригинала 29-07-2017 . Получено 29-07-2017 .
  7. ^ ab Ewell, Doug ; Bettencourt, Rebecca G.; Bánffy, Ricardo; Everson, Michael ; Silva, Eduardo Marín; Mårtenson, Elias; Shoulson, Mark; Steele, Shawn; Turner, Rebecca (2019-01-04). "5. Графические символы". Предложение добавить символы из устаревших компьютеров и телетекста в UCS (PDF) . Terminals Working Group (TWG), Международная организация по стандартизации . стр. 3. L2/19-25. Архивировано (PDF) из оригинала 2020-12-24 . Получено 2021-01-11 . стр. 3: Слово «секстант» используется в этом документе по аналогии с «квадрантом» — термином, используемым для определенных символов UCS с 1999 года — для обозначения блока полуграфики, состоящего из шести меньших блоков или «ячеек», расположенных в два столбца и три строки. В спецификации телетекста символы в этой группе могут отображаться либо с ячейками, соединенными вместе, как в случае с существующими символами квадранта, либо с узким пространством между ячейками. Эмулятор телетекста может интерпретировать управляющий символ U+001A («разделенная графика») для отображения пространства между ячейками или U+0019 («смежная графика») для возврата к виду по умолчанию, соединенному {{cite book}}: |work=проигнорировано ( помощь )
  8. ^ "Еженедельные события JayceLand в Рочестере #191: All White Sixel". jayceland.com .
  9. ^ "OLD-COMPUTERS.COM Museum ~ GALAKSIJA Galaksija software & screens". Смотрите второе изображение сверху. На изображении видна небольшая разница в высоте некоторых "пикселей" . Получено 27.01.2014 .
  10. ^ "Описание блочной графики TRS-80".
  11. ^ Технические подробности Набор символов и блочная графика ZX-81
  12. ^ "Режим отображения CoCo Semi-graphics-6".
  13. ^ "Режим отображения Semi-graphics-6". 2021-02-14. Архивировано из оригинала 2021-02-14.
  14. ^ "RTRussell: BBC BASIC для Windows". www.bbcbasic.co.uk .
  15. ^ "MATRA HACHETTE > ALICE". old-computers.com . Архивировано из оригинала 2021-10-03 . Получено 2021-10-03 .
  16. ^ "MATRA HACHETTE > ALICE 90". old-computers.com . Архивировано из оригинала 2021-10-03 . Получено 2021-10-03 .
  17. ^ Эрвье, Карл; Ванлиерде, Стефан (204). «ле VG5000μ». Страница поклонников VG5000μ . Архивировано из оригинала 21 августа 2021 г. Проверено 3 октября 2021 г.
  18. ^ EF9345 - ОДНОКРИСТАЛЛИЧЕСКИЙ ПРОЦЕССОР ПОЛУГРАФИЧЕСКОГО ДИСПЛЕЯ HMOS2 (PDF) . SGS-THOMSON Microelectronics. Март 1995 г.
  19. ^ Программирование PC-8801 — Информация о VRAM (Источник на японском языке; соответствующее предложение: «アトリビュートに開始位置とセミグラフィック指定ビット=1 を立てて、)テキスト VRAM には文字コードの代わりにドットパターンを書き込みます。" This примерно переводится как «В начальной позиции полуграфического режима, как только соответствующий бит атрибута установлен в значение один, вместо [графической буквы по умолчанию] в видеопамять будет записан точечный рисунок для кода символа." )
  20. ^ IBM PC XT Technical Reference, IBM, 1983, стр. 1-142 , получено 24 августа 2018 г.
  21. Руководство Commodore C64: Справочное руководство программиста Commodore 64, Commodore, 1983, стр. 379 , получено 24 августа 2018 г.
  22. ^ "В статье на сайте old-computers.com о Sharp MZ80K упоминается отсутствие графических возможностей".
  23. ^ "Sharp MZ80K - игра BASE ZERO". 2010-01-29 – через www.youtube.com.
  24. ^ "Mattel Aquarius Homecomputer system". www.vdsteenoven.com .
  25. ^ «Игры на MZ-80K полагались на его большой набор полуграфических символов».