Для полноты картины мы рассмотрим структуру видеоадаптера Hercules. В графических режимах видеоадаптер Hercules использует один бит на пиксел. Разрешающая способность составляет 720 пикселов по горизонтали и 348 пикселов по вертикали. Hercules создан на основе микросхемы 6845 контроллера ЭЛТ и имеет еще более сложную организацию памяти, чем CGA. Видеопамять разделена на четыре части. Структура памяти приведена на рисунке 5.3.
Рисунок 5.3 Структура памяти видеоадаптера Hercules в графических режимах.
Формулы приведенные ниже позволяют определить смещение байта от начала станицы видеопамяти и номер бита в нем, управляющего пикселом с координатами (x,y):
Если [y/4]=0, то смещение байта = 5Ah*(y/4)+(x/8) Если [y/4]=1, то смещение байта = 2000h+5Ah*((y-1)/4)+(x/8) Если [y/4]=2, то смещение байта = 4000h+5Ah*((y-2)/4)+(x/8) Если [y/4]=3, то смещение байта = 6000h+5Ah*((y-3)/4)+(x/8)
Номер бита = 7-mod(x/8)