Интегрированный MemTest

В общем есть задачка - хочу сделать себе в 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

- Нашли дураков! -- Визгливо кричал Паниковский. - Вы мне дайте Среднерусскую возвышенность, тогда я подпишу конвенцию.

- Как? Всю возвышенность? - заявил Балаганов. - А не дать ли тебе еще Мелитополь впридачу? Или Бобруйск?

:)

"Мальчик, может, тебе дать ещё и ключ от квартиры, где деньги лежат?"

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

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

скрестил пальцы. Боюсь спугнуть

-=Кто сказал что бесполезно биться головой об стену...=- (НП)
Пх’нглуи мглв’нафх Ктулху Р’льех вгах’нагл фхтагн
Хочешь сделать хорошо - сделай это сам

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

Немного пока неконструктивной критики.:)

Цитата:
  • 1. добавить новый пункт меню с заданными атрибутами, в т.ч. и заданием special-обработчиков для menuitem'а
  • 2. найти свободное место в original.tmp
  • 3. записать туда код своего обработчика(-ов)
  • 4. для этого пункта сделать релокацию страницы menuitem'ов в свободное место (актуально для special'ов и меню в original.tmp).
  • 5. автоматом изменять/добавлять строки в _xx_code.bin
  • 6. соответственно настроить все указатели на special'ы и обработчики
Минус в совместимость. Не во всех BIOS есть свободное место, а где есть - не всегда можно автоматизировать его поиск для корректного использования. Так работал патчер самых первых версий. Выход - использовать модульность и учитывать "динамичность" (не пытаясь рассчитывать на "статичное" свободное место в E000/F000). C радостью предоставлю исходники биоспатчера для реализации подобного (вряд ли особо помогут-понадобятся), равно как и ромпатчера (с реализации виндовой оболочки и не только для аварда) - в нём была заложена как раз реализация всего вышеописанного в том числе.

Предполагается, что основной код обработчиков будет размещаться как раз не в 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

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

Цитата:
В оригинал.тмп будет писаться только необходимый минимум...
"Писаться" - это слово цепляет целую кучу не всегда очевидных проблем, погрязнув с разрешением которых у большинства опускаются руки и "до задуманного" дело просто обычно не доходит.;) Любое вмешательство потребует пересчёта изменённых контрольных сумм и соблюдения формата структуры образа BIOS при сборке. Это учёт вариантов с разными по объёму BIOS, учёт "оемных" вариаций, "исторических" модификаций и т.д. и т.п. Потому "ломовой" метод (с записью поверх и последующей перепаковкой) - стратегически неверный подход. Основания к таковому утверждению у меня есть - намучался с первыми версиями патчера, пытаясь "всё учесть". Всё перевешивает то, что гарантировать народу работу такого пересобранного BIOS - невозможно по определению. И в результате - смысл сделанного может быть полностью убит потенциальным риском убить систему.

В общем, чтобы такого не произошло - просто предлагаю не ходить по всем граблям, на которые наступал сам многократно и по которым ходит любой, кто плотно занимается этой темой.:)

п.с. Исходники скину - стукнись в аську...

Еще насчет мемтеста - ему глубоко все равно, какой северный/южный мост;) старые версии прекрасно работали на новых АМД...

Уважаемые коллеги, в переписке с нашими англоязычными партнерами помните: whether - который, weather - погода, wether - кастрированый баран!
У некоторых людей торс - это просто разветвитель, позволяющий подключить руки и голову к заднице.

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

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

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

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