Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Вниз

Bios адреса   Найти похожие ветки 

 
RimD   (2003-01-30 21:34) [0]

Нужны адреса bios"а, чтобы записать время просыпания компа, если кому интересно, пошлю интересный будильник


 
Ice   (2003-01-30 22:38) [1]


> Нужны адреса bios"а, чтобы записать время просыпания компа

???

Возможно, имеется в виду запись в CMOS?

Каждая ячейка имеет размер в 1 байт.
Таблица данных имеет следующий вид:
Адрес Назначение
00H-0DH RTC (Real Time Clock) - часы реального времени (таймер)
0EH Байт статуса процедуры POST (результат загрузки ПК)
0FH Байт завершения работы ПК
10Н Тип дисковода
11Н Зарезервировано
12Н Тип(ы) винчестера (если значение < 15)
13Н Зарезервировано
14Н Байт конфигурации оборудования
15Н-16Н Размер базовой памяти
17Н-18Н Размер памяти за пределом 1 Мб
19Н Тип винчестера С: (если значение > 15)
1АН Тип винчестера D: (если значение > 15)
1BH-20H Зарезервировано
21H-2DH Зарезервировано
2EH-2FH Контрольная сумма CMOS (от 10Н - 20Н)
30Н-31Н Размер расширенной памяти за пределом 1 Мб
32Н Номер текущего века в BCD нотации (например 17Н)
33Н Другая информация
34Н-3АН Зарезервировано

Запись в диапазон адресов 10Н-20Н должен сопровождаться корректировкой значений в ячейках 2ЕН-2FH. Иначе можно получить сообщение о неправильной установке параметров или о «усохшей» батарее CMOS, т.к. диапазон адресов 10H-20H защищены контрольной суммой. Контрольная сумма представляет собой 16-битную сумму всех значений, записанных в ячейки CMOS с 10Н по 20Н. В ячейку 2ЕН пишется старший байт суммы, а в 2FH - младший. В любом случае, мой вам совет - сначала сохраните старое значение CMOS (да и вообще все значения CMOS) а потом просто вычитайте или складывайте нужные значения с полученной контрольной суммой. Так проще.



 
Ice   (2003-01-30 22:38) [2]

ПОДРОБНЕЕ ОБ АДРЕСАХ CMOS
Адрес(HEX) Описание
00Н Текущая секунда
01Н Сигнальная секунда
02Н Текущая минута
03Н Сигнальная минута
04Н Текущий час
05Н Сигнальный час
06Н Текущий день недели (1 - Воскресенье)
07Н Текущий день месяца
08Н Текущий месяц
09Н Текущий год (только 2 последние цифры, напр. 98)
Все значения RTC храняться в BCD формате как 2 полубайта но в десятичном формате. Например 31 (dec) хранится как 31 (hex).

