0813a560

Конфигурация персонального компьютера

Введение
Конфигурация персонального компьютера
Определение типа компьютера и версии BIOS

Установка перемычек на материнской плате
КМОП-память и конфигурация компьютера
- 0Dh - область часов реального времени
H - байт состояния диагностики
H - байт состояния отключения

- Тип используемых флоппи-дисков;
- Зарезервировано для AT, тип НМД для PS/2
- Типы первого и второго НМД
- Зарезервировано
- Конфигурация оборудования
-16H - объем основной памяти
-18H - объем дополнительной памяти
-1Ah типы первого и второго НМД
H-2Dh - зарезервировано
-31H - объем дополнительной памяти



Текущее столетие
- Различная информация
-3Fh - зарезервировано
Использование BIOS для определения конфигурации
Определение типа процессора

Конфигурация персонального компьютера

КЛАВИАТУРА
Принципы работы клавиатуры
Порты для работы с клавиатурой
Аппаратное прерывание клавиатуры
Средства BIOS для работы с клавиатурой

Чтение символа с ожиданием
Проверка буфера на наличие в нем символов
Получение состояния переключающих клавиш
Установка временных характеристик клавиатуры
Запись символов в буфер клавиатуры
Чтение символа с ожиданием для 101-клавишной клавиатуры
Проверка буфера на наличие в нем символов для 101-клавишной клавиатуры
Получение состояния переключающих клавиш для 101-клавишной клавиатуры
Средства MS-DOS для работы с клавиатурой

Буферизованный ввод с эхо-выводом
Буферизованный ввод без эхо-вывода
Нефильтрованный ввод без эхо-вывода
Ввод/вывод на консоль
Ввод строки символов
Проверка состояния стандартного ввода
Сброс буфера клавиатуры
Клавиатурные функции библиотеки Microsoft C

Конфигурация персонального компьютера

МЫШЬ
Как устроена мышь?
Драйверы мыши в MS-DOS
Прерывание для обслуживания мыши
Инициализация мыши
Включить курсор мыши

Выключить курсор мыши
Определить положение курсора
Установить курсор
Определить положение курсора при нажатии клавиши
Определить положение курсора при отпускании клавиши
Задать диапазон движения курсора по горизонтали
Задать диапазон движения курсора по вертикали
Задать форму курсора в графическом режиме

Задать форму курсора в текстовом режиме
Определить содержимое счетчиков перемещения
Установить драйвер событий
Включить эмуляцию светового пера
Выключить эмуляцию светового пера
Задать скорость перемещения курсора мыши

Установить область исключения для курсора
Задать увеличенный графический курсор (PC MOUSE)
Определить порог удвоения скорости
Заменить драйвер событий
Определить размер буфера состояния драйвера
Сохранить состояние драйвера
Восстановить состояние драйвера
Установить альтернативный драйвер событий
Получить адрес альтернативного драйвера событий
Установить чувствительность мыши

Определить чувствительность мыши
Установить частоту прерываний для Inport Mouse
Установить номер видеостраницы
Определить номер видеостраницы
Отключить драйвер мыши
Восстановить драйвер мыши
Сбросить драйвер мыши
Определить тип мыши
ЧАСЫ РЕАЛЬНОГО ВРЕМЕНИ
Прочитать показания часов реального времени
Установить часы реального времени
Прочитать дату из часов реального времени
Установить дату в часах реального времени
Установить будильник
Сброс будильника
Использование часов реального времени

Конфигурация персонального компьютера

СИСТЕМНЫЙ ТАЙМЕР
Микросхемы таймера 8253/8254
Программирование таймера на уровне портов

Средства BIOS для работы с таймером
Средства MS-DOS для работы с таймером
Таймер и музыка
Генерация случайных чисел

Конфигурация персонального компьютера

ПОРТ ПОСЛЕДОВАТЕЛЬНОЙ ПЕРЕДАЧИ ДАННЫХ
Основные понятия и термины
Аппаратная реализация

Порты асинхронного адаптера
Порт 3F8h.
Порт 3F9h.
Порт 3FAh.
Порт 3FBh.
Порт 3FCh.
Порт 3FDh.
Порт 3FEh.
Поддержка асинхронного адаптера в BIOS

Программирование асинхронного адаптера
Инициализация асинхронного адаптера
Передача данных
Прием данных
Пример программы передачи данных
Использование прерываний

Конфигурация персонального компьютера

ПРИНТЕР
Подключение принтера к компьютеру
Работа параллельного принтерного порта
Порт 378h.
Порт 37Ah.
Порт 379h.

Средства BIOS для работы с принтером
Средства MS-DOS для работы с принтером
Установка переключателей конфигурации
Программирование режимов принтера
ESC "@" Инициализация принтера

Генерация звукового сигнала
H Возврат каретки
H Перевод строки
H Перевод страницы
ESC "x" n Выбор качества печати:
Печать русских букв
Печать в графическом режиме

Конфигурация персонального компьютера

КОНТРОЛЛЕР ПРЕРЫВАНИЙ
Механизм прерываний.
Таблица векторов прерываний
Маскирование прерываний
Изменение таблицы векторов прерываний
Особенности обработки аппаратных прерываний.

Контроллер прерываний 8259

Конфигурация персонального компьютера

КОНТРОЛЛЕР ПРЯМОГО ДОСТУПА К ПАМЯТИ
Контроллер прямого доступа для IBMPC/XT
Регистры каналов DMA
Порты 00h - 07h
Порт 08h.
Порт 09h.
Порт 0Ah
Порт 0Bh
Порт 0Ch

Порт 0Dh
Порт 0Eh
Порт 0Fh
Порты 81h-8Fh
Инициализация канала DMA
Контроллер прямого доступа для IBM AT
Порты 0C0h - 0DFh
Порты 0D0h-0DFh

Конфигурация персонального компьютера

РАСШИРЕННАЯ ПАМЯТЬ
Основные понятия

Установка драйвера HIMEM.SYS
Спецификация XMS
Проверка подключения драйвера
Получение адреса управляющей программы
Описание функций драйвера HIMEM.SYS
Получить версию XMS
Запросить область HMA
Освободить область HMA
Глобальное открывание линии A20
Глобальное закрывание линии A20

Локальное открывание линии A20
Локальное закрывание линии A20
Определение состояния линии A20
Определение размера свободной расширенной памяти
Получить блок EMB
Освободить блок EMB
Копирование блоков EMB
Блокирование EMB
Разблокирование EMB
Получить информацию об индексе EMB

Изменить размер EMB
Запросить область UMB
Освободить область UMB
Коды ошибок
Ограничения при использовании области HMA
Примеры программ
Интерфейс с Си

Конфигурация персонального компьютера

ДОПОЛНИТЕЛЬНАЯ ПАМЯТЬ
Драйверы дополнительной памяти
Проверка подключения драйвера
Вызов функций драйвера
Стандартные функции EMM

Получить состояние EMM
Получить сегмент окна
Получить размер доступной памяти EMS
Открыть индекс EMM
Отобразить память
Закрыть индекс EMM
Получить номер версии EMM
Дополнительные функции EMM
Сохранить контекст отображения
Восстановить контекст отображения

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

Отобразить страницу и перейти по адресу
Отобразить страницу и вызвать процедуру
Переслать/обменять область памяти
Коды ошибок
Программа, использующая EMS