Русификация видео-BIOS, для GF6xxx и выше

Обсуждение проблем видеокарт, драйверов и всего, что с ними связано.

Модераторы: max-sever, iStalker, andser

Improver
Новичок
Сообщения: 17
Зарегистрирован: 16.07.2009 15:57
Откуда: Волгоград
Контактная информация:

Сообщение Improver » 28.08.2009 22:47

MERCURY писал(а):А в оригинальном НЕПАТЧЕННОМ коде этого нуля нет, что ль? Чем, по вашему, список подлежащих замене символов закрывается? Мы просто закрываем его раньше, в самом начале.
Так я как раз об этом и говорю, что именно это, по описанным выше причинам, делать не желательно. В смысле не желательно закрывать запись раньше и оставлять некоторые символы неперезаписанными, ибо раз эта процедура была сделана в БИОСе, то явно не просто так.
Хватит фантазировать...
А вот Вам бы не помешало пофантазировать. Поробуйте, например, ответить на вопрос: а зачем вообще могло понадобится при некоторых событиях делать перезапись в памяти этих символов?
Вашу бы бдительность да в МС...
Так берите пример, начните, так сказать, с себя! :wink:
Если исходить из предположения, что в Виндзя нет багов и лишнего кода, то почему он регулярно виснет?
У Вас БИОС тоже регулярно виснет? :wink: Думаю, не стоит путать толстое с мягким. Винда -- это не БИОС, а БИОС -- это не винда.

DrEvil
Администратор Judge Dredd
Сообщения: 17062
Зарегистрирован: 17.01.2003 11:52
Контактная информация:

Сообщение DrEvil » 28.08.2009 23:03

Спокойствие, только спокойствие, горячие поволжские парни. Если что-то уже работает и пока проблем нет, то идти в рукопашную друг на друга рано.

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Сообщение MERCURY » 29.08.2009 10:46

У Вас БИОС тоже регулярно виснет? Думаю, не стоит путать толстое с мягким. Винда -- это не БИОС, а БИОС -- это не винда.
Да, если в него неаккуратно залезть :)... А одно без другого - не жилец, ибо IBM BASIC давно мертв, а дрова для Виндзоров колют те же производители видеокарт...
А вот Вам бы не помешало пофантазировать. Поробуйте, например, ответить на вопрос: а зачем вообще могло понадобится при некоторых событиях делать перезапись в памяти этих символов?
Поробую :): кому то не понравилось оригинальное начертание известных символов, а оригинальный фонт по каким либо опричинам (лицензия, например) сменить низзя, поэтому сделали эту муру. ВСЕ!!! Других причин нет, ибо если бы оные были, меняли бы ВЕСЬ фонт!!! Хватит пугать народ...

Improver
Новичок
Сообщения: 17
Зарегистрирован: 16.07.2009 15:57
Откуда: Волгоград
Контактная информация:

Сообщение Improver » 29.08.2009 16:20

MERCURY писал(а):
У Вас БИОС тоже регулярно виснет? Думаю, не стоит путать толстое с мягким. Винда -- это не БИОС, а БИОС -- это не винда.
Да, если в него неаккуратно залезть :)...
Вот поэтому и не стоит слишьком активно вмешиваться в логику работы БИОСа... :)
А одно без другого - не жилец, ибо IBM BASIC давно мертв, а дрова для Виндзоров колют те же производители видеокарт...
Не забываем про Линуксы, МакОСь (OSX) и другие операционки, которые пркерасно работают на видеокартах от nVidia и тоже имеют дрова от производителя. Не виндосом, как говорится, единым. Но не будем оффтопить...
кому то не понравилось оригинальное начертание известных символов, а оригинальный фонт по каким либо опричинам (лицензия, например) сменить низзя, поэтому сделали эту муру. ВСЕ!!! Других причин нет, ибо если бы оные были, меняли бы ВЕСЬ фонт!!!
Плохое предположение, т.к. символы, которые подменяются полностью (побайтно) совпадают с основным шрифтом -- значит причина не в их начертании, и тем более не в лицензии. Неужто Вы думаете, что у такого гиганта, как nVidia, не найдётся пара сотен (ну пусть даже тысяч) долларов на то, чтобы разработать или купить именно тот шрифт, какой им нужен?

