Нужно просвещение! По BIOS Patcher и CheckSum

Есть такое дело - нужно добавить/изменить код в BIOS - 2 Mbit, Гигабайтовский.
1) Редактируем основной код 128 Кб, который идет сначала прошивки, то есть распаковываем, меняем, пакуем, суем обратно. Проблема с CheckSum - она идет сразу после упакованного файла - один байт.

Но есть 4 байта в файле BIOS по адресам 37FFE..38001, которые тоже каким-то макаром относятся к контрольным суммам.

Вопрос - как они вычисляются?

Вообще-то 1-й байт как мы поняли - это контрольная сумма кода 0..37FFD. Но уже со второго - непонятки. Второй байт равен первому + 11h. Что это за константа и откуда? Непонятно. Ну а остальные 2 байта - вообще мрак.

2) После обработки файла BIOS патчером - туда добавляются два файла - modul.tmp и start.tmp. Насколько я понял, первая команда start.tmp передает управление в modul.tmp. Я сравнивал два патченных файла с разным размером modul.tmp - меняется кроме самого modul.tmp только эти же самые байты - 37FFE...38001 и еще кусочек после них (пустого места видимо - там 00 00 FE забиваются FF FF FF)

Вопрос - как передается управление на start.tmp? Ведь нигде больше ничего не меняется, а адрес start.tmp меняется? И как встроить код в modul.tmp так, чтобы БИОС нормально работал?

Аватар пользователя rgt

axelf Дубль убил. Про то, что надо делать для обновления контрольной суммы, по крайней мере для АВАРДа написано не один раз - пользуйтесь поиском. А начать лучше со статьи про редактирование БИОС, котрая (сюрприз) живет на этом сайте в разделе "статьи"

За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.

Не надо убивать. shock

Вопрос был - как эти байты вычисляются, а не как их поправить. Мне нужен именно алгоритм вычисления и где искать все дополнительные контрольные суммы.

Опять же - про modul.tmp и start.tmp вопрос?

Читал статьи - и как редактировать BIOS и как контрольную сумму править. Не помогает. :)
Эти вопросы там не раскрыты.

ЗЫ: Вдогонку - в оригинальном файле контрольная сумма всего файла БИОС совпадает с 3-им байтом из этих четырех, а после BIOS патчера сумма всего файла = 0 и не совпадает с 3-им байтом (из 4-х - 37FFE..38001). Что за фигня?

Ау, помогите, спецы!

Отправить комментарий

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые HTML-теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img>
  • You can use BBCode tags in the text. URLs will automatically be converted to links.

Подробнее о форматировании текста

Антибот - введите цифру.
Ленты новостей