В общем есть задачка - хочу сделать себе в AWARD BIOS штуку - интегрированный memtest86+. Данная штука реальна и сделана в матплатах Biostar TForce 550. Необходимые модули для этого лежат здесь - rebelshavenforum.com/sis-bin/ultimatebb.cgi?ubb=get_topic;f=52;t=000074;p=0. Точнее lejabeach.com/sisubb/memtest170rom.zip. Первая ссылка обсуждение на буржуйском форуме как обновить данную штуку.
В общем в чём стопор у меня - пока теоретизирую. Как сделать данную функцию вызываемой к примеру после прохождения POST, например вместо Alt+F2 вместо awdflash или ezflash? Award BIOS дулает какие-то проверки? Второе - в идеале сделать эту функцию пунктом в BIOS Setup - там же на этом буржуйском форуме описано добавление нового пункта в Award BIOS Setup.
Все предложения - обсуждаются здесь - авось мой опыт поможет кому ещё.
Господа, для решения этой задачи мне требуется даташит на чипсет NVIDIA GeForce 6150 + nForce 430 .
Прошу помощи.
- Нашли дураков! -- Визгливо кричал Паниковский. - Вы мне дайте Среднерусскую возвышенность, тогда я подпишу конвенцию.
- Как? Всю возвышенность? - заявил Балаганов. - А не дать ли тебе еще Мелитополь впридачу? Или Бобруйск?
:)
Открытая книга: icbook.com.ua
"Мальчик, может, тебе дать ещё и ключ от квартиры, где деньги лежат?"
Strelets
не нужны там даташиты, если только ты конечно не собрался дописывать memtest (который похоже далеко не все чипсеты поддерживает). Но nforce4 он вроде поддерживает, включая и intel edition. Я особо не вдавался в сорцы мемтеста, но он похоже не сильно опирается на работу с чипсетом, в основном идентификация. Так, немного.
doing unexpected things often brings unexpected results
я решил сделать полноценный редактор для award6 меню, ориентированный на моддинг, с поддержкой special item'ов.
Руками добавлять полноценный пункт меню -- геморрой, даже с использованием вспомогательных утилиток (типа дампера menuitem'ов или добавления своего текста к _xx_code.bin). Особенно, если не какой-нть банальный выбор из нескольких пунктов, а тотально опирающийся на код, т.е. на обработчики. В модбине же не редактор меню, а залепа, для серьёзных целей не годится.
Чтобы можно было при добавлении новой функции автоматически
1. добавить новый пункт меню с заданными атрибутами, в т.ч. и заданием special-обработчиков для menuitem'а
2. найти свободное место в original.tmp
3. записать туда код своего обработчика(-ов)
4. для этого пункта сделать релокацию страницы menuitem'ов в свободное место (актуально для special'ов и меню в original.tmp).
5. автоматом изменять/добавлять строки в _xx_code.bin
6. соответственно настроить все указатели на special'ы и обработчики
Ну и ессно редактирование/удаление существующих пунктов.
E.T.A. = на этой неделе.
doing unexpected things often brings unexpected results
скрестил пальцы. Боюсь спугнуть
-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам
Немного пока неконструктивной критики.
Предполагается, что основной код обработчиков будет размещаться как раз не в original.tmp, а в отдельном модуле. В оригинал.тмп будет писаться только необходимый минимум для передачи управления куда надо и переходники для обработчиков. Но вообще при наличии достаточного места в original.tmp можно целиком селиться и там, это не принципиально. Под это дело планируется встроенный модуль-лоадер, чтобы, например, можно было добавить к биосу прогу (+вызов из сетапа) типа ezflash.exe не написав (в идеале) ни одной строчки на ассемблере.
насчет своб.места пока следующие мысли:
- взвалить задачу нахождения своб.места на программера -- поиском или принесением чего-либо в жертву и соотв. подсовыванием проге смещения и размера этой области.
- пробовать определенный набор известных мест, ессно проверять их на n-ое кол-во 00/FF. Сейчас весьма лакомой областью является большой массив нулей перед +E000h в F-Seg (т.е. 1E000h в original.tmp). Пока проверил примерно десяток авардов -- во всех перед E000h имеются нули.
- задействовать неиспользуемые menuitem'ы, если конечно таковые найдутся. Много места и не надо в принципе, если найдутся хотя бы несколько подходящих -- уже неплохо. Здесь также предусматривается определенный ручной режим, т.е. возможность принести в жертву какой-то menuitem по указанию пользователя, т.к. далеко не всегда программа может автоматически определить, что menuitem не нужен.
Пока мне бы пригодилась свежая инфа по управляющим последовательностям в сообщениях (BORDER, POS, etc.), т.к. они похоже со времен исходников 6го аварда немного поменялись. Сужу по тому, что на выходе дампера _en_code.bin есть некоторые строки с кракозябрами. Пока с ними не разбирался, может и просто какой баг, но вообще похоже на новые/изменившиеся управляющие структуры.
А что за ром патчер, где его взять можно? На сайте вроде только bios patcher нашел.
doing unexpected things often brings unexpected results
В общем, чтобы такого не произошло - просто предлагаю не ходить по всем граблям, на которые наступал сам многократно и по которым ходит любой, кто плотно занимается этой темой.
п.с. Исходники скину - стукнись в аську...
Еще насчет мемтеста - ему глубоко все равно, какой северный/южный мост старые версии прекрасно работали на новых АМД...
Уважаемые коллеги, в переписке с нашими англоязычными партнерами помните: whether - который, weather - погода, wether - кастрированый баран!
У некоторых людей торс - это просто разветвитель, позволяющий подключить руки и голову к заднице.
Отправить комментарий