LINUX.ORG.RU

История изменений

Исправление intelfx, (текущая версия) :

Каждая точка - 1 пиксель, в байте - 8 точек, а вот чтобы задать цвет нужны 4 бита - соответственно 4 слоя. Все слои мапились по одному адресу, но была возможность маскировать в какой слой писать, а в какой нет. Поищи в интернете организацию памяти в EGA, были картинки это поясняющие.

Ммм, bueno. Ещё и 16 цветов всего в палитре. Окей, вопрос снимается.

Но мы вроде про VGA говорили исходно. Там тоже было так? Или всё-таки был настоящий фреймбуфер?

По поводу адресов, так адресовали в реальном режиме на 16-битных процессорах. Размер сегмента не превышал 64 КиБ, поэтому первым шел сегментный адрес, а вторым смещение в сегменте. Физический адрес для 0xA000:0x0000 - 0xA00000.

А, это был не диапазон, а сегмент:смещение. Я количество нулей неправильно прочёл, думал, ты имел в виду два физических адреса.

Исходная версия intelfx, :

Каждая точка - 1 пиксель, в байте - 8 точек, а вот чтобы задать цвет нужны 4 бита - соответственно 4 слоя. Все слои мапились по одному адресу, но была возможность маскировать в какой слой писать, а в какой нет. Поищи в интернете организацию памяти в EGA, были картинки это поясняющие.

Ммм, bueno. Ещё и 16 цветов всего в палитре. Окей, вопрос снимается.

По поводу адресов, так адресовали в реальном режиме на 16-битных процессорах. Размер сегмента не превышал 64 КиБ, поэтому первым шел сегментный адрес, а вторым смещение в сегменте. Физический адрес для 0xA000:0x0000 - 0xA00000.

А, это был не диапазон, а сегмент:смещение. Я количество нулей неправильно прочёл, думал, ты имел в виду два физических адреса.