Больше предположений нет?

BolenB
Новичок
Сообщения: 40
Зарегистрирован: 18.05.2009 17:30
Откуда: Россия
Контактная информация:

Сообщение BolenB » 29.08.2009 18:47

Improver писал(а):
Плохое предположение, т.к. символы, которые подменяются полностью (побайтно) совпадают с основным шрифтом -- значит причина не в их начертании, и тем более не в лицензии. Неужто Вы думаете, что у такого гиганта, как nVidia, не найдётся пара сотен (ну пусть даже тысяч) долларов на то, чтобы разработать или купить именно тот шрифт, какой им нужен?

Больше предположений нет?
Я знаю для чего подменяется фонт 14х8 на GF6800Ultra. Фонт 14х8 генерируется из фонта 16х8 тупым копированием первых 14 строчек символа, 2 нижних строки отбрасываютя (15 и 16). После чего у символов "g","j","p","y" портятся нижние части и их подменяют полностью.
На GF7600GS и выше, процедура думаю более интелектуальна и 14х8 получают обрезанием 1-ой и 16 строчки фонта 16х8 и подмены для шрифта 14х8 не требуется. ИМХО.
А зачем предусмотрена подмена символов 16х8 я не знаю и мне это не интересно.
Последний раз редактировалось BolenB 30.08.2009 11:20, всего редактировалось 1 раз.

DrEvil
Администратор Judge Dredd
Сообщения: 17062
Зарегистрирован: 17.01.2003 11:52
Контактная информация:

Сообщение DrEvil » 29.08.2009 19:00

у такого гиганта, как nVidia, не найдётся пара сотен (ну пусть даже тысяч) долларов на то, чтобы разработать или купить именно тот шрифт, какой им нужен?
Этот гигант не захотел платить за использование патента на PCI prefetch в чипсетах (заставил всех производителей отключить эту функцию через BIOS и убрать архивные BIOS), за разрешение на шину QPI (предпочел продавать лицензии на SLI), за лицензию звуковых алгоритмов Sensaura (предпочел закрыть свои разработки звуковых контроллеров) и много еще за что.

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Сообщение MERCURY » 29.08.2009 19:22

Improver
Больше предположений нет?
Есть - чтоб вам покою не было :)... и мне это гадание на кофейной гуще тоже совершенно не интересно... хотите успокоиться - спросите самого гиганта... или найдите и прочитайте исходники старых биосов NVIDIA - nv15_bios_sources.zip. Найдете - дайте и нам почитать :)!

Мне гораздо интереснее было бы русифицирорвать девятку ;)...

Improver
Новичок
Сообщения: 17
Зарегистрирован: 16.07.2009 15:57
Откуда: Волгоград
Контактная информация:

Сообщение Improver » 30.08.2009 10:01

BolenB писал(а):Я знаю для чего подменяется фонт 14х8 на GF6800Ultra. Фонт 14х8 генерируется из фонта 16х8 тупым копированием первых 14 строчек символа, 2 нижних строки отбрасываютя (15 и 16). После чего у символов "g","j","p","y" портятся нижние части и их подменяют полностью.
На GF7600GS и выше, процедура думаю более интелектуальна и 14х8 получают обрезанием 1-ой и 16 строчки фонта 16х8 и подмены для шрифта 14х8 не требуется. ИМХО.
Вот это больше похоже на правду, хотя среди заменяемых именно этих символов нет. И потом, на старых видеокартах был полный набор шрифтов -- 8х8, 8х14 и 8х16, и замена части символов была, причём даже в большем объёме.
А зачем предусмотрена подмена символов 16х8 я не знаю и мне это не интересно.
MERCURY писал(а):мне это гадание на кофейной гуще тоже совершенно не интересно...
Вот это мне и не нравится -- как можно тупо блокировать какие-либо части БИОСа, даже не интересуясь тем, зачем они были предназначены? "Не знаешь -- не трогай!", как говорят минёры, электрики и специалисты других профессий. А программистов это, по всей видимости, не касается... Разберитесь сначала, зачем так было сделано, а уж потом принимайте решение, блокировать замену символов или нет. Нет желания разбираться -- тогда лучше просто заменить и в этом блоке изображения нескольких символов на кирилическое, чем менять то, чего не знаешь.

