bios video card 6800

Здравствуйте!

Хочу поколупать bios GF6800, что-то не находится описание структуры начального участка, вернее, есть расхождения в найденных материалах. Ну там 55АА, размер, контр. сумма и т.п. Не понятно, откуда стартовать. Кто знает, направьте по истинному пути.

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

1-ая точка +3 от начала.
2-ая по +20h смотришь слово смещения PnP заголовка, по этому смещению д.б. сигнатура $PnP, дальше

                DB      '$PnP'                  ;SIGNATURE
                DB      01H                     ;STRUCTURE VERSION
                DB      02H                     ;LENGTH OF HEADER IN PARS
                DW      0                       ;OFFSET TO NEXT HEADER
                DB      0                       ;RESERVED
                DB      0                       ;+CHECKSUM
                DW      PCI_VID                 ;DEVICE ID
                DW      PCI_DID
                DW      xxx1                ;MANUFACT NAME
                DW      xxx2                ;PRODUCT NAME
                DB      0FFH                  ;+DEVICE TYPE CODE (BASE)
                DB      0                       ;+SUBTYPE
                DB      0                       ;+SUBSUBTYPE
                DB      40H                     ;+DEVICE INDICATORS (SHADOWED+IPL)
                DW      InitCode                ;+BOOT CONNECTION VECTOR
                DW      0                       ;DISCONNECT VECTOR
                DW      0                       ;BOOTSTRAP ENTRY POINT
                DW      0                       ;RESERVED
                DW      0                       ;RESOURCE INFO VECTOR

Смотришь смещения


DW InitCode ;+BOOT CONNECTION VECTOR
DW 0 ;BOOTSTRAP ENTRY POINT

Это еще 2 точки входа. Могут быть равны тому, что по +3, BOOTSTRAP ENTRY POINT может не быть.

Конечно
DEVICE TYPE CODE (BASE) и DEVICE INDICATORS будут другими.

А кому счас легко...

Спасибо, попробую... А это вообще откуда, в смысле, с какого БИОСа/устройства? Может, есть какие конкретные ссылки по теме?

Спасибо за внимание.

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

C моего wink Конкретика заменена xxxx
По теме - спецификации PCI и PnP BIOS (pci21.pdf и pnpbios.rtf в поиске)

А кому счас легко...

Нашёл, углубляюсь, спасибо

Спасибо за внимание.

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

исходные коды вибеобиоса для GeForce 2? никто не отменял...
riva.ixbt.com/soft/bios/nv15_bios_sources.zip [2.3MB]

Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P

savely_s писал(-а):
1-ая точка +3 от начала.
2-ая по +20h смотришь слово смещения PnP заголовка, по этому смещению д.б. сигнатура $PnP

А у меня PCIR, и в этих "pci21.pdf и pnpbios.rtf" расхождения, и смещение на PnP заголовок у меня по 18h. Или мелочи, смело шагать? В общем, трудности с определением формата... Кстати, FreeIDA pro может динамически переключаться с 16-и на 32-х разрядный код? Или какой дизассемблер посоветуете?

Спасибо за внимание.

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

Цитата:
А у меня PCIR ... и смещение на PnP заголовок у меня по 18h

Ну, по +18h - смещение на PCIR (это PCI-заголовок), верно.
И я 2 раза ступил
1. За 18h идет 1Ah, а не 20h :))
2. В видеокарточных BIOS вроде как нет PnP-заголовка

Так что стартуй ровненько с +3 от начала.

P.S. Ты исходники-то, что Root дал - скачал? По ним и смотри.

По IDA - вроде нет. Ты, конечно, можешь переделать сегменты в 32 бита, но это равносильно просто перегрузить файл. Другой я не посоветую...

А кому счас легко...

Root> исходные коды вибеобиоса для GeForce 2
savely_s> Ты исходники-то, что Root дал - скачал?

Скачал, но что это за GeForce 2? Применимо ли к gf6800 nv40? Есть там упоминания про nv10, nv15 etc. Про общие принципы понятно...

savely_s> За 18h идет 1Ah, а не 20h

Хе-хе, опять ошибка, за 18h идет 19h, и лишь потом... :)

savely_s> По IDA - вроде нет. Ты, конечно, можешь переделать сегменты в 32 бита, но это равносильно просто перегрузить файл.

А как же живут люди, если в процессе отработки биос-кода проц скачет 16-32 бит и назад?

Спасибо за внимание.

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

Содержание этого поля является приватным и не предназначено к показу.
  • Разрешённые 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.

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

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