Программное изменение настроек биоса

Тема в разделе "WASM.ELECTRONICS", создана пользователем RedRam, 20 апр 2008.

  1. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    Как программно поменять значение какого либо параметра в биосе.Например First Boot Device
    изменить на cdrom или floppy итд.
     
  2. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Всё в CMOS хранится.
     
  3. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    RedRam
    Если конкрентно нужно
    Возьми спецификацию BIOS Boot Specificationи прочитай там все написанно. А что не расписанно смотри в спецификации PnP.
     
  4. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Эти параметры уникальны для каждого BIOS.
    У меня плата: GA-8IPE1000MK / Intel 865PE AGPSet BIOS, параметр FirstBootDevice хранится в CMOS по смещению 066h, чексумма по смещению 7Dh. Сдампи несколько раз свой CMOS и посмотри какие параметры меняются.
     
  5. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    У меня Amibios.Если не трудно объясни как дампить cmos и как пользоваться той прогой которую ты дал (что нужно делать с создавшиимся файлом cmosdump)
     
  6. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Приаттачь сюда дампы с описанием того, что менял, там посмотрим..
     
  7. t00x

    t00x New Member

    Публикаций:
    0
    Регистрация:
    15 фев 2007
    Сообщения:
    1.921
    RedRam
    для чтения/записи Amibios используется afudos.exe
     
  8. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    По правде сказать я ещё ни чего не менял я прогу просто запустил и собственно создался этот файл.
     
  9. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    нет.мне как раз надо чисто на асме собрать что то подобное
     
  10. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Так ты BIOS перешить хочешь ?
    Я то подумал другое..
     
  11. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    Несовсем так. Я хочу изменить параметр только сделать это на ассемблере.За CMOS недавно взялся так что пока даётся довольно трудно.Можешь вкратце объснить как делать дамп?
     
  12. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    RedRam
    Сдампить легко пробигаешься по всем регистрам http://wiki.osdev.ru/index.php/CMOS
    Если полезишь в верхнии 128байт могут быть проблемы с доступом.
     
  13. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    Хмм спасибо.Теперь узнал что есть RTC.Можешь тогда объснить пошагово если не сложно,что происходит во время перезаписи какого либо параметра(я например незнал что есть какой то RTC и он меняет своё состояние после изменений).
     
  14. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    RedRam
    CMOS - это независимая памить.
    Первые 14 байт перенапровляют на RTC - Real Time Clock.
    Остальные ячейки это простая память и при их записи ничего не меняется. Изменения вступят только после перезагрузки. Вообщем от биоса к биосу назначения изменяются и на разных материнках тоже могут быть разными.
    В интернете можно найти назначения ячеек у разных биосов. У Ральфа Брауна к примеру.
     
  15. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    Слушай тогда такой вопрос.В кратком мануале по программированию cmos написано что,лучше всё это делать из под реального режима а в винде использовать драйвера.Получается из под винды прога работать будет коряво или вообще не будет(clear cmos вроде нормально пашет)?
     
  16. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    RedRam
    При запуски досовской программы в винде происходит эмулирование переферии, так что остальное лежит на совести разработчика. В Win98 в основном прямой доступ в XP все закрыто и часть переферии эмулируется.
    Так что скорее всего работать не будет.
     
  17. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    Можешь тогда посоветовать более менее эффективный способ?
     
  18. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    RedRam
    Реальный режим или драйвер писать.
     
  19. RedRam

    RedRam New Member

    Публикаций:
    0
    Регистрация:
    20 апр 2008
    Сообщения:
    28
    Если не трудно можешь привести пример скелета драйвера.Или подкинь названия мануалов доков итд по этой теме.
     
  20. Clerk

    Clerk Забанен

    Публикаций:
    0
    Регистрация:
    4 янв 2008
    Сообщения:
    6.689
    Адрес:
    РБ, Могилёв
    Там всего 128 регистров, просто проблемы быть могут изза установки в таком случае бита 7 порта адреса регистра CMOS - управление NMI.