Вставка в AMIBIOS AMD SIP ROM'a (ROMBUILD)

Вопрос такой: Есть оригинальный ноутбучный AMIBIOS (0700). Вытащил из него все модули и теперь пытаюсь собрать обратно с помощью "AMIBIOS BIOS ROM Build Utility Ver.4.08". Хоть он и для AMIBIOS8, но собирает имидж почти нормально. Почти, потому что во-первых: хоть я и указал разер NVRAM 0x20000 (NVRAMSize = 20000), но при просмотре bcp760 его размер оказывается 0x1F400. К тому же его расположение (D000:0C00) отличается от того что в оригинальном (C000:0000). Может это ничего страшного. Незнаю. Вторая проблема это "AMD SIP ROM". А именно то, что размер и его наличие bcp760 подтверждает (хоть и со сдвигом в 0xF400 байт), но при просматривании HEXедитором такового не обнаруживается. Может кто пользовался Builder'ом или знает в чем дело?

ROMBUILD Script:
rapidshare.com/files/33217800/rombuild_script.zip

BCP Reports:
rapidshare.com/files/33294841/bcp-reports.zip

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

В процессе генерации AMIBIOS утилита ROM Build занимает промежуточное место после AMIBIOS Builder Preprocessor, а далее следует ORGGUARD Utility, которая размещает все по сегментам (адресам). Некоторые моменты (в т.ч. и ROM SIP) неавтоматизированы. Это значит, что в make-файле непосредственно могут указываться фрагменты данных или кода.

P.S. Откуда дровишки?:)

icbook писал(-а):
...

Очень интересно! А не смогли бы описать, что именно делает "AMIBIOS Builder Preprocessor"?

Цитата:
а далее следует ORGGUARD Utility, которая размещает все по сегментам (адресам)

А ROM Build разве не по сегментам адресам, все размещает? Выглядит вроде (по репортам bcp и в hex'е) уже вполне завершенным и очено похожим на оригинальный биос.

С помощью [romhole] (кстати кто-нибудь знает что это такое?) получается вставить SIP, но тогда размещение модулей начинается не с Main BIOS Header'a (AMIBIOSC) и к началу рома, а с начала и не доходя до Main BIOS Header'a. Что как-то настораживает.

[romhole]
Size = 0xC00
File = #AMD_SIP.bin
Startaddress = CF400

Цитата:
P.S. Откуда дровишки?

Я так понимаю вопрос не про ROM Build'ер? Если про него то здесь
forum.rom.by/topic13541-25.html
rapidshare.com/files/23409525/tools.zip
а больше ничем не пользовался. Формат скрипта изучал с помощью "научного тыка" и сообщений ROM Build'ера.

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

SWmail писал(-а):
Очень интересно! А не смогли бы описать, что именно делает "AMIBIOS Builder Preprocessor"?

Исходя из данных в скрипте .bbp генерирует скрипт .mm
SWmail писал(-а):
ROM Build разве не по сегментам адресам, все размещает?

Совершенно верно. Но делает это он в первом проходе. Т.е. может сложиться ситуация, когда два модуля размещаются с одинаковыми параметрами DESTSEG и DESTOFF. Второй при этом должен быть помечен атрибутом APPEND. Для предотвращения пересечений и используется "точная" доводка с помощью ORGGUARD.

icbook писал(-а):
Исходя из данных в скрипте .bbp генерирует скрипт .mm

Раз имидж биоса в конечном счете генерируется через скрипт .mm значит теоретически "AMIBIOS Builder Preprocessor" необязателен? Т.е. SIP вставляется все таки ROMBUILD'ом? Если да, то как?

icbook писал(-а):
может сложиться ситуация, когда два модуля размещаются с одинаковыми параметрами DESTSEG и DESTOFF.

Проверил. Действительно не выдается никаких сообщений по этому поводу. Но ведь это не может помешать разместить SIP ROM в биосе?

icbook писал(-а):
Это значит, что в make-файле непосредственно могут указываться фрагменты данных или кода.

Не совсем понял. make-файл это .mm или тот, что еще до .bbp?

Может быть у кого-то есть информация по скриптам к bcp7...?

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

Обратите внимание, что ROM SIP - это не модуль в полном смысле этого слова! У него нет своего ID. Поэтому интегрируется он, как событие нерегулярное. Наилучший способ - руками, по образу и подобию.
P.S. make-файл, грубо говоря, это такой .bat, в котором все вызовы, в т.ч. и вызов ROMBUILD...

icbook писал(-а):
Наилучший способ - руками, по образу и подобию

Хотел, но в том месте где должен быть SIP, находится Main BIOS Header.
Где находится информация о SIP (т.е. его размещении и размере)?
Защищен ли он проверочной суммой? (если да то где ее искать?)
Что такое NVRAM, я так понимаю это не совсем (или совсем не) CMOS. Что в ней находится и где она располагается (т.е. во flash или куда-то переписывается)? Судя по отчету bcp именно в ней находится SIP.
Как быть с ней? Ее размер не соответствует задаваемому в .mm

P.S.: Извините за слишком много наверно не слишком умных вопросов:)

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

