А у меня такой вопрос.
Почему бы не совместить графические плоскости в одно адресное пространство по аналогии с EGA? Сэкономим 24 килобайта памяти, так как графическая память будет занимать участок в 8 килобайт, а не 32 килобайта.
Введем ещё два-три регистра:
маска плоскости(четыре бита по числу плоскостей). Запись по адресу графики вносит изменения в те плоскости, биты которых в данном регистре были установлены в 1.
маска битов. Для каждого байта в каждой плоскости запись по адресу графики изменяет те биты, которые были установлены в 1 в данном регистре.
номер плоскости для чтения( можно совместить с регистром маски плоскости, старшие биты - плоскость с которой читаются данные, младшие четыре бита - маска плоскости). Чтение по адресу графики получает байт плоскости чей номер в этом регистре.
Реально видеопамять будет адресоваться через 8 килобайт основной памяти, а не через 32.
Плюсуй, если согласен.