Ревизия системных ресурсов.

09/26/94 06:35pm revizia.lek
П.Нортон, Р.Уилтон "IBM PC и PS/2 руководство по программированию" перевод В.Н.Григорьева М "Радио и связь" 1994
Роберт Журден "Справочник программиста на персональном компьютере фирмы IBM"

Ревизия системных ресурсов.

При создании системных программ ограниченного размера и максимального быстродействия необходимо точно знать характеристики используемых устройств. Подобная задача стоит и при разработке BIOS-а для открытых систем.
Определить количество ВУ их параметры можно тремя способами:

Первые два способа наиболее просты, но и наименее достоверны - все сводится к знаниям пользователя, который может ошибиться в ответах или в установке регистров.

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

ROM - BIOS

Имеющиеся различия в ПЗУ машин могут влиять на рабочие характеристики программ. Это связано с различным набором встроенных фукций BIOS и различным балансом между аппаратными и программными ресурсами компьютеров.

Маркер даты выпуска BIOS и номера модели обычно храниться в конце области постоянной памяти машины. В компьютерах фирмы IBM дата записана в области
с F000:FFF5h до F000:FFFCh, а код машины по адресу F000:FFFEh.

Кроме этого для ROM-BIOS после 6/10/85 возможно получение таблици с дополнительной информацией, если обратиться к службе C0h прерывания 15h.

Примечания:

1 Дата представлена в американском формате: месяц/число/год;

2 Модели машин:

FFh

PC

FEh, FBh

PC/XT

FCh

PC/AT, PS/2-50, PS/2-60, PC/XT-286

FAh

PS/2-25, PS/2-30

F8h

PS/2-80

FDh

PCjr

F9h

PC Convertible

3 Формат таблици конфигурации:

0

размер таблици

2

байт модели

3

байт подмодели

4

байт уровня ревизии ROM BIOS

5

байт специальной информации

Определение версии MS DOS

Эта операция необходима если Вы используете функции, отсутствующие в более ранних версиях. Номер версии DOS возвращает функция 30h прерывания 21h.
Старшая часть номера содержится в AL младшая в AH. Если в AL будет 0, то значит номер версии меньше 2.00

Определение числа и типов адаптеров дисплея.

Для проверки наличия EGA необходимо прочитать байт по адресу 0040:0087h, если там 0, то EGA отсутствует. Если значение не 0, то биты означают следующее:

Функция 12h прерывания 10h сообщает дополнительную информацию о типе примененного дисплея и количестве памяти на карте EGA.

Определение типа дисковых накопителей.

Информация о типе диска находится в первом байте FAT:


Stay-at-home