Для эмуляции дисков на загружаемых CD-ROM к сервисам BIOS Int 13h добавляется несколько новых функций:
♦ 
♦ 
Подробнее расширенный сервис рассмотрен в [4].
12.8.4. Int 14h — поддержка СОМ-портов
СОМ-порты поддерживаются Int 14h, который обеспечивает описанные ниже функции.
♦ 00h — AL; запрет источников прерываний). На сигналы DTR и RTS влияния не оказывает (после аппаратного сброса они пассивны).
♦ 01h — AL (без аппаратных прерываний). Активируются сигналы DTR и RTS, и после освобождения регистра THR в него помещается выводимый символ. Если за заданное время регистр не освобождается, фиксируется ошибка тайм-аута и функция завершается.
♦ 02h — DTR (RTS переходит в пассивное состояние), и ожидается готовность принятых данных, принятый символ помещается в регистр AL. Если за заданное время данные не получены, функция завершается с ошибкой тайм-аута.
♦ 03h — МSR и LSR). Эту гарантированно быструю функцию обычно вызывают перед функциями ввода-вывода во избежание риска ожидания тайм-аута.
При вызове Int 14h номер функции задается в регистре АН, номер порта (0–3) — в регистре DX (0 — COM1, 1 — COM2…). При возврате из функций 0, 1 и 3 регистр АН содержит байт состояния линии (регистр LSR), AL — байт состояния модема (MSR). При возврате из функции 2 нулевое значение бита 7 регистра АН указывает на наличие принятого символа в регистре AL; ненулевое значение бита 7 — на ошибку приема, которую можно уточнить функцией 3.
Байт состояния линии (регистр АН) имеет следующий формат:
♦ бит 7 — ошибка тайм-аута (после вызова функции 2 — признак любой ошибки);
♦ бит 6 — регистр сдвига передатчика пуст (пауза передачи);
♦ бит 5 — промежуточный регистр передатчика пуст (готов принять символ для передачи);
♦ бит 4 — обнаружен обрыв линии;
♦ бит 3 — ошибка кадра (отсутствие стоп-бита);
♦ бит 2 — ошибка паритета принятого символа;
♦ бит 1 — переполнение (потеря символа);
♦ бит 0 — регистр данных содержит принятый символ.
AL при возврате из функций 0, 1, 3) имеет следующий формат:
♦ бит 7 — состояние линии DCD;
♦ бит 6 — состояние линии RI;
♦ бит 5 — состояние линии DSR;
♦ бит 4 — состояние линии CTS;
♦ бит 3 — изменение состояния DCD;
♦ бит 2 — изменение огибающей RI;
♦ бит 1 — изменение состояния DSR;
♦ бит 0 — изменение состояния CTS.
При инициализации порта биты регистра AL имеют следующее назначение:
♦ биты [7:5] — скорость обмена:
• 000=110; 100=1200; 001=150; 101=2400;
• 010=300; 110=4800; 011=600; 111=9600 бит/с;
♦ биты [4:3] — контроль паритета:
• 01 — число единиц нечетное;
• 11 — четное;
• 0 и 10 — без контроля;
♦ бит 2 — количество стоп-бит: 0–1 бит, 1–2 бита (на скорости 110 бит/с — 1,5 стоп-бит);
♦ биты [1:0] — длина посылки: 00 — 5 бит, 01 — 6 бит, 10 — 7 бит, 11 — 8 бит.
В процессе начального тестирования POST BIOS проверяет наличие последовательных портов (регистров UART 8250 или совместимых) по стандартным адресам и помещает базовые адреса обнаруженных портов в ячейки BIOS Data Area 0:0400, 0402, 0404, 0406. Эти ячейки хранят адреса портов с логическими именами COM1-СОМ4. Нулевое значение адреса является признаком отсутствия порта с данным номером. В ячейки 0:047С, 047D, 047Е, 047F заносятся константы, задающие тайм-аут для портов.
Обнаруженные порты DTR и RTS переводятся в исходное состояние («выключено» — положительное напряжение).
12.8.5. Int 17h — поддержка принтера
Сервисы Int 17h: обеспечивают инициализацию, вывод байта данных и опрос состояния принтера, подключенного к LPT-порту. При вызове функция задается в регистре АН, номер LPT-порта — в регистре DX.
♦ АН = 00h — AL по протоколу Busy), формируется строб.
♦ АН = 01h — Init#, запрет аппаратных прерываний и переключение на вывод двунаправленного интерфейса).
♦ АН = 02h — 
При возврате регистр АН содержит SR[7:3] и программно формируемого флага тайм- аута. Биты 6 и 3 относительно байта, считанного из регистра состояния, инвертированы. Назначение бит байта состояния:

 
                