Industrial PC (PCA-6178) & Watchdog timer

Есть: мамка PCA-6178, на ней имеется аппаратный Watchdog timer (если в течении определённого времени в определённый порт не запишется некое значение, то комп ресетится).
Цель: включить этот самый Watchdog timer до попытки загрузки ОС.
Предполагаю дополнить код BIOS, но даже незнаю с какой стороны подойти, как найти последние инструкции выполняемые BIOS-ом перед тем как передать управление загрузчику?... Нашёл код, который грузит в 0000:7C00 первый сектор с дисков, но у меня загрузка происходит но сети:(
Есть кто нибуть, кто такое уже делал? или может кто-то поможет дельным советом?

BIOS AWARV v4.51 (2A69KAKG)

StarGaz0r писал(-а):
lh0 - это другой метод упаковки - по идее биос должен понимать lh5 и lh0 - можно попробоватб упаковать lha и модифицировать заголовок под нужный для биос
lh0 - это вроде store? нафигачьте пустого места чтоб было что жать :)

Так и сделанно:) Удлинив исходный файл до 512 байт, cbrom стал его упаковывать по LH5.

Цитата:
по поводу модулька - вот есть статейка - почитайте - может чего полезного почерпнете
geocities.com/mamanzip/Articles/Bios_Tricks.txt

Спасибо. Спасибо всем кто пытался помочь!
К сожалению вставить свой модуль у меня так и не получилось.

А сейчас уже всё сделано. И сделано по изначальному видению сей проблемы...
Вобщем рассказываю, может кому пригодится...


1. В моём случае, при неудачной попытке загрузить ОС с чего либо выдаётся сообщение DISK BOOT FAILURE, PRESS ENTER.... Так вот, для начала я искал этот текст (само сабой в распакованных файлах (конкретно original.tmp)). У меня начало сей строки было по адресу F000:548C (здесь я учёл все сегменты, т.е. адресс где эта строка находится в реальном BIOS-e).
2. Определившись с местоположением в биосе (адрес) я искал ссылку на начало этой строки, т.е. последовательность 2-х байт 8Ch, 54h. Кусков было около 10, но оди из них при последующем дизассемблировании оказался:
F000:5DE3 mov si,548Ch
F000:5DE6 call EDA8h ; как позже выяснилось это пп вывода строки.
3. Далее всё просто:
3.1. Находим свободное место;
3.2. Вписываем в свободное место свой код начинаем его CALL EDA8h, завершаем RET);
3.3. Вместо CALL EDA8h (F000:5DE6) делаем CALL на свой код.
3.4. Упаковываем original.tmp;
3.5. Размещаем файл из п. 3.4 по методике из статьи "Редактируем BIOS" с этого сайта;
3.6. Зашиваем в flash;
4. НАСЛАЖДАЕМСЯ СВОЕЙ МАЛЕНЬКОЙ НО ДЕЙСТВИТЕЛЬНО ПОЛЕЗНОЙ РАБОТОЙ:)

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

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

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

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