BolenB
Новичок
Сообщения: 40
Зарегистрирован: 18.05.2009 17:30
Откуда: Россия
Контактная информация:

Сообщение BolenB » 30.08.2009 11:19

Improver писал(а):Вот это мне и не нравится -- как можно тупо блокировать какие-либо части БИОСа, даже не интересуясь тем, зачем они были предназначены? "Не знаешь -- не трогай!", как говорят минёры, электрики и специалисты других профессий. А программистов это, по всей видимости, не касается... Разберитесь сначала, зачем так было сделано, а уж потом принимайте решение, блокировать замену символов или нет. Нет желания разбираться -- тогда лучше просто заменить и в этом блоке изображения нескольких символов на кирилическое, чем менять то, чего не знаешь.
Уважаемый, если вы так боитесь "чихнуть" на биос, что же вы тогда беретесь его русифицировать? Никто никого под дулом пистолета не заставляет этого делать. Способ из RVBEdit работает, "мин не обнаружено". Если хотите доказать обратное, то учебник по ASM вам в руки, IDA (интерактивный дизасемблер)на компьютер и перелопачиваете 65000 байт кода в доказательство своей правоты.
Ну или перерисовывайте символы вручную, что вы и сделали.

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Сообщение MERCURY » 30.08.2009 11:26

Improver
Вот это мне и не нравится -- как можно тупо блокировать какие-либо части БИОСа, даже не интересуясь тем, зачем они были предназначены? "Не знаешь -- не трогай!", как говорят минёры, электрики и специалисты других профессий
Увы, товарищ по професии САПЕР, такова специфика обратного конструирования кода и программирования вообще: если код А нормально работает без кода В, и при этом код В мешает нормально работать коду А, то товорищ по професии ХАКЕР, не усложняя ситуацию, оставит код А, выбросив код В...

И потом, сколько раз вам ГОВОРИТЬ, что метод 2 от BolenB & RVBEdit, который я теперь поддерживаю, в отличии от метода 1, предлагавшегося мною ранее, и от которого я теперь отказался ввиду его недостаточности (!!!), так вот, метод 2 не блокирует и не отключает ни ОДНОЙ процедуры из имеющихся в БИОСе, он просто указывает им, что заменять НИЧЕГО не нужно... И этот метод оптимален с точки зрения результата и количества нажимаемых кнопок - их меньше, чем в этом посте. Метод 3, т.е. ВАШ, неоптимален, но, конечно же, рабочий, и желающие могут им пользоваться, если не сломают пальцы :).

Improver
Новичок
Сообщения: 17
Зарегистрирован: 16.07.2009 15:57
Откуда: Волгоград
Контактная информация:

Сообщение Improver » 30.08.2009 21:17

MERCURY писал(а):метод 2 от BolenB & RVBEdit, который я теперь поддерживаю, в отличии от метода 1, предлагавшегося мною ранее, и от которого я теперь отказался ввиду его недостаточности (!!!), так вот, метод 2 не блокирует и не отключает ни ОДНОЙ процедуры из имеющихся в БИОСе, он просто указывает им, что заменять НИЧЕГО не нужно...
Увы, вынужден Вас ещё раз огорчить, метод 2 от BolenB & RVBEdit, тоже по-своему блокирует исполнение возложенной на процедуру задачи, т.к. без патча замена символов есть, а с патчем -- нет. И это неоспоримый факт.

И, кстати, Вы даже не знаете, зачем было необходимо заменять эти сомволы, но, тем не менее, почему-то настойчиво отстаиваете решение блокировать их замену, не думая о возможных последствиях.
И этот метод оптимален с точки зрения результата и количества нажимаемых кнопок - их меньше, чем в этом посте. Метод 3, т.е. ВАШ, неоптимален, но, конечно же, рабочий, и желающие могут им пользоваться, если не сломают пальцы :).
Оптимизировать код по количеству нажимаемых кнопок -- это что-то новое в программировании. :lol: Спасибо, посмешили, товорищ по самопровозглашённой професии ХАКЕР, боящийся перелома пальцев о клавиатуру. :lol: :lol: :lol:

Если уж и оптимизировать код, то, в данном случае, лучше с точки зрения минимальных негативных последствий вмешательства, в том числе и теоретически возможных, а не количества изменяемых байт.

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Сообщение MERCURY » 31.08.2009 9:36

И, кстати, Вы даже не знаете, зачем было необходимо заменять эти сомволы, но, тем не менее, почему-то настойчиво отстаиваете решение блокировать их замену, не думая о возможных последствиях.
Товарищ, вы меня достали!!! Почему фонт 8х8 нигде и никак и никогда не подменяется :x? Он чем то лучше остальных :hitrost:?
Оптимизировать код по количеству нажимаемых кнопок -- это что-то новое в программировании.Спасибо, посмешили, товорищ по самопровозглашённой професии ХАКЕР, боящийся перелома пальцев о клавиатуру.
Вы зачем сюда пришли, товарищ пианист :type:?

Improver
Новичок
Сообщения: 17
Зарегистрирован: 16.07.2009 15:57
Откуда: Волгоград
Контактная информация:

Сообщение Improver » 31.08.2009 10:12

MERCURY писал(а):Почему фонт 8х8 нигде и никак и никогда не подменяется :x? Он чем то лучше остальных :hitrost:?
Правильные вопросы Вы начинаете задавать, что не может не радовать! :) А действительно почему? И почему набор заменяемых символов 8х16 не изменяется во всех версиях БИОСа, начиная с RivaTNT, а количество символов 8х14 изменяется от 17 до нуля? Может быть при определённом изменении режимов работы видеокарты таблица символов частично может разрушаться и это процедура восстановления? Что Вы сами думаете по этому поводу?

Lovrik
Модератор
Сообщения: 1487
Зарегистрирован: 22.01.2004 15:48
Откуда: Россия, Питер
Контактная информация:

Сообщение Lovrik » 31.08.2009 12:03

MERCURY, Improver, Поспокойней господа, взаимоуважение - основа успеха.
Между прочим, как бы вы друг друга не тыкали носами, из вашей дискуссии в тему падает немало рациональных зерен.
Вступать в дискуссию не буду, времени нет, но свое мнение выскажу.

Improver, Вам отдельная просьба поменьше сарказма, ведь даже если вы знаете больше, нежели автор, то чем больше при этом понтов - тем хуже это вас характеризует, эти же понты мешают вам договориться о сути вещей. Хотите внести свою лепту?
Так вы нормально опишите, по пунктам, человек быть может вам спасибо скажет и в соавторы включит.

А пока вы по сути, просто ругаете рабочие методы, если БИОС работает нормально, то какая разница как?
- Мы же не производители и не зарабатываем на этом, перед кем нам результат вылизывать?

Тем более именно этим принципом: "Работает? - и не хай замечательно, чего тратить время и деньги..." руководствуются сами инженеры Nvidia - нет смысла соскребать каждый вечер колхознику какому-нибудь грязь с протектора пахотного трактора, если он ездит и пашет нормально - ему эстетика не нужна, на эстэтику трактора никто не обращает внимания, смотрят на его мощность и тому подобные параметры.
Рабочий без проблем БИОС видяхи - это тот же трактор, на него никто не обращает внимания.
Вот захотели русифицировать и то хорошо. Если пришли и есть что сказать - говорите, только помните, что автор статьи - он, а вы пока, увы и ах - генератор условного шума, только не обижайтесь пожалуйста, я называю вещи своими именами.

MERCURY,Вот оно, тяжкое бремя славы ;)

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Сообщение MERCURY » 31.08.2009 13:01

Lovrik, спасибо огромное, сэр, мне так полегчало :roll:... А то у меня уже все желание переписывать статью отпало...

