Текущий архив: 2003.03.24;
Скачать: CL | DM;
Вниз
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;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.007 c