Автор: ROMby Unknown , 20 мая 2004
Содержимое данного поля является приватным и не предназначено для показа.

BBCode (added in Drupal 11)

  • 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-адреса преобразовываются в ссылки автоматически.

MmM

21 год 9 месяцев назад

Тут бы тебе реально смог бы помочь создатель ... но он в последнее время не часто нас жалует своим присутствием.

StarGaz0r

21 год 9 месяцев назад

скорее всего один сторожевой порт отключить не удастся - он ведь часть ACPI, да и винда его возможно опять сама найдет и включит - ищите даташиты на сей девайс...расположен в суперио...

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

21 год 9 месяцев назад

скорее всего один сторожевой порт отключить не удастся - он ведь часть ACPI, да и винда его возможно опять сама найдет и включит - ищите даташиты на сей девайс...расположен в суперио...

Про винду можно не беспокоиться. На этой машине крутится собственно написаная ОС. А мне необходимо до загрузки ОС выполнить комманды по запуску Watchdog.

apple_rom

21 год 9 месяцев назад

на ней имеется аппаратный Watchdog timer

Который встроен в генератор? Тогда найдите даташит на оный и программите на здоровье...
п.с. и нафиг он вас сдался??? :)

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

21 год 9 месяцев назад

на ней имеется аппаратный Watchdog timer

Который встроен в генератор? Тогда найдите даташит на оный и программите на здоровье...
п.с. и нафиг он вас сдался??? :)

Чувствую нужно разложить всё по полочкам (чтоб все поняли и прониклись проблемой :)
Есть стойка из N компьютеров такого типа (без дисков). Каждый комп в сети. Сеть этих компьютеров объединяется с другой сетью через радиолинк. В удалённой сети есть сервер с которого N компьютеров загружают ОС (по сети).
Я пытаюсь решить проблему следующего плана: если какомуто из N-компьютеров требуется перегрузиться (а такое бывает часто) и если на какоето время нет радиолинка (сервер не доступен), то компьютер в итоге напишит "Press any key" и будет ждать вмешательство оператора...
Так вот зачем мне здался этот Watchdog - чтобы комп автоматически уходил в ребут по истечении заданного времени.
Программировать Watchdog очень просто:
out 0443h,значение, где (значение) есть время в секундах до ресета.
in reg,0443h - выключает watchdog.
Мне нужно вставить код активизации Watchdog до того как комп поппытается загрузить ОС по сетке! Вот.
Или скажу по другому - мне нужно найти в биосе где он закончил POST и пытается определить (исходя из настроек) с чего грузить ОС (Fdd,HDD,CD-ROM,LAN,...).

Заранее спасибо.

StarGaz0r

21 год 9 месяцев назад

напишите на асме модулек расширения биос с данным кодом и приклейте его сибиромом.
модуль должен располагаться в памяти в адресах с C0000h по EFFFFh на 2-х килобайтной границе.
в начале расширения биос стоит слово $AA55, после которого идет jmp на точку входа

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

21 год 9 месяцев назад

напишите на асме модулек расширения биос с данным кодом и приклейте его сибиромом.
модуль должен располагаться в памяти в адресах с C0000h по EFFFFh на 2-х килобайтной границе.
в начале расширения биос стоит слово $AA55, после которого идет jmp на точку входа

Я понял! Но вот вопрос - а куда потом передать управление? или чем завершить код (не RETF случайно)?

StarGaz0r

21 год 9 месяцев назад

а куда потом передать управление? или чем завершить код (не RETF случайно)?


вы необычайно догадливы :wink:
изучите все тонкости на примере дизассемблирования сходного модулька из биоса

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

21 год 9 месяцев назад

а куда потом передать управление? или чем завершить код (не RETF случайно)?


вы необычайно догадливы :wink:
изучите все тонкости на примере дизассемблирования сходного модулька из биоса


Спасибо! :)

Прикрепил cbrom-ом свой кусочек кода со всеми (кажется) премудростями. cbrom /D - показывает что код упаковал, но просматривая образ биоса, обнаружил, что упакован он с не с сигнатурой lh5, а LH0...
В итоге - не работает :( и в памяти моего куска нету :cry:

PS: Там нет никаких контрольных сумм, проверки и т.д?
PS2: Танцы с бубном по замене LH0 на LH5 + update file MODBIN-ом желаемого результата не дают.

...как я уже запарился флешки перетыкать что бы эксперементальную машину восстанавливать... :twisted:

StarGaz0r

21 год 8 месяцев назад

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

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

BIOS AWARV v4.51 (2A69KAKG)