Improver, о, я так щастив, что вас обрадовал :haha:...
Оптимизировать код по количеству нажимаемых кнопок -- это что-то новое в программировании. Спасибо, посмешили, товорищ по самопровозглашённой професии ХАКЕР, боящийся перелома пальцев о клавиатуру.
1) Я - не хакер... К сожалению... Ибо ХАКЕРУ платят, и немало...
2) Не с этой "точки зрения", а в свете ВОЗМОЖНОЙ автоматизации процесса на манер RVBEdit...
3) Я русифицировал свою карту из личного интереса, т.к. ВСЕГДА мечтал иметь аппаратную кириллицу. Статью я писал, лишь чтобы вас порадовать, и меньше всего руководствовался принципом "не навреди". Необходимость правок вспывает сама, когда этому приходит время, а предугадать все тяжелые последствия атомной бомбардировки БИОСа - позовите Рубину с Кармелитой :)...
Если уж и оптимизировать код, то, в данном случае, лучше с точки зрения минимальных негативных последствий вмешательства, в том числе и теоретически возможных, а не количества изменяемых байт.
Я не оптимизимрую код БИОСа, я просто выясняю МИНИМУМ необходимого вмешательства для реализации поставленной цели.
Что Вы сами думаете по этому поводу?
Всё, что я думал п.э.п., я уже написал. Все козыри вам в руки, ищите nv15_bios_sources.zip и
учебник по ASM вам в руки, IDA (интерактивный дизасемблер) на компьютер и перелопачиваете 65000 байт кода в доказательство своей правоты.
А мы все с удовольствием примем результаты вашего исследования, при условии их адекватности.

Improver
Новичок
Сообщения: 17
Зарегистрирован: 16.07.2009 15:57
Откуда: Волгоград
Контактная информация:

Сообщение Improver » 31.08.2009 14:02

MERCURY писал(а):Не с этой "точки зрения", а в свете ВОЗМОЖНОЙ автоматизации процесса на манер RVBEdit...
При автоматизации процесса русификации будет, imho, совершенно паралельно, сколько байт будет изменено в БИОСе, тем более, что с заменой шрифтов и так меняется немалый кусок. Разница же в трудозатратах на реализацию второго и третьего метода минимальна, но третий метод, опять же imho, более безопасен по своим возможным последствиям.
Статью я писал, лишь чтобы вас порадовать,
И за это Вам ещё раз спасибо. :)
и меньше всего руководствовался принципом "не навреди".
А вот это зря...
позовите Рубину с Кармелитой :)...
Кто это?
Если уж и оптимизировать код, то, в данном случае, лучше с точки зрения минимальных негативных последствий вмешательства, в том числе и теоретически возможных, а не количества изменяемых байт.
Я не оптимизимрую код БИОСа, я просто выясняю МИНИМУМ необходимого вмешательства для реализации поставленной цели.
Я немного неправильно выразился: имел в виду не оптимизацию кода БИОСа, а оптимизацию вносимых в код изменений. И, опять же, минимизация вмешательства и минимизация количества изменяемых байт -- далеко не всегда одно и то же.
ищите nv15_bios_sources.zip
К сожалению, пока найти не смог. Поделитесь, если есть...

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Сообщение MERCURY » 14.09.2009 17:58

Взялся за статью... Пока переделываю утилиты grb & bsum, чтобы стали более интеллектуальными :). Можно будет автоматически сжать/раздуть файл, подклеить к нему готовый блок для 6 серии, а grb теперь сама ищет фонты. Но ручками все равно придется поработать :(...

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Сообщение MERCURY » 17.09.2009 13:58

Товарищи ;)!!! Усовершенствовал свой способ русификации GeForce до того, что теперь возможна ПОЛНАЯ русификация ВСЕХ серий 6-7-8-9 единым подходом! Любуйтесь (кто не понял, я не виноват ;)):

БЫЛО:
0000EC10: pushad
0000EC12: push cs
0000EC13: pop ds
0000EC14: mov si,0DFE4 ;"-ô"
0000EC17: mov di,0C442 ;"-B"
0000EC1A: call 00000EBA0 -- (1)
0000EC1D: popad
0000EC1F: jmp 00000377A --- (2)

