Как програмно включить компьютер ?

Тема в разделе "WASM.NT.KERNEL", создана пользователем Clerk, 11 апр 2008.

  1. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    VaStaNi
    а ты как хотел %)
    Пока я правильно научился выключать комп, кучу кода пересмотрел, переписал, перетестил.
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Удалось вызвать прерывание 1Ah с помощью Ke386CallBios(). Оказалось она выполняет только заполнение полей Alarm относящихся к RTC и не затрагивает блок данных BIOS. Так и должно быть, ведь RTC вырабатывает прерывание а BIOS его обрабатывает. BIOS заполняет свои поля лишь при установке будильника из настроек его в ручную и документированного сервиса нет. Насчёт триггера - видимо это бит VRT регистра D RTC. Идея была хорошей. Единственный нормальный способ - вручную программировать RTC и заполнять поля BIOS в CMOS вручную для каждой мат. платы и версии BIOS по своему. Выводы:
    Копия времени срабатывания будильника хранится в CMOS в области данных биос. Адрес этих данных уникален для каждого BIOS. Также данные BIOS защищены контрольной суммой и если она будет неверной, то BIOS сбрасывает CMOS. При обращении несколько раз подряд к одному и томуже регистру CMOS необходимо каждый раз выводить в порт адреса регистра его адрес.
    Единтственный вопрос который остался - порт управления питанием ATX.
    Вообщем тему можно считать себя исчерпавшей.