Цитата:
Вопрос такой: Есть оригинальный ноутбучный AMIBIOS (0700). Вытащил из него все модули и теперь пытаюсь собрать обратно с помощью "AMIBIOS BIOS ROM Build Utility Ver.4.08".

Хм, если не секрет - в чём смысл сего действа? Спортивный интерес (соберётся-несоберётся)?:)
Сборка "в кучу" готовых модулей не представляется чем-то особенным, ведь подобную операцию делает любой редактор биосов при внесении изменений на уровне модулей.
Мне лично видится интересным иметь возможность "собрать в кучу" из исходников. "Скомпилированные" же модули собирать - это как собирать два цвета в кубике-рубика.;)

apple_rom писал(-а):
в чём смысл сего действа?

1. Надоело каждый раз перезапускаться в ДОС чтоб в очередной раз запустить bcp (виртуальную машину ставить тоже нет желания, да и с ней получается как-то через огороды...). В ДОСе опять же нет всего набора иснтрументов.
2. Хочется автоматизировать процесс. Запустил make.cmd, получил готовый биос.
3. Как правильно было замечено "Спортивный интерес". Сам билдер можно много раз встретить в сети, а как с ним работать мне ни разу не попалось.

SWmail писал(-а):
1. Надоело каждый раз перезапускаться в ДОС чтоб в очередной раз запустить bcp (виртуальную машину ставить тоже нет желания, да и с ней получается как-то через огороды...). В ДОСе опять же нет всего набора иснтрументов.

Убрал из amibcp "DOS/4G Protected Mode Run-time" и вставил "DOS/32a" (v1.9.2), теперь утилита работает и в Windows'e. При этом уменьшился размер и как будто возрасла скорость работы. В DOS'е, так как вначале моего биоса идет firmware для Embedded Controller'а PC87591, была проблема, я, из-за отстутствия подходящего инструмента, не мог разместить его в биосе (amibcp не знает о нем и частенько затирает). Порывшись в инете нашел для DOS'а *nix программу 'dd' (кто не знает: программа для копирования чего угодно от куда угодно любого размера с любого смещения). Теперь обрезаю от биоса нужный размер и склеиваю с EC firmware (copy /b ec.bin+biospart.bin bios.rom).

Вобщем теперь работать можно вполне комфортно и без ROMBUIL'a, но все же вопрос остается открытым и по крайней мере для меня интересным.

AMIBCP_DOS32a.ZIP (368 KB)
{amibcp 7.60.04
amibcp 7.51.03
amibcp 7.01.01}
rapidshare.com/files/34421115/AMIBCP_DOS32a.ZIP

dd.zip (62 KB)


rapidshare.com/files/34422338/DD.ZIP

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

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

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

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