Я с силами собирался все это время, чтобы начать рисовать ее как раз на ISA8. Вчера тему еще раз пересматривал, как раз прикидывал. Лично мне - была бы очень интересна.
- - - Добавлено - - -
Но, надо еще ставить ПЗУ для своего обработчика int 10h, и первоначальной инициализации. Но это мелочи и сравнительно не сложно, я могу BIOS написать. Основная загвоздка в памяти, в текущем формате отображения символов-аттрибутов. Очень многие программы в DOS пишут в видеопамять напрямую, тот же Volkov Commander, например. И с текущим представлением получится ой. То есть скорее всего надо подстраиваться к стандартному виду отображения символов-аттрибутов как в CGA текстовой памяти - сначала один байт по 4 ниббла аттрибутов, второй байт - символ (255 значений). Иначе многие проги не будут корректно работать.
Или, плохой вариант - не ставить ПЗУ, не менять карту памяти, и не отображать эту видеокарту по стандартному 0xB8000h. Вообще, увести ее в область дополнительных ROM, ну типа скажем в 0xE0000 куданибудь или 0xD8000. И запускать совместно с другой, скажем обычной VGA картой, а инициализировать программно и выводить туда какие-нибудь показания погоды на марсе, часы, матерное слово во весь экран на второй монитор. Но это конечно в разы менее интересно.
Можно еще конечно программно-аппаратно сделать переконвертацию из CGA представления текстовой памяти в текущий формат dual-head. Карта будет висеть вне области текстовой видеопамяти, опять же где-нибудь в 0xE0000 например, а при попытке записи в стандартные 0xB8000 повесить регистры-защелки, в одном или двух сохранять адресу куда произошла попытка доступа, в другом что хотели записать. И вызывать после защелкивания прерывание IRQ. В BIOS же по прерыванию читать значение регистров-защелок и конвертировать в представление dual-head и записывать значения в 0xE0000h. Но, чревато тормозами и занятым IRQ, которых и так в XT раз-два и обчелся.
Короче, самая жопа в несоответствии символов-аттрибутов в памяти dual-head вг75 со стандартным отображением символов-аттрибутов текстовой памяти CGA/EGA/VGA видеокарт.





Ответить с цитированием