1)Читаю, например, MOR 3cch - read & 3c2h - write: bits 7-6 Sync Polarity, 0 1 400 lines 414 lines 1 0 350 - 362 - 1 1 480 - 496 - Для чего этот регистр, если при этом существует CRTC с регистрами 00 и т.д.? Где можно вообще почитать про правила образования значений регистров при установке произвольных видеорежимов так, чтобы учитывать всё, и Sync Polarity в том числе? 2)Почему функция 0 int10h не поддерживает 640x480x256, хотя поддерживает 320x200x256 и 640x480x16? Возможно ли установить такой режим на чистом VGA?
2) 640x480x8 - VESA режим и устанавливается функцией VBE, и не штатной BIOS. 1) Никогда не задумывался Современные мониторы нормально понимают обе полярности, видимо об этом есть какие-то соглашения, будет время посмотрю в доках
10110111 VGA много всего. Описан здесь на руском http://www.codenet.ru/progr/video/egavga/ На сайте Intel есть 010179001.pdf там на английском для одного старого чипсета описано. Правда там скорее всего нет того, что тебе нужно. Для чего регистр MSR ? Смотри его описание. Он главнее, чем CRTC отвечает за самые основные настройки при установки режима видюшки. 2) Потому, что 640x480x256- потому, что больше 128КБайт (A0000-BFFFF), на чистом нет. 640*480*16 режим 12h
Но ведь 640x480x16 тоже больше 128K, а именно - 150K. P.S. Неужели банки видеопамяти уже поддерживаются в VGA?
10110111 Нет там хитрая организация - цвет пишется в порт, а пикселы выводятся а-ля ч/б по 8 штук в байте )
Насколько я понял по некоторым исходникам, устанавливающим Modes X, максимальное количество памяти в VGA = 256K. При этом близким к отношению 4:3 будет 591x443. Как для установки такого (или близкого к такому) режима надо настраивать Start/End Of horizontal/vertical Blanking и подобные регистры, - откуда брать эти значения?