Расширения 13-го прерывания.

 

СОДЕРЖАНИЕ

 

1.       Проверка установки…………………………………………….ah41h

2.       Расширенное чтение…………………………………………….ah42h

3.       Расширенная запись…………………………………………….ah43h

4.       Проверка секторов………………………………………………ah44h

5.       Блокировка/Разблокировка диска…………………………….ah45h

6.       Извлечь носитель………………………………………………..ah46h

7.       Расширенный поиск…………………………………………….ah47h

8.       Получить параметры диска……………………………………ah48h

9.       Расширенная замена носителей……………………………….ah49h

10. Установка конфигурации аппаратных средств………..……ah50h

 

--------d-1341--BX55AA-----------------------

INT 13 - IBM/MS INT 13 Extensions-Проверка установки

AH = 41h

BX = 55AAh

DL = drive (80h-FFh)

Return: CF установлен при ошибке (расширения не поддерживаются)

AH = 01h ( недопустимая операция )

CF=0 , если всё удачно

BX = AA55h , если установленны

AH = главная версия расширений

01h = 1.x

20h = 2.0 / EDD-1.0

21h = 2.1 / EDD-1.1

30h = EDD-3.0

AL = внутреннее использование

CX = API поддерживают битовую карту (see #00253)

DH = версия расширения(v2.0+ ??? -- not present in 1.x)

Битовые поля для IBM/MS INT 13 Extensions API поддерживает битовые поля:

 

Бит(ы) Описание (Таблица 00253)

0                  Расширенные функции доступа к диску (AH=42h-

44h,47h,48h)поддерживаются.

1                  Функции контроллера сЪёмного диска(AH=45h,46h,48h,49h,INT 15/AH=52h)поддерживаются

2                  Усовершенствованные функции (EDD) дисковода (AH=48h,AH=4Eh) поддерживаются

3-15 зарезервированны(0)

--------------------------------------------------------------------

INT 13 - IBM/MS INT 13 ExtensionsРасширенное чтение

AH = 42h

DL = номер диска

DS:SI ->адресс дискового пакета (см. *00254)

Return:

CF=0 , если всё удачно

AH = 00h

CF установлен при ошибке

AH = код ошибки(see #00216)

По адресу дискового блока пакета, поле счётчика установлено в число блоков, успешно переданных.

SeeAlso: AH=02h,AH=41h"INT 13 Ext",AH=43h"INT 13 Ext"

 

Формат дискового пакета адреса:

Смещение Размер Описание (Table 00254)

00h BYTE 10h (размер пакета)

01h BYTE зарезервирован(0)

02h WORD число блоков для передачи (max 007Fh for

Phoenix EDD)

04h DWORD -> буфер передачи

08h QWORD Старт абсолютного номера блока

(Для не-LBA устройств,вычисляется как :

(Cylinder*NumHeads + SelectedHead) * SectorPerTrack + SelectedSector - 1

--------d-1343-------------------------------

INT 13 - IBM/MS INT 13 Extensions Расширенная запись

AH = 43h

AL = флаги записи

---v1.0,2.0---

bit 0: провека записи

bits 7-1 резерв (0)

---v2.1+ ---

00h,01h запись без проверки

02h запись с проверкой

DL = номер диска

DS:SI -> дисковый пакет адреса (see #00254)

Return:

CF=0 , если всё удачно

AH = 00h

CF установлен при ошибке

AH = код ошибки(see #00216)

По адресу дискового блока пакета, поле счётчика установлено в число блоков, успешно переданных.

Заметка:

BIOS возвращает CF=1/AH=01h (неверная функция), если проверка требуется, но не поддерживается

SeeAlso: AH=03h,AH=41h"INT 13 Ext",AH=42h"INT 13 Ext",AH=44h

--------d-1344-------------------------------

INT 13 - IBM/MS INT 13 Extensions Проверка секторов

AH = 44h

DL = номер диска

DS:SI ->адресс дискового пакета (см. *00254)

Return:

CF=0 , если всё удачно

AH = 00h

CF установлен при ошибке

AH = код ошибки(see #00216)

По адресу дискового блока пакета, поле счётчика установлено в число блоков, успешно проверенных.

SeeAlso: AH=04h,AH=41h"INT 13 Ext",AH=42h"INT 13 Ext",AH=47h

--------d-1345-------------------------------

INT 13 - IBM/MS INT 13 Extensions - Блокировка/Разблокировка диска

AH = 45h

AL = операция

00h средства блокировки в диске

01h средство разблокировки

02h проверка статуса блокировки

DL = номер диска

Return:

CF=0 , если всё удачно

AH = 00h

AL = состояние блокировки (00h = разблокирован)

CF установлен при ошибке

AH = код ошибки(see #00216)

Заметка:

Эта функция требуется для поддержания любого сменного диска пронумерованного 80h или выше; до 255 блокировок может быть помещено в диск, и носители Физически не разблокируются , пока все блокировки не будут удалены.

SeeAlso: AH=41h"INT 13 Ext",AH=46h,AH=49h,INT 15/AH=52h"INT 13 Extensions"

--------d-1346-------------------------------

INT 13 - IBM/MS INT 13 Extensions Извлечь носитель

AH = 46h

AL = 00h (резерв)

DL = номер диска

Return:

CF=0 , если всё удачно

AH = 00h

AL = состояние блокировки (00h = разблокирован)

CF установлен при ошибке

AH = код ошибки(see #00216)

SeeAlso: AH=49h,INT 15/AH=52h"INT 13 Extensions"

--------d-1347-------------------------------

INT 13 - IBM/MS INT 13 ExtensionsРасширенный поиск

AH = 47h

DL = номер диска

DS:SI-> Дисковый пакет адреса (см. *00254)

Return:

CF=0 , если всё удачно

AH = 00h

CF установлен при ошибке

AH = код ошибки(see #00216)

SeeAlso: AH=0Ch,AH=42h"INT 13 Ext"

--------d-1348-------------------------------

INT 13 - IBM/MS INT 13 ExtensionsПолучить параметры диска

AH = 48h

DL = диск (80h-FFh)

DS:SI -> буффер для параметров диска(see #00255)

Return:

CF=0 , если всё удачно

AH = 00h

DS:SI буффер заполнен

CF установлен при ошибке

AH = код ошибки(see #00216)

BUG(Дефект):

Некоторые различные Compaq BIOS-ы некорректно сообщают информацию о высоко-пронумерованных дисках (типа 90-ого, B0h, D0h, и F0h) в подарок, давая им ту же самую геометрию как у диска 80h;

Сканирование числа дисков , останавливается как только число допустимых дисков увеличится до значения хр. по адресу 0040h:0075h

 

SeeAlso: AH=08h,AH=41h,AH=49h,MEM 0040h:0075h

 

Формат IBM/MS INT 13 Extensions диск-параметров:

Смещение Размер Описание (Table 00255)

00h WORD (Запрос) размер буфера

(001Ah для v1.x, 001Eh для v2.x, 42-ого для v3.0)(Возврат) размер возвращенных данных

02h WORD информационный флаг(see #00256)

04h DWORD число физических цилиндров на диске

08h DWORD число физических головок на диске

10h QWORD общее число секторов на диске

18h WORD байт в секторе

 

---v2.0+ ---

1Ah DWORD -> EDD параметры конфигурации (see #00260)

FFFFh:FFFFh если недоступны

---v3.0 ---

1Eh WORD сигнатура BEDDh индицирует присутствие

информации Пути Устройства(Device Path info)

20h BYTE длина Device Path информации, включающей

сигнатуру и этот байт(24h for v3.0)

21h 3 BYTEs резерв (0)

24h 4 BYTEs ASCIZ имя главной шины(host bus)("ISA" or

"PCI")

28h 8 BYTEs ASCIZ имя-тип интерфейса

"ATA"

"ATAPI"

"SCSI"

"USB"

"1394" IEEE 1394 (FireWire)

"FIBRE" Fibre Channel

30h 8 BYTEs Interface Path (see #00257)

38h 8 BYTEs Device Path (see #00258)

40h BYTE резерв (0)

41h BYTE контрольная сумма байтов 1Eh-40h (второго

дополнения суммы , которая делает 8-разрядную сумму из байтов 1Eh-41h равной 00h)

Заметка:

если размер меньше 30 при вызове, последний DWORD не будет

возвращен v2.x выполнением; Таккже для Device Path info.

SeeAlso: #00259,#03160

 

Битовые поля (Bitfields) для IBM/MS INT 13 Extensions информационных флагов:

Биты Описание(Table 00256)

0 DMA boundary errors handled transparently

(Ошибки границы DMA, обработанные очевидно)

1 cylinder/head/sectors-per-track нформация имеет силу

2 сЪёмный диск

3 поддержка записи с проверкой

4 диск поддерживает (change-line) (требуется ,если диск >= 80h

есть сЪёмный)

5 диск может быть заблокирован(требуется ,если диск >= 80h

есть сЪёмный)

6 CHS информационный набор установлен к максимальным поддерживаемым значеним, не текущего носителя

15-7 резерв (0)

SeeAlso: #00255

 

Фармат EDD v3.0 Interface Path:

Смещение Размер Описание (Table 00257)

---ISA---

00h WORD 16-bit базовый адрес

02h 6 BYTEs резерв (0)

---PCI---

00h BYTE номер PCI шины

01h BYTE номер PCI устройства

02h BYTE PCI function number(PCI функциональный номер)

03h 5 BYTEs резерв (0)

SeeAlso: #00255,#00258

 

Формат EDD v3.0 Device Path:

Смещение Размер Описание (Table 00258)

---ATA---

00h BYTE флаг: 00h = master, 01h = slave

01h 7 BYTEs резерв (0)

---ATAPI---

00h BYTE флаг: 00h = master, 01h = slave

01h BYTE логический номер устройства

02h 6 BYTEs резерв (0)

---SCSI---

00h BYTE логический номер устройства

01h 7 BYTEs резерв (0)

---USB---

00h BYTE будет определен(to be determined)

01h 7 BYTEs резерв (0)

---IEEE1394---

00h QWORD 64-bit FireWire General Unique Identifier

(GUID)(FireWire Общий Уникальный Идентификатор)

---FibreChannel---

00h QWORD Word Wide Number (WWN)

SeeAlso: #00255,#00257

 

Фармат Phoenix Enhanced Disk Drive Spec оттранслированной таблицы параметров диска:

Смещение Размер Описание(Table 00259)

00h WORD число цилиндров

02h BYTE число головок

03h BYTE A0h (сигнатура, указывающая оттранслированную

таблицу)

04h BYTE число физических секторов на дорожке

05h WORD Старт номера цилиндра предварительной

компенсации записи

(starting write precompensation cylinder number)

07h BYTE резерв

08h BYTE управляющий байт

(see #03162 at INT 41"DISK 0")

09h WORD число физических секторов

0Bh BYTE число физических головок

0Ch WORD номер цилиндра зоны посадки головок

0Eh BYTE число логических секторов в дорожку

0Fh BYTE контрольная сумма

 

Program: the Phoenix Enhanced Disk Drive Specification Является добавлением к IBM / MS INT 13 расширениям

SeeAlso: #00260,#03160

 

Формат Phoenix Enhanced Disk Drive Spec Fixed Disk Parameter Table:

Смещение Размер Описание(Table 00260)

00h WORD физический базовый адрес порта ввода –

вывода(I/O)

02h WORD Адрес порта-управления дисковода

04h BYTE флаги диска (see #00261)

05h BYTE частная информация

Биты 7-4 резерв (0)

Биты 3-0: Phoenix частный (используемый BIOS)

06h BYTE IRQ для диска (bits 3-0; bits 7-4

зарезервированны и должны быть == 0)

07h BYTE счётчик секторов для мульти-секторной

передачи

08h BYTE управление DMA

биты 7-4: DMA тип (0-2) согласно ATA-2 спецификации биты 3-0: DMA канал

09h BYTE programmed I/O control (программное

управление вводом-выводом)

биты 7-4: резерв (0)

биты 3-0: PIO тип (1-4) согласно ATA-2 спецификации

0Ah WORD Опции диска (see #00262)

0Ch 2 BYTEs резерв (0)

0Eh BYTE уровень пересмотров расширений(high

nybble=major, low nybble=minor)

(в настоящее время 10h для v1.0 и 11h для v1.1-3.0)

0Fh BYTE 2's дополняют контрольную сумму байтов 00h-

0Eh;(8-разрядная сумма всех байтов 00h-0Fh должна равняться 00h)

SeeAlso: #00259

 

Битовые поля для Phoenix Enhanced Disk Drive Spec диск-флагов:

Биты Описание (Table 00261)

7 резерв (1)

6 LBA включена

5 резерв (1)

4 диск есть slave

3-0 резерв (0)

SeeAlso: #00260,#00262

 

Битовые поля Phoenix Enhanced Disk Drive Spec опций диска:

Биты Описания(Table 00262)

0 быстрый PIO включен (разрешен)

1 быстрый DMA доступ включён

2 блок PIO (multi-секторная передача) включена

3 CHS трансляция включена

4 LBA трансляция включена

5 сменный носитель(media)

6 ATAPI устройство (CD-ROM)

7 32-битовый режим передачи

---v1.1+ ---

8 ATAPI устройство использует DRQ, чтобы сообщить о готовности

для команды пакета (должен быть 0 если бит 6 == 0)

10-9 тип передачи (должен быть 00 если бит 3 == 0)

00 Phoenix сдвигающаяся бит трансляция

01 LBA-assisted трансляция

10 резерв

11 частная трансляция

---v3.0---

11 Ultra DMA доступ разрешен

15-12 резерв

SeeAlso: #00260,#00261

--------d-1349-------------------------------

INT 13 - IBM/MS INT 13 ExtensionsРасширенная замена носителей

AH = 49h

DL = номер диска

Return: CF = 0 если носители не изменились

AH = 00h

CF установлен если носители, возможно, изменились

AH = 06h (see #00216)

Заметка:

В отличие от AH=16h, любой номер диска может быть определен

SeeAlso: AH=16h,AH=41h"INT 13 Ext",AH=46h

--------d-134E-------------------------------

INT 13 - IBM/MS INT 13 Extensions v2.1Установка конфигурации аппаратных

средств

AH = 4Eh

AL = функция

00h разрешить выбор с упреждением

01h запретить выбор с упреждением

02h установить максимальный PIO режим передачи

03h установить PIO-режим в 0

04h установить PIO-режим передачи по умолчанию

05h разрешить INT 13 DMA максимальный режим

06h запретить INT 13 DMA

DL = номер диска

Return: CF = 0 если выполнилась успешно

AH = 00h

AL = статус

00h команда безопасна (воздействовала только на указанный

диск)

01h воздействуют на другие устройства

CF установлен при ошибке

AH = код ошибки (see #00216)

Заметка:

DMA и PIO режимы взаимоисключающие, так выбор DMA отключает

PIO (или для указанного устройства или всех устройств на этом

rонтроллере), и выбор PIO отключает DMA

SeeAlso: AH=41h"INT 13 Extensions",AX=5001h"Enhanced Disk Drive"

 

Написано 13 декабря 2014 в 11:11

0 комментариев


Вы должны быть авторизованы, для того, чтобы оставлять свои комментарии.

Войдите через соц.сети

или через почту здесь