0AH - Регистр статуса RTC (# A): Биты 0-3 - Селектор уровня (установлены в 0110) Биты 4-6 - 22-уровневый делитель (установлен в 010) Бит 7 - В данный момент производится обновление (если == 0 то разрешено чтение).

0BH - Регистр статуса RTC (# B): Бит 0 - Включен режим экономии времени (летнее); (0 = стандартное время; по умолч. = 0) Бит 1 - 12 или 24 часовой режим времени (если 0 то 12 часовой; по умолч. = 1) Бит 2 - Режим BCD даты (1=двоичный, 0 =BCD, по умолч. = 0) Бит 3 - Включить Square Wave (1=включить; по умолч. = 0) Бит 4 - Включить прерывание обновления (0=отключить, по умолч. = 0) Бит 5 - Включить сигнальное прерывание (0=отключить, по умолч = 0) Бит 6 - Включить периодическое прерывание (0=отключить, по умолч. = 0) Бит 7 - UIP флаг (Update In Progress), 0 - можно читать CMOS.

0CH - Регистр статуса RTC (# С): в основном не используется.

0DH - Регистр статуса RTC (# D): если бит 7=1, то питание CMOS включено, если бит 7=0 - то батарея разряжена.

0EH - Байт диагностики загрузки (POST Byte): Биты 0 и 1 всегда равны 0. Бит 2 - Время правильное (1=верно, что сегодня не 30 февраля) Бит 3 - Неверный загрузочный жесткий диск (1=нельзя загрузиться с винчестера) Бит 4 - Ошибка размера RAM (1=POST нашла неверный размер RAM) Бит 5 - Неверная запись об оборудовании (1=неверное оборудование) Бит 6 - Неверная контрольная сумма (1=неверная сумма CMOS) Бит 7 - Утеря питания батареи CMOS (1=утеря питания).

0FH - Байт статуса завершения работы ПК. Применяется чаще всего после перезагрузки ПК процедурой SETUP. Значения могут быть следующие: 0 , если была перезагр. по нажатии Ctrl-Alt-Del или неожиданный перезапуск. В любом случае - процедура POST НЕ выполняется 1-перезапуск после определения размера памяти 2- перезапуск после теста памяти 3-перезапуск после обнаружения ошибки памяти 4-перезапуск по запросу загрузчика ОС 5-перезапуск вследствие дальнего перехода (FAR JMP) на адрес 0:0467Н 6,7,8- перезапуск после проверки защищ. режима 80286 9-перезапуск после переназначения блока памяти (ф-я 0х87 прерыв. 0х15).

10Н - Байт типа дисковода: Биты 0-3: первый дисковод Биты 4-7: второй дисковод В любом случае, значения битов могут быть следующими: 0000 = 0 = дисковод не установлен 0001 = 1 = 360К 0010 = 2 = 1,2 Мб 0011 = 3 = 720К 0100 = 4 = 1,44 Мб Например: 24Н - это диск А: размером 1,2М и диск В: размером 1,44М.

11Н - РЕЗЕРВ.

12Н - Тип винчестера (для дисков С: и D:, когда байт наход. В промежутке от 1 до 14). Биты 0-3: первый винчестер Биты 4-7: второй винчестер В любом случае, значения битов могут быть следующими: 0000 = 0 = диск не установлен другое_значение = тип диска 1111 = см. адреса 19Н и 1АН.

13Н - РЕЗЕРВ.

14Н - Байт оборудования: Бит 0 = 1, если присутствует дисковод(ы) Бит 1 = 1, если присутствует матем. сопроцессор Биты 2, 3 не используются и равны 0 Биты 5, 4 - основной видеоадаптер:00 - нет или EGA, 01 - 40*25 EGA, CGA, VGA, 10 - 80*25 EGA, CGA, VGA, 11 - монохромный (ч/б) Биты 6, 7 - количество дисководов - 1 (00=1, 01=2, 10=3, 11=4).

15Н, 16Н - Базовая память 15Н - младший байт 16Н - старший байт Могут быть равны:0100Н = 256К, 0200Н = 512К, 0280Н = 640К.

17Н, 18Н - Дополнительная память свыше 1 Мб 17Н - младший байт 18Н - старший байт.

19Н - Тип диска № 0 (С:), если значение адреса (12Н & 0FH) = 0FH.

20Н - Тип диска № 1 (D:), если значение адреса (12Н & F0H) = F0H.

1BH-2DH - РЕЗЕРВ.

2ЕН,2FH - Контрольная сумма значений адресов от 10Н по 20Н
2ЕН - старший байт, 2FH - младший байт.

30Н-31Н - РЕЗЕРВ.

32Н - Век в формате BCD.

33H - Другая информация (специфич. для машин AT/PS-2 класса).

34Н-3FH - РЕЗЕРВ. Как показывает практика, эта область чаще всего свободна от системных данных (но не всегда!), поэтому можете записывать сюда свои личные данные (но не много :) для сохранения между перезагрузками).

В любом случае: будьте крайне осторожны, не делайте ничего такого, чего потом вы не сможете вернуть обратно.


 
AlexKniga   (2003-01-31 11:30) [3]

2 Ice
Приведенная Вами карта CMOS относится к машинам IBM PC/AT. Современные машины ATX имеют объем CMOS не 40h bytes, а 80h и даже 100h.
Карта CMOS Phoenix BIOS в первых 40h байтах полностью отлична от стандарта PC/AT.
Карта CMOS Award BIOS в первых 40h байтах более/менее совпадает.
Карта CMOS AMI BIOS в первых 40h байтах менее :).

Мне не удалось получить от AMI их карту. У Phoenix она лежит свободно на сайте.

2 RimD
Попытайся найти карту CMOS от своего бивиса. Если нет, пробуй карту PC/AT.
И первым делом узнай как обнулять CMOS.



Страницы: 1 вся ветка

Форум: "Система";
Текущий архив: 2003.03.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
1-76377
_stranger_
2003-03-13 03:59
2003.03.24
Отчеты!!!!!!!!


14-76663
Neox
2003-03-08 22:46
2003.03.24
вопрос к пользователям TheBat!


1-76382
Boriss
2003-03-12 12:48
2003.03.24
Ошибка при запуске аппликации


1-76453
GRR
2003-03-12 09:39
2003.03.24
Как убрать фокус из StringGrid


3-76293
V-A-V
2003-03-03 07:14
2003.03.24
Сжать базу





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский