Нашёл я тут на работе штуки четыре разных ISA-видеокарт VGA и захотелось мне хоть одну такую карточку подключить к микроконтроллеру. Поискал я в инете и нашёл один проект такого устройства. К этому проекту была схема и программы для запуска видеокарты. Схему я переделал - в ней много мне ненужного. Программу также несколько изменил - "причесал" под себя. Повозившись с разными картами обнаружил, что карта на чипе Trident9000C хоть и пытается запуститься, но всё же не работает должным образом (о чём в найденной мной программе и честно написано). Зато карта на чипе Trident9000i работает замечательно.
Подключаю я видеокарту в 8 битном режиме. Текстовый режим пока что не очень работает (шрифты не грузятся), но графический 320x200x256 работает.
Итак, для сборки потребуется:
1) Резисторы (номиналы видны на печатной плате).
2) Конденсаторы (номиналы смотрите там же).
3) 3 микросхемы К588ИР1 - параллельный регистр.
4) Atmega32 или Atmega16.
5) Кварц на 16 МГц.
6) Видеокарта с чипом Trident9000i (или другая, но придётся основательно повозиться)
7) ISA разъём (выпаивается термофеном с плат от 286-х до P-233 или иными).
У меня Atmega32 и прошивка откомпилирована для неё.
Печатная плата выглядит вот так вот (файл печатки в архиве):
Схема, полагаю, очевидна - три регистра по-очереди загружаются значениями шины адреса вот, собственно, и всё.
На ISA-разъёме нужно подключить:
+5,
+12,
GND,
REFRESH (притянут к +5В через резистор),
A0-A19,
D0-D7,
RESET,
MEMW,
MEMR,
IOW,
IOR,
ALE,
READY,
AEN (подключается к GND).
На картинке красным я отметил требующие подключения контакты разъёма ISA.
Для некоторых карт нужно подключить -5 В и -12 В (их придётся вам откуда-то взять - например, из источников TracoPower) и сигнал OSC (14.318 МГц) - его можно генерировать простейшим генератором на К155ЛН1.
Прошивка (с текстом программы):
Вложение:
Firmware.rar [51.64 KiB]
Скачиваний: 763
Печатка:
Вложение:
board.rar [38.98 KiB]
Скачиваний: 720
Внешний вид конструкции (немного отличается от печатки):
Стабилизаторы нужно ставить на радиатор с вентилятором - ток довольно существенный. Возможно, на вашей печатке придётся увеличивать место для радиатора.
Видео работы:
http://www.youtube.com/watch?v=xr_VLWmuoB4Как запустить любую имеющуюся видеокарту ISA? Для этого найдите в инете BIOS требуемой видеокарты (скажем, тут:
http://chukaev.ru54.com/video_en.htm ) и с помощью IDA дизассеблируйте её. Там обычный X86 код. Только начинается он не с 0 адреса - там сигнатура (2 байта) и контрольная сумма (1 байт). Итого, начинать надо с 3-его байта. И последовательно выяснить в какие порты что нужно записать, чтобы карта заработала. Скажу честно, мне терпения не хватило, чтобы понять, что не так с Trident9000C (для неё прошивка от Trident89000 идёт).
Ну вот вроде бы и всё.