Решение проблемы с видеокартой оказалось нетривиальным. Многие были правы и неправы одновременно. Я даже купил себе охлаждающую жижу, чтобы поморозить микросхемы. Но всё оказалось куда интереснее. Сходу выражаю большую благодарность
arush_damage за ссылку
на документацию по этому адаптеру, она мне очень сильно помогла
(
Read more... )
Comments 16
Блин, сочувствую.
У меня когда-то долго был EGA-монитор, даже когда комп уже был 486. в принципе его хватало, но многие игры на нем уже не шли.
Reply
Reply
> Оказывается, что в документации есть информация о том что делать: надо поставить драйвера!
Вроде написано не так. Я вижу, что там написано, что нужно просто запустить утилиту MXW чтобы выставить нужное разрешение в текстовом режиме. А содержимое каталога DRIVERS похоже на драйвера для определённых программ (автокад, офисный пакет Lotus, виндовс). Таким образом тебе нужна только эта утилита MXW. А то и просто инфа в какой порт видюхи какой байт записать чтобы она переключила разрешение в текстовом режиме.
upd: это же, наверное, ibm pc bios совместимый. Значит режим переключаем вызовом bios (https://en.wikipedia.org/wiki/INT_10H):
org 100h
mov ax,03h
int 10h
mov ax,4c00h
int 21h
можно даже в нортоне в hex редакторе вбить 66B80300CD10C3 и сохранить с расширением .com
Reply
Жаль что мы так и не услышали начальника транспортного цеха (с)
Так а как оно выглядит в режиме VGA то?
Reply
И эта, вот прям из вики:
> Хотя в текстовых режимах VGA одно знакоместо имеет ширину 9 пикселей, в данных знакогенератора определяются только 8 из них (8 бит одного байта на строку); пиксели правой колонки символьной матрицы определяется автоматически: пустыми (для символов в диапазоне 0x00-0xAF и 0xE0-0xFF) или такими же, как пикселы 8-й колонки (для символов псевдографики в диапазоне 0xB0-0xDF). Режим повтора 8й колонки мог быть отключен через регистр (через запрос BIOS никак). Так же, через регистры, можно было переключить текстовый режим c 9 колонок на 8 колонок для символа (так же как переключались графические режимы 320/360 точек в строке), что было нужно для некоторых матриц ноутбуков. Стандартные шрифты при этом обычно слипались, и нужно было загружать собственные (в BIOS более узкие шрифты обычно были прописаны вендором, но русские шрифты загружались сторонними программами, например KeyRus).
> Используя шрифты меньших размеров, чем стандартный 8×16, можно увеличить количество строк в текстовом режиме. Например, если включить ( ... )
Reply
Возможно, прямолинейный подход с int 10h слишком наивен, но попробовать можно)
Reply
Полностью согласен.
Тем более что ком файл из 20-ти байт создать не проблема %)
Кстати, в сети можно найти взломаный hiew (или купить у разработчика) - он позволяет прям в аасемблерных кодах писать и сам их в бинарь переводит.
Хотя вроде ImHex все то-же умеет, но его под дос вроде нет
Опять же - VGA биос умеет гораздо больше, например вот такое может быть интересно http://www.codenet.ru/progr/video/egavga/egavga13.php#64 ПОДФУНКЦИЯ 35h: ВЫБОР АКТИВНОГО ДИСПЛЕЯ
Reply
ЗЫ. Совсем забыл, НМНИМС в ком файлах вместо 4c00h функции 21h прерывания было достаточно сделать "ret". Там на стеке лежать адрес покоторому вызывается функция 4c00h 21h. Это такая фишка дос для ком файлов.
Reply
Leave a comment