Полуграфика
Текстовая полуграфика , псевдографика или символьная графика — это примитивный метод, используемый в раннем текстового режима видеооборудовании для эмуляции растровой графики без необходимости реализации логики для такого режима отображения.
Существует два разных способа эмуляции растровой графики. Первый заключается в создании адресного режима всех точек с низким разрешением с использованием набора специальных символов со всеми двоичными комбинациями определенной матрицы подразделения размера символов текстового режима; этот метод называется блочной графикой , [1] или иногда мозаичная графика . [2] [3]
Второй — использовать вместо глифов (букв и цифр) специальные фигуры, которые выглядят так, как будто нарисованы в режиме растровой графики, иногда называемые полу- или псевдографикой ; Важным примером этого являются символы, рисующие прямоугольники .
Полуграфические символы (включая некоторые блочные элементы) по-прежнему включены в BIOS любой VGA- совместимой видеокарты, поэтому любой ПК может отображать эти символы с момента его включения, даже если операционная система еще не загружена. Одиночные и двойные линии по-прежнему часто рисуются этим методом, когда система использует текстовый режим; например, при запуске программы настройки BIOS.
Многие из этих исторических идей были приняты в Unicode , например, в «Символы для устаревших вычислений» , «Блочные элементы» , «Рисование прямоугольников» и «Геометрические фигуры» блоках Unicode . [4]
Блочная графика
[ редактировать ]Например, символ размером 8×12 пикселей можно разделить по вертикали на две половины и по горизонтали на три части, а затем присвоить значения «чернила» и «фон» элементам матрицы в двоичном шаблоне, соответствующем двоичной последовательности символов. позиция в таблице шрифтов 2х3 блочной мозаики [5] матрица так называемых squot (квадратных точек) [6] или секстанты . [7] Менее часто используемые версии используют «матрицу» 1×6, и в этом случае эти шесть «пикселей» иногда называют шестерками . [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.
Если система также поддерживала цвет, цветовое разрешение результирующих пикселей обычно было равно разрешению текста, что часто приводило к конфликту атрибутов , поскольку цвет пикселя нельзя было изменить для каждого пикселя, а только до одного «чернила». и один «фоновый» цвет для всех пикселей внутри позиции символа.
Иногда количество символов в шрифте, предназначенном для блочной графики, можно было бы уменьшить вдвое, если бы система также поддерживала атрибут «инвертировать», поскольку половина символов в наборе полноблочных графических шрифтов является логической инверсией другой половины шрифта. набор. Другие приемы, которые использовались для уменьшения количества необходимых символов, заключались в использовании пробела для символа «все биты равны нулю» и использовании шестнадцатеричного символа 7F для символа «все биты включены», как шестнадцатеричного символа 7F (десятичного числа). 127) часто определялся как символ «все пиксели включены» (это произошло потому, что при использовании бумажной ленты, пробивая все семь отверстий, создавался шестнадцатеричный «байт» 7F, который считался символом «DEL» или «затиранием» ). . [ нужна ссылка ] Присвоение в ASCII символа стирания (кодовой точке 127) побудило разработчиков дисплеев использовать «стирание» для символьного квадрата, заполненного «чернилами», который часто использовался для обозначения курсора. [ нужна ссылка ]
Примеры использования блочной графики
[ редактировать ]Другими примерами систем, основанных на использовании блочной графики, являются:
- Наборы символов ZX80 и ZX81 , в которых использовалась матрица размером 2×2 пикселя, с приемами пробела и инвертирования атрибутов, позволяющими сократить количество необходимых символов в ПЗУ до 7 (из необходимых 16). [11] ZX Spectrum также поддерживал блочную графику, а также «настоящую» графику с более высоким разрешением. Кроме того, на Spectrum системный шрифт (хранящийся в его ПЗУ) можно было легко и мгновенно изменить на шрифт, хранящийся в оперативной памяти, что позволяло программистам определять свои собственные полуграфические символы в соответствии со своими потребностями.
- Другие системы, в которых использовалась матрица 2×2, включали Panasonic JR-200 и Mattel Aquarius . Последний поддерживал не только матричную полуграфику 2×2, но и матричную полуграфику 2×3, хотя и несовершенно, поскольку пиксели полуграфики в среднем ряду персонажа были меньше высоты, чем в верхнем и нижнем рядах, из-за несовершенного разделения 8×. 8-пиксельная символьная матрица.
- Commodore PET также имел несколько символов для поддержки текстовой полуграфики 2 × 2 в своем наборе символов PETSCII . ПЭТ также была одной из первых систем, которые в значительной степени полагались на полуграфические символы для вывода на экран любой формы графики.
- Цветной компьютер TRS -80 и Dragon 32/64 являются хорошими примерами систем, использующих матричную цветную полуграфику 2×2. Но их Motorola 6847 VDC также поддерживал мало используемый 6-блочный полуграфический режим. [12] [13]
- Системы Videotex и телетекста использовали матрицу 2×3, один цвет переднего плана («чернила») и один цвет фона, обычно из набора из восьми цветов (включая черный и белый). Многие системы использовали графику Videotex . Одним из наиболее известных примеров является Acorn BBC Micro графический режим по умолчанию ( режим 7 ). [14] Другими системами, в которых использовалась графика, подобная Videotex, являются: ABC 80 , Grundy NewBrain , многие системы Acorn Eurocard и Philips P2000T , которые фактически использовали чип телетекста , разработанный для их телевизоров.
- Матра Алиса 32, [15] Матра Алиса 90 [16] и Филипс VG5000 [17] были основаны на графическом чипе Thomson EF9345 , способном отображать только буквенно-цифровые и полуграфические символы. [18]
- PC -8001 удалось объединить обычный текст с полным набором из 256 текстовых полуграфических «символов» в матрице 2×4; система отличала набор из 256 полуграфических шаблонов от набора из 256 символов, используемого для «обычных» шрифтов, через байты атрибутов символов . [19]
- Одной из последних видеосистем, где текстовая полуграфика была полезной опцией, был адаптер цветной графики (CGA). Этот графический адаптер для ранних IBM-PC поддерживал только четыре цвета в графическом режиме высокого разрешения, но в текстовом режиме он мог отображать 16 различных цветов. Хотя ПЗУ шрифтов адаптера CGA не содержало всех типичных текстовых полуграфических символов, все же можно было создать текстовый полуграфический режим CGA 160 × 100, используя полудокументированный прием. [20]
Полуграфические персонажи
[ редактировать ]Полуграфические символы — это также символы шрифта, которые призваны создать впечатление, что система может поддерживать графику высокого разрешения, хотя на самом деле система работает в текстовом режиме. Такие символы, как символы для рисования прямоугольников , круги и точки, карточные символы «графических строительных блоков», , такие как ♠, ♣, ♥ и ♦, а также геометрические формы такие как треугольники, придавали таким системам такой внешний вид.
Одной из первых систем, использовавших такие символы, каноническим примером, которому последовали другие, была Commodore PET , многие из которых содержались в наборе шрифтов PETSCII . [21] Оригинальный PET настолько полагался на эти символы, что печатал их на своей клавиатуре, как можно видеть здесь, пример, который вскоре скопировали другие системы.
Еще одним хорошим примером системы, которая опиралась на полуграфические символы, является почтенный Sharp MZ80K , который не имел ни графики высокого разрешения, ни перепрограммируемых символов, но полностью полагался на расширенный набор шрифтов со множеством псевдографических символов. [22] С их помощью все еще можно было создавать игры, которые выглядели так, как будто система имела графику высокого разрешения. [23]
Некоторые из систем, которые имели программируемый набор шрифтов, но не имели аппаратного обеспечения для растровой графики реального высокого разрешения, поставлялись с наборами символов по умолчанию, которые можно было загрузить в ОЗУ набора символов, и эти наборы часто включали в себя упомянутые здесь идеи, хотя часто это было также случай, когда при необходимости были определены специальные полуграфические символы.
Системы, основанные на полуграфических символах
[ редактировать ]Примеры систем, которые в значительной степени полагались на полуграфические символы в своей графике:
- Исходный IBM PC с MDA не предлагал никакой другой формы графики, кроме символов рисования прямоугольников его аппаратной кодовой страницы 437 по умолчанию .
- Commodore PET была одной из первых систем, которая в значительной степени полагалась на полуграфические символы для вывода на экран любой формы графики (см. PETSCII ).
- Sinclair размытом ZX80 и ZX81 использовали блочные графические символы для создания графики с низким разрешением 64 × 48 пикселей в черно-белом режиме или 32 × 48 пикселей в черном, белом и сером цветах, как это видно в наборе символов ZX80 и наборе символов ZX81 .
- Mattel Aquarius полностью полагался на свой набор символов для игр, хотя продавался через магазины игрушек. Он так и не стал коммерческим успехом отчасти из-за этого ограничения, которое на тот момент устарело (см. набор символов Mattel Aquarius ). [24]
- В Panasonic JR-200 также использовались полуграфические символы в сочетании с блочной графикой (см. набор символов серии Matsushita JR ).
- Серия компьютеров Sharp MZ не предлагала никаких программируемых символов или символов высокого разрешения, но имела очень полный набор полуграфических символов (см. Набор символов Sharp MZ ). - и так еще предлагалось много визуально приятных игр [25]
- Матра Алиса 32 и 90; и Philips VG5000 (см. набор символов Thomson EF9345 ).
- Compukit UK101 (клон популярной суперплаты Ohio Scientific) также была очень ранней системой, в которой использовался набор из 256 символов.
- Текстовые режимы более поздних компьютеров Apple II, начиная с Apple IIc и расширенной версии Apple IIe , поддерживали набор символов MouseText , который при включении заменял мигающие символы верхнего регистра. Хотя эти системы Apple не использовали эти наборы символов, они все же играли роль в моделировании графического пользовательского интерфейса, например графики более продвинутых членов своего семейства, все еще в текстовом режиме.
См. также
[ редактировать ]- Символы устаревших вычислений
- ANSI искусство
- Альфа-мозаичный персонаж
- Персонаж, рисующий коробку
- Кодовая страница 437
- Список домашних компьютеров по видеооборудованию
- Текстовый режим
- Сиксель
- ПЕТСКИИ
- ПРИЛОЖЕНИЯ
- Наборы символов калькулятора TI
Ссылки
[ редактировать ]- ^ «RTRussell: BBC BASIC для Windows» . www.bbcbasic.co.uk .
- ^ Фрейтаг (в), Асмус (13 октября 2020 г.). «Мозаичная графика, разделенная телетекстом» .
- ^ Спецификация расширенного телетекста (PDF) . Европейский институт телекоммуникационных стандартов. 1997. с. 6.
- ^ «Блок Юникода U25A0 содержит геометрические фигуры» (PDF) .
- ^ https://www.etsi.org/deliver/etsi_i_ets/300001_300099/300072/01_60/ets_300072e01p.pdf
- ^ Гольдкланг, Ира (2015). «Графические советы и рекомендации» . Архивировано из оригинала 29 июля 2017 г. Проверено 29 июля 2017 г.
- ^ Перейти обратно: а б Юэлл, Дуг ; Бетанкур, Ребекка Г .; Банфи, Рикардо; Эверсон, Майкл ; Сильва, Эдуардо Марин; Мортенсон, Элиас; Шоулсон, Марк; Стил, Шон; Тернер, Ребекка (4 января 2019 г.). «5. Графические символы». Предложение добавить в UCS символы с устаревших компьютеров и телетекст (PDF) . Рабочая группа по терминалам (TWG), Международная организация по стандартизации . п. 3. Л2/19-25. Архивировано (PDF) из оригинала 24 декабря 2020 г. Проверено 11 января 2021 г. п. 3:
Слово «секстант» используется в этом документе по аналогии с «квадрантом» — термином, используемым для некоторых символов UCS с 1999 года — для обозначения полуграфического блока, состоящего из шести меньших блоков или «ячеек», расположенных в два столбца и три ряда. В спецификации телетекста символы этой группы могли отображаться либо со соединенными вместе ячейками, как существующие символы квадранта, либо с узким промежутком между ячейками. Эмулятор телетекста может интерпретировать управляющий символ U+001A («разделенная графика») для отображения пространства между ячейками или U+0019 («непрерывная графика») для возврата к объединенному виду по умолчанию.
{{cite book}}
:|work=
игнорируется ( помогите ) - ^ «Еженедельные мероприятия JayceLand в Рочестере № 191: All White Sixel» . jayceland.com .
- ^ "Музей OLD-COMPUTERS.COM ~ GALAKSIJA Программное обеспечение Galaksija и скриншоты" . Смотрите второе изображение сверху. На изображении видна небольшая разница в высоте некоторых «пикселей» . Проверено 27 января 2014 г.
- ^ «Описание графики блока ТРС-80» .
- ^ Технические подробности Набор символов ZX-81 и блочная графика.
- ^ «Режим отображения CoCo Semi-graphics-6» .
- ^ «Режим отображения полуграфики-6» . 14 февраля 2021 г. Архивировано из оригинала 14 февраля 2021 г.
- ^ «RTRussell: BBC BASIC для Windows» . www.bbcbasic.co.uk .
- ^ «МАТРА АШЕТТ > АЛИСА» . Архивировано из оригинала 03 октября 2021 г. Проверено 3 октября 2021 г.
- ^ «МАТРА АШЕТТ > АЛИСА 90» . Архивировано из оригинала 03 октября 2021 г. Проверено 3 октября 2021 г.
- ^ "ле VG5000μ" . Архивировано из оригинала 21 августа 2021 г. Проверено 3 октября 2021 г.
- ^ «ОДНОЧИСЛИТЕЛЬНЫЙ ПОЛУГРАФИЧЕСКИЙ ПРОЦЕССОР EF9345 HMOS2, SGS Thomson, март 1995 г.» (PDF) . Архивировано (PDF) из оригинала 26 июля 2021 г. Проверено 12 июня 2021 г.
- ^ http://mydocuments.g2.xrea.com/html/p8/vraminfo.html (Источник на японском языке; соответствующее предложение: «В атрибутах установлены начальная позиция и бит полуграфической спецификации = 1, а текстовое VRAM Это примерно переводится как «В начальной позиции полуграфического режима, как только соответствующий бит атрибута будет установлен в единицу, в VRAM будет записан точечный шаблон для кода символа вместо [графической буквы по умолчанию]» .
- ^ Технический справочник IBM PC XT , IBM, 1983, стр. 1-142 , получено 24 августа 2018 г.
- ^ Руководство Commodore C64: Справочное руководство для программистов Commodore 64 , Commodore, 1983, стр. 379 , получено 24 августа 2018 г.
- ^ «В записи на сайте old-computers.com о Sharp MZ80K упоминается отсутствие графических возможностей» .
- ^ «Sharp MZ80K — игра BASE ZERO» . 29 января 2010 г. – через www.youtube.com.
- ^ «Домашний компьютер Mattel Aquarius» . www.vdsteenoven.com .
- ^ «В играх на МЗ-80К использовался большой набор полуграфических персонажей» .