Jump to content

Мода в 13:00

Имитированное изображение, отображаемое в режиме VGA с разрешением 13 часов и цветовыми возможностями (соотношение сторон не корректируется).
256-цветная палитра VGA по умолчанию

Режим 13h — это стандартный 256-цветный режим VGA, графического оборудования представленный в 1987 году вместе с IBM PS/2 . Он имеет разрешение 320×200 пикселей . [1] Он использовался в компьютерных играх и программном обеспечении для рисования / анимации в конце 1980-х - начале-середине 1990-х годов. [ нужна ссылка ] «13h» относится к номеру режима в VGA BIOS . «h» означает шестнадцатеричное число .

Режим 13h предоставляет программистам линейный размером 320×200 блок видеопамяти , где каждый байт представляет один пиксель. Это упрощает программирование за счет доступа к другим полезным функциям оборудования VGA.

Учитывая соотношение сторон экрана с 320 × 200 разрешением для использования на дисплее 4:3 , режим 13h не имеет квадратных пикселей . [2]

Технические детали

[ редактировать ]

Режим 13h представляет собой нечто любопытное, поскольку VGA — это планарное устройство с аппаратной точки зрения и не подходит для сложных графических операций. VGA имеет 256 КиБ видеопамяти, состоящей из 4 банков по 64 КиБ, известных как плоскости (или «карты» в документации IBM). Планарное расположение памяти разделяет пиксели по горизонтали на группы по четыре. Для любого данного байта в апертуре видеопамяти ПК объемом 64 КиБ можно получить доступ к четырем пикселям на экране, выбрав необходимую плоскость (плоскости). Это сложнее для программиста, но позволяет получить доступ ко всей доступной видеопамяти и другим преимуществам (см. Режим X ).

Однако режим 13h позволяет программисту получать доступ к VGA «кусковым» (линейным) способом, где каждый последовательный адрес в апертуре представляет собой последовательный пиксель на экране. Не нужно манипулировать плоскостями, чтобы выбрать правильные пиксели для изменения или чтения. Это достигается с помощью настройки VGA «Цепочка 4», в которой два младших бита 16-битного апертурного адреса используются для выбора плоскости для записи/чтения. В результате у программиста есть простая модель доступа; недостатком является то, что теперь только 2 14 (16 КиБ) адресного пространства видеоплоскости доступны (остальные 2 бита используются для выбора плоскостей), поэтому адресуемым в общей сложности является только 64 КиБ (4 × 16 КиБ). Верхние 48 КиБ каждой плоскости в этом режиме остаются неиспользованными.

В отличие от SVGA и более высокой глубины цвета, режим 13h, входящий в MCGA набор видеорежимов , имеет 18 бит цвета , по 6 на канал RGB. Данные цветовой палитры не хранятся в памяти как таковые , а скорее изменяются, считываются и записываются вызовами портов ввода-вывода низкого уровня в регистры ЦАП .

Данные палитры часто копировались из портов низкого уровня по одному в место в памяти после данных экрана , чтобы можно было сохранить цвета вместе с пикселями, которым они принадлежали. Снимок экрана в режиме 13h — это всего лишь 64 000 байт значений от 0 до 255, каждое из которых представляет собой индекс цвета из известной палитры из нескольких цветов. Если цветовая палитра перепутана или совершенно неверна, зеленый лист будет выглядеть синим или любым другим возможным цветом, в зависимости от того, для чего был установлен этот конкретный цвет, какой именно из 256.

Благодаря тому, как в такой среде распределяются фрагменты памяти, байты в сегменте 0xA000 со смещением от 64000 до 64768 могут быть записаны без каких-либо негативных последствий. Это позволяет программисту сохранить дополнительные байты, 256 (цвета) × 3 (цветовые каналы) = 768 байт, в конце файла снимка экрана. Их необходимо снова прочитать и записать в порт цвета, чтобы они изменились, когда загружается изображение, содержащее нижний колонтитул с информацией о цвете. При этом использовался метод: иметь глобальную палитру и сопоставлять цвета старой цветовой палитры с новой цветовой палитрой. Это означало изменение индекса каждого пикселя, чтобы он указывал на почти идеальное совпадение одного цвета из старого набора цветов в новый. У этого были и недостатки, так как иногда не хватало градиентов, появлялись артефакты и тому подобное.

Нет необходимости устанавливать графический режим через BIOS; есть возможность переключения графического режима в 32-битный защищенный режим, если чуть посложнее. Он включает в себя запись данных о размере в контроллер VGA.

Варианты

[ редактировать ]

Альтернативный планарный 256-цветный режим доступен при отключении режима Chain 4 (развязка). Видеорежимы, созданные с использованием этой техники, называются Mode X , хотя первоначально этот термин использовался для режима VGA, который также имел квадратные пиксели. Хотя эти режимы (наряду со многими другими возможными режимами VGA) не были специально задокументированы IBM, аппаратные функции и возможности VGA, используемые для их реализации, были задокументированы по крайней мере еще в 1988 году в Техническом справочнике по аппаратному интерфейсу PS/2 .

Обозначения

[ редактировать ]

В языке ассемблера x86 вход в режим осуществляется, когда AL равен 13h, AH BIOS INT 10h . равен 0 и выполняется [1] Однако буква «h» иногда опускается для языков, которые не поддерживают этот метод записи; например, в QuickBASIC и его дочерних продуктах он известен как режим экрана 13. [3] QuickBASIC имеет собственную схему нумерации режимов экрана, и многие режимы экрана QuickBASIC имеют номера, которые отличаются от режимов BIOS, на которых они основаны. [4] В C шестнадцатеричное число 13 записывается как 0x13.

  1. ^ Jump up to: а б Браун, Ральф Д. «Список прерываний Ральфа Брауна» . Проверено 24 августа 2018 г.
  2. ^ Фабьен Санглар, ЧЕРНАЯ КНИГА GAME ENGINE: WOLFENSTEIN 3D, 2-е издание, глава «Оборудование», стр. 59, доступно бесплатно по адресу https://fabiensanglard.net/gebb/index.html.
  3. ^ «Советник Microsoft QuickBasic 4.5» . Майкрософт . 1990. Архивировано из оригинала 5 января 2009 г. Проверено 19 июля 2007 г.
  4. ^ Основным примером является режим экрана 0 QuickBASIC, который охватывает все текстовые режимы BIOS 00h..03h. Кроме того, режимы экрана QuickBASIC 1 и 2 соответствуют режимам CGA BIOS с 04h по 06h. Также обратите внимание, что QuickBASIC имеет режимы для графического режима Hercules , который вообще не имеет стандартной поддержки BIOS, а также для графических режимов Olivetti/AT&T с расширенным CGA .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: d679ce09fcf1d4dc44cb2ffa99413310__1717332960
URL1:https://arc.ask3.ru/arc/aa/d6/10/d679ce09fcf1d4dc44cb2ffa99413310.html
Заголовок, (Title) документа по адресу, URL1:
Mode 13h - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)