Автор: ROMby Unknown , 25 мая 2007
Вопрос такой: Есть оригинальный ноутбучный 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:
http://rapidshare.com/files/33217800/rombuild_script.zip

BCP Reports:
http://rapidshare.com/files/33294841/bcp-reports.zip
Содержимое данного поля является приватным и не предназначено для показа.

BBCode

  • HTML-теги не обрабатываются и показываются как обычный текст
  • You may use the following BBCode tags:
    • [align]
    • [b]
    • [code]
    • [color]
    • [font]
    • [hr]
    • [i]
    • [img]
    • [list]
    • [quote]
    • [s]
    • [size]
    • [spoiler]
    • [sub]
    • [sup]
    • [table]
    • [u]
    • [url]
  • Адреса веб-страниц и email-адреса преобразовываются в ссылки автоматически.

icbook

18 лет 9 месяцев назад

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

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

Unknown BIOS (не проверено)

18 лет 9 месяцев назад

...

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

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

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

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

[code:1][romhole]
Size = 0xC00
File = #AMD_SIP.bin
Startaddress = CF400
[/code:1]

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

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

icbook

18 лет 9 месяцев назад

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

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

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

Unknown BIOS (не проверено)

18 лет 9 месяцев назад

Исходя из данных в скрипте .bbp генерирует скрипт .mm

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

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

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

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

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

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

icbook

18 лет 9 месяцев назад

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

Unknown BIOS (не проверено)

18 лет 9 месяцев назад

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

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

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

apple_rom

18 лет 9 месяцев назад

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

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

Unknown BIOS (не проверено)

18 лет 9 месяцев назад

в чём смысл сего действа?

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

Unknown BIOS (не проверено)

18 лет 8 месяцев назад

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}
http://rapidshare.com/files/34421115/AMIBCP_DOS32a.ZIP

dd.zip (62 KB)
http://rapidshare.com/files/34422338/DD.ZIP