СТАЛО:
0000EC10: pushad
0000EC12: push cs
0000EC13: pop ds
0000EC14: mov si,0DFE4 ;"-ô"
0000EC17: mov di,0C442 ;"-B"
0000EC1A: call 00000EC22 --- (1)
0000EC1D: popad
0000EC1F: jmp 00000377A --- (2)
0000EC22: nop
0000EC23: nop
0000EC24: nop
0000EC25: push es
0000EC26: push ds
0000EC27: push di
0000EC28: push si
0000EC29: mov ax,01000 ;" "
0000EC2C: mov di,00000
0000EC2F: mov es,ax

0000EC31: call 00000EBA0 --- (3)
0000EC34: pop di
0000EC35: pop di
0000EC36: pop es
0000EC37: pop es
0000EC38: mov cx,01800 ;" "
0000EC3B: mov ax,01000 ;" "
0000EC3E: mov si,00000
0000EC41: mov ds,ax

0000EC43: repe movsb
0000EC45: retn

Напоминаю, что по 0xEBA0h у меня мой распаковщик... Теперь метод пригоден для всех случаев полной русификации, в том числе и для 6 серии.

BolenB
Новичок
Сообщения: 40
Зарегистрирован: 18.05.2009 17:30
Откуда: Россия
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение BolenB » 17.09.2009 18:16

Сегментный регистр DS надо бы восстановить, как был по умолчанию.

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Сообщение MERCURY » 17.09.2009 18:42

BolenB писал(а):Сегментный регистр DS надо бы восстановить, как был по умолчанию.
А popad на кой хрен вверху сидит :lol:? Она там и раньше была...
Смысл нововведения понятен?

Lovrik
Модератор
Сообщения: 1487
Зарегистрирован: 22.01.2004 15:48
Откуда: Россия, Питер
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение Lovrik » 17.09.2009 18:43

MERCURY Молодец! Глядишь к нам на сайт все будут ходить за русификациями ))

BolenB
Новичок
Сообщения: 40
Зарегистрирован: 18.05.2009 17:30
Откуда: Россия
Контактная информация:

Re:

Сообщение BolenB » 17.09.2009 18:48

MERCURY писал(а):
BolenB писал(а):Сегментный регистр DS надо бы восстановить, как был по умолчанию.
А popad на кой хрен вверху сидит :lol:? Она там и раньше была...
Смысл нововведения понятен?
А с каких пор pushad, popad сохраняют сегментные регистры ds,es?

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение MERCURY » 17.09.2009 18:59

КАК?! А, ну да, щас вот посмотрел мануал по 486 - не сохраняет :(... Исправим :). Но как ни странно, и без этого все пашет... Знаете, у меня даже руки зачесались авторусификатор сделать :)...

BolenB
Новичок
Сообщения: 40
Зарегистрирован: 18.05.2009 17:30
Откуда: Россия
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение BolenB » 17.09.2009 19:18

Вместо mov di,00000 можно юзать xor di, di.
Вместо mov si,00000 можно юзать xor si, si.
Занимает меньше места и быстрее исполняется (это если 00000 константа и менятся не будет)

Lovrik
Модератор
Сообщения: 1487
Зарегистрирован: 22.01.2004 15:48
Откуда: Россия, Питер
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение Lovrik » 17.09.2009 19:18

MERCURYСделай друг, ПОЖАААЛУЙСТА!!! Ты возвысишься над толпами демагогов и станешь тру креатором ))

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение MERCURY » 17.09.2009 20:14

BolenB писал(а):Вместо mov di,00000 можно юзать xor di, di.
Вместо mov si,00000 можно юзать xor si, si.
Занимает меньше места и быстрее исполняется (это если 00000 константа и менятся не будет)
Да, константа... Но это не критично. Гораздо более серьезный вопрос - что, если материнский биос вдруг задумает занять сегмент 1000:0, например, временными переменными? Такое бывает?
Вот, кстати, весьма полезная утилитка - может по щучьему велению менять размеры и прочие характеристики текстового экрана. Для нас особенно полезна команда "z I"
Вложения
z.zip
(25.22 КБ) 83 скачивания

BolenB
Новичок
Сообщения: 40
Зарегистрирован: 18.05.2009 17:30
Откуда: Россия
Контактная информация:

Re:

Сообщение BolenB » 18.09.2009 12:28

MERCURY писал(а):Товарищи ;)!!! Усовершенствовал свой способ русификации GeForce до того, что теперь возможна ПОЛНАЯ русификация ВСЕХ серий 6-7-8-9 единым подходом! Любуйтесь (кто не понял, я не виноват ;)):

0000EC29: mov ax,01000 ;" "
0000EC2C: mov di,00000
0000EC2F: mov es,ax

0000EC31: call 00000EBA0 --- (3)
0000EC34: pop di
0000EC35: pop di
0000EC36: pop es
0000EC37: pop es
0000EC38: mov cx,01800 ;" "
0000EC3B: mov ax,01000 ;" "
0000EC3E: mov si,00000
0000EC41: mov ds,ax

0000EC43: repe movsb
0000EC45: retn

Напоминаю, что по 0xEBA0h у меня мой распаковщик... Теперь метод пригоден для всех случаев полной русификации, в том числе и для 6 серии.
Я так понял, что вы распаковываете шрифты в свободную память (1000:0000), а затем копируете в то место где они должны лежать?
Насчет 6 серии Geforce: По моим экспериментам стандартную процедуру распаковки в знакогенератор отключать нельзя -> нет места в bios для полного набора шрифтов.
Пока еще не экспериментировал с выходом за 65535 байт размера bios, может быть на досуге займусь.

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение MERCURY » 18.09.2009 12:35

Я вот о чем подумал: пакованные фонты для 6 серии и для старших - совершенно разные! Для старших серий фонты начинаются одинаково - с 80 0F 10 18, а в 6 серии - 00 A1 ... Значит, и код упаковщика ОЧЕНЬ сильно разнится. Почему? Почему сменили упаковщик?
Так что хоть мы и нашли способ полной русификации 6 серии, тем не менее авторусификатор пока возможно сочинить лишь для 7 серии и старше. Да и то это будет не просто. Сигнатур хороших нет, а ляпать "дизассемблер на лету" - :? :insane: (печально).

MERCURY
Новичок
Сообщения: 68
Зарегистрирован: 18.05.2009 10:34
Откуда: 100 кило от Казани
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение MERCURY » 18.09.2009 12:49

BolenB писал(а):Насчет 6 серии Geforce: По моим экспериментам стандартную процедуру распаковки в знакогенератор отключать нельзя -> нет места в bios для полного набора шрифтов.
Простите великодушно, но в вашем grb.bin лежит полный набор фонтов... и полученный код меньше оригинального биоса. Изюминка не в том, что мы сначала 1) распаковываем в нижнюю память, а затем 2) переносим в нужное место, а в том, что процедуры 1 и 2 независимы друг от друга, и могут вызываться из разных мест: 1 вставляем вместе с фонтами взамен штатного распаковщика (E50Ch в вашем случае) в адаптер, а 2 - вместо штатной процедуры (35C9h) извлечения из него. Круто?

BolenB
Новичок
Сообщения: 40
Зарегистрирован: 18.05.2009 17:30
Откуда: Россия
Контактная информация:

Re: Русификация видео-BIOS, для GF6xxx и выше

Сообщение BolenB » 18.09.2009 13:35

1 вставляем вместе с фонтами взамен штатного распаковщика (E50Ch в вашем случае) в адаптер, а 2 - вместо штатной процедуры (35C9h) извлечения из него.
Пробовал я уже этот способ и получил мертвый вис. Первая процедура кроме копирования в знакогенератор адаптера производит еще какието действия (настройки). А копаться в этом коде дело неблагодарное (польза не оправдывает затрат).
Так что остается только замена фонтов после отработки штатных процедур 1 и 2.
Простите великодушно, но в вашем grb.bin лежит полный набор фонтов... и полученный код меньше оригинального биоса.
Максимум что удалось это вставить сжатые фонты с символами 30h - FFh в свободную область bios

Ответить