8086+FPGA

16-битные ПЦ-совместимые компьютеры с процессорами 8086/8088/80286 работающие под управлением ДОС

Moderator: Shaos

Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: 8086+FPGA

Post by Vic3Dexe »

Хз, не факт, что проблема в биосе.
1. С видеопамятью обмен вообще есть? В тепличных условиях и под контролем сигналтапа?
2. Пробуем простейший код загрузки шрифта (или чего угодно) во 2 плейн. Т.о. проверяем работу синхронизатора/GC.
3. Пробуем перевод в текстовый режим, т.е. загрузка всех регистров ручками согласно таблиц, и пробуем вывод символа.
4. Тестим графику и пр.
И вот если все в порядке - тогда пробуем штатный VGA-биос.
newold86
Devil
Posts: 716
Joined: 30 Nov 2013 11:08
Location: WWW

Re: 8086+FPGA

Post by newold86 »

С доступом к памяти вроде все в порядке (насколько вижу).

Честно говоря, я вообще не знаком практически с адаптерами продвинутее CGA, поэтому все эти плейны для меня пока чисто теоретические вещи, о которых знаю только в общих чертах...

Может, подскажете, куда нужно засунуть шрифт для CGA адаптера, чтобы попробовать все-таки в CGA режиме запустить ? По коду я так и не понял...
Vic3Dexe
Doomed
Posts: 370
Joined: 16 Dec 2014 11:58
Location: Киев

Re: 8086+FPGA

Post by Vic3Dexe »

newold86 wrote:Может, подскажете, куда нужно засунуть шрифт для CGA адаптера
Гусары, молчать! (с) :mrgreen:

Никуда. Как по-вашему у EGA/VGA можно менять шрифты, и почему этого нельзя сделать у CGA? Да потому что у CGA они прибиты гвозями на заводе в ROM, который программно недоступен. Т.е. вообще. Никак процу до этого ROM не достучаться. А у EGA/VGA шрифты заносятся при инициализации карты в VRAM, точнее во 2 ее плоскость.

Я не стал делать отдельный шрифтовый ROM под CGA. Куда его засунуть? В циклон? Жалко. В RAM? Так у меня и так видеопамять в RAM, зачем изобретать отдельный CGA-механизм чаргена, если у меня будет таковой для EGA/VGA?
Правильно, незачем. Поэтому биос при ините CGA-карты сначала переключает ее в VGA-режим, дабы включились все потроха, затем засовывает шрифты куда следует (точно так же, как это делает EGA или VGA), а затем включает обратно CGA. Ну не совсем в такой последовательности, но суть примерно такая.

Так что просто "проинициализировать файликом" шрифты не получится. ROM отсутствует.