Русифицируем видеокарту

Наверное читатель, прочитав столь необычный заголовок, уже успел задаться вопросом – а у автора знания о железе, мягко говоря, есть или отсутствуют? Смею вас заверить: знания имеются, причем порой им находится самое неожиданное применение. Впрочем, перестанем флеймить и приступим к делу. Напоминаю: Автор (C) данного материала не несет никакой ответственности за безвинно загубленные вами девайсы: несмотря на то, что описано все будет довольно подробно, всегда найдутся люди, которые сделают что-нибудь не так.

Предисловие

Каждый из вас наверняка хоть немного знаком с такой областью компьютерных знаний, как программирование. Всех когда-то учили в школе абсолютно отбивающему желание программировать Бейсику, кого-то – гораздо более интересному Паскалю, единицы изучали Си или Си++. Я изучал Паскаль, и именно поэтому желание программировать присутствует до сих пор. Сегодняшняя статья, надеюсь, поможет читателю решить одну часто возникающую проблему, которая стала мне порядком надоедать при разработке приложения, работающего в DOS-режиме.

Это вроде бы совсем незначительная проблема - необходимость подгрузки русифицированных шрифтов для правильного отображения символов нашего великого и могучего языка в DOS, однако, поскольку требования к объему свободной памяти у программы были не маленькими (напомню, в DOS нам доступно всего 1024 КБ), приходилось убирать из памяти все лишние сервисы. Возникла идея в довершение ко всему убрать из памяти и драйвер экрана  . Решение, которое было избрано и вынесено в заголовок.

Собственно говоря, с началом ухода со сцены таких операционных систем, как Win9x и заменой их более современными подобная проблема возникает практически у каждого пользователя, желающего поработать с русским текстом в DOS или даже при работе под Windows в полноэкранном режиме – вместо букв мы видим абракадабру.

Как же это было? Хотя нет, для начала – немного теоретического материала.

Теория

В большинстве своем таблица шрифтов зашита в BIOS видеокарты, значит нашей основной целью будет его модификация. Что же представляет собой DOS-шрифт? Разберем его устройство на примере шрифта 8х16, кроме него также распространены шрифты 8х8, применяются и 8х14. Буквы шрифта представляют собой двухмерную матрицу, размеры которой, кстати и обозначены в ее характеристиках. Так, буква шрифта 8х16 формируется из шестнадцати строк по 8 клеток каждая. Перед вами одна из букв такого шрифта:

https://www.winsov.ru/image/letter103.jpg

Бросается в глаза ее ступенчатость, не так ли? Это - жертва, принесенная в дань малому весу шрифта. Одна буква занимает в памяти всего лишь 32 байта (правда реально используются всего 16 - шрифты большей высоты применения не нашли). Достигается такая компактность использованием побитовой работы (любителям двоичной арифметики - большой привет). Если скажем 1-й слева бит строки имеет значение 1, то точка, соответствующая ему, светится, в противном случае - нет. Вот небольшой иллюстративный материал. Такая картинка на экране будет выглядеть как небольшая рамочка.

https://www.winsov.ru/image/edit103.gif

Теперь что касается наших наполеоновских замыслов. Подопытным кроликом послужила видеокарта Palit Daytona GF3 Ti 200. На ее примере и рассмотрим все необходимые шаги.

https://www.winsov.ru/image/ti200103.jpg

Осуществлять экзекуцию будем при помощи программы Ray Adams X-BIOS Editor. Ну-с, приступим…

Практическая часть

Как ни странно, но наибольшие проблемы вызвал именно поиск русифицированного шрифта. Все это потому, что ни одна из тех программ, которая считывает шрифты из памяти, на самом деле их оттуда не считывает - это всего лишь уловка разработчиков. Шрифты же обычно считываются из знакогенератора, в который они в свою очередь записываются из BIOS. То есть, никакие русификаторы просто не помогут. Впрочем, поиски все же закончились успешно - был найден шрифт 8х16, немного нестандартный, однако вполне симпатичный:

Для начала считаем из памяти и сохраним оригинальный BIOS видеокарты при помощи опции Read and Save To File. Просьба не пренебрегать этим шагом, оригинальную прошивку всегда необходимо сохранять!

https://www.winsov.ru/image/save103.jpg

Далее создаем его копию и все работы ведем уже с ней. Нас интересует закладка Fonts, в частности шрифт 8х16 – его и будем русифицировать.

https://www.winsov.ru/image/fonts103.jpg

Все, что необходимо – нажать кнопку Replace, выбрать нужный нам шрифт – и вот он уже на своем новом месте.

https://www.winsov.ru/image/fonts_new103.jpg

Сохраняем модифицированный BIOS. Теперь нам остался всего лишь один маленький шаг – прошивка его в видеокарту. Советую не пренебрегать прочтением следующего абзаца, ведь именно при прошивке пользователи сталкиваются с наибольшим числом проблем.

Для перепрошивки нам понадобится загрузочная дискета DOS, файлы с оригинальным и модифицированным биосами, а также файлы nvflash.exe и dos4gw.exe. В целях удобства назовем файлы с биосами old.rom и new.rom соответственно.

Теперь отредактируем файлы autoexec.bat и config.sys нашей дискеты. Запишем туда такие строки:

config.sys

[menu]menuitem=Restore,Restore origin bios

menuitem=Def, Default start

default=Restore,5

[Restore]

[Def]

autoexec.bat

goto %config%

:Restore

NVFLASH.EXE -s4 /fold.rom -h

:Def

NVFLASH.EXE -s4 /new.rom –h

Можно загружаться с дискеты. При появлении меню выбираем пункт «Default start» и перепрошиваем BIOS нашей карты. После перепрошивки компьютер автоматически перезагрузится. Вот тут надо быть внимательным. В случае если процедура прошла удачно, мы вынимаем дискету и наслаждаемся жизнью :о) Если нет, то ничего не трогаем, просто ждем, и после очередной перезагрузки в карте снова будет старый BIOS. Правда такие проблемы встречаются редко, однако все же оградимся от них. На всякий, так сказать, пожарный…

Процесс окончен… Наслаждаемся новым шрифтом в BIOS нашей видеокарты.

Заключение
теперь вы могли убедиться, что у автора с головой все-таки не все в порядке, потому что такие идеи может вырабатывать только нестандартная голова. :) Что же, может и так. Зато представьте себе взгляды окружающих, когда они слышат, что у тебя русифицирована видеокарта.

P.S. Напоминаю вам: Автор (C) данного материала не несет никакой ответственности за безвинно загубленные вами девайсы.

P.P.S. Вот вы говорите: не может быть, не может быть… А я говорю – все-таки было! (с)

Подпись автора

Я Хранитель Свеч на границе Тьмы Свет ковал мой меч для своей войны…


www.prizrak.ws Аниме Форум - для общения любителей аниме (японской анимации), манги и хентая. Новости, статьи по темам: безопасность, хакерство, программы. Игры и софт для WinOS, PocketPC, Linux/Unix и др. Архив игр, фильмов DVD, музыки mp3 и программного обеспечения. Теги: скачать anime, скачать мангу, скачать хентай, скачать яой, скачать юри, скачать аниме обои картинки, скачать музыку mp3, скачать фильмы dvd, скачать софт, скачать программы, скачать игры ^__^