дампинг БИОСа

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
Ответить
Аватара пользователя
jugandar
Advanced Member
Сообщения: 1053
Зарегистрирован: 07.07.2013,01:08
Откуда: Саратов

дампинг БИОСа

Сообщение jugandar » 17.02.2017,14:12

Я когда то довольно успешно на ATC-1020 - прошивал "хотсвопом" флешки - прочитав статью на wiki.rom.by Теперь вот по просьбе коллеги с форума - сдампил ему БИОС с 386 материнки. Там все было расписано - думать не надо. Вопрос в другом. БИОС - он везде одинаково - на одних и тех же адресах висит или всё зависит от производителя, размера и "платформы"? Как мне узнать, где он засел в памяти, и по каким адресам его "дампить". Хочу, пока не поздно, - у всех своих "динозавров" биос слить - вдруг кому пригодится.
Есть компьютерные завалы от которых (уже НЕ)избавляюсь (и редко) за деньги, по мере их "наступления" на моё жизненное пространство

i8088
Advanced Member
Сообщения: 4387
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан

Конкурсы

Вклад в сообщество

Сообщение i8088 » 17.02.2017,15:12

XT-286 BIOS всегда в F_seg (для 286+ есть еще alias под границей 16MB(286)
и 4GB(386+)), например:
64KB BIOS (seg:off) 0xF000:0x0000 - 0xF000:0xFFFF

32KB BIOS (seg:off) 0xF000:0x8000 - 0xF000:0xFFFF итд.

Начиная с 386, где есть shadow, BIOS иногда сохраняется неверно при
включенном shadow, тк фактически читаем не ПЗУ BIOS , а RAM, в которой
некоторые байты могут отличаться.

В 486 бывает также, как в 386, но попадается и 64KB упакованный AMI,
в этом случае простое чтение памяти не поможет, тк там распакованный
модуль. То же касается почти всех BIOS 128KB и больше. Здесь для работы
с BIOS нужна спец утилита, манипулирующая регистрами PAM. Впрочем, начиная
с 486 с PCI такие утилиты не дефицит, это awdflash, amiflash, uniflash итп.

Для проверки правильности сохранения неупакованного BIOS Award проверьте
байтовую сумму всех байт BIOS - должна быть равна нулю.

Для AMI HI-Flex BIOS нулю должна быть рана сумма всех 16bit word BIOS, сумма
сама тоже 16bit word. У раннего 64KB 286 AMI (который часто с диагностикой)
контрольная сумма считается только для старшей половины, тк в младшей - программа
диагностики.

В XT обычно считается сумма байтов BIOS.

Аватара пользователя
jugandar
Advanced Member
Сообщения: 1053
Зарегистрирован: 07.07.2013,01:08
Откуда: Саратов

Сообщение jugandar » 17.02.2017,15:37

i8088
Спасибо.
А где можно по подробнее прочитать про адресацию памяти и тп, а то есть для меня много непонятных терминов.
или можно наглядно, допустим в NC включить просморт в режиме HEX и там слевой стороны будет последовательность адресов. Мне главное понять "что за чем следует" в этой "0 и 1 системе счисления"
Есть компьютерные завалы от которых (уже НЕ)избавляюсь (и редко) за деньги, по мере их "наступления" на моё жизненное пространство

i8088
Advanced Member
Сообщения: 4387
Зарегистрирован: 30.01.2015,17:06
Откуда: г. Баку, Азербайджан

Конкурсы

Вклад в сообщество

Сообщение i8088 » 17.02.2017,16:38

jugandar писал(а):Спасибо.
А где можно по подробнее прочитать про адресацию памяти и тп, а то есть для меня много непонятных терминов.
Тогда советую любую книжку по x86 ассемблеру, или x86 процессору. IMHO ранние издания
были написаны лучше. Например Л.Скенлон Персональные ЭВМ PC и XT Программирование
на языке ассемблера (там как раз адресация в XT/PC подробно рассмотрена).
Книга М.Гука Процессоры Intel от 8086 до Pentium2.

Про PAM (programmable attribute map)и прочие более "современные вещи" - datassheet-ы Intel
на их северные мосты, а также книга Дармавана Салихана:
BIOS Дизассемблирование, Модификация, Программирование.

Аватара пользователя
jugandar
Advanced Member
Сообщения: 1053
Зарегистрирован: 07.07.2013,01:08
Откуда: Саратов

Сообщение jugandar » 17.02.2017,17:29

i8088
Спасибо
Есть компьютерные завалы от которых (уже НЕ)избавляюсь (и редко) за деньги, по мере их "наступления" на моё жизненное пространство

Ответить