Изменения в векторной таблице связи
Формат векторной таблицы связи для MS-DOS версии 5.0 практически идентичен используемому версией 4.0. В этой таблице добавился указатель на список программ, для которых драйвер SETVER.EXE
выполняет подстановку значения версии MS-DOS.
Приведем формат векторной таблицы связи для MS-DOS версии 5.0:
| (-02h) 2 | mcb_seg | сегмент первого управляющего блока памяти (MCB) |
| (00h) 4 | dev_cb | указатель на первый блок управления устройствами DOS (DOS Device Control Block) |
| (+04h) 4 | file_tab | указатель на таблицу файлов DOS |
| (+08h) 4 | clock_dr | указатель на драйвер CLOCK$, установленный или резидентный |
| (+0Ch) 4 | con_dr | указатель на актуальный драйвер CON, установленный или резидентный |
| (+10h) 2 | max_btbl | максимальное число байт в блоке блочного устройства |
| (+12h) 4 | disk_buf | указатель на структуру, описывающую дисковые буфера |
| (+16h) 4 | drv_info | укзатель на массив информации об устройствах |
| (+1Ah) 4 | fcb_tabl | указатель на таблицу FCB |
| (+1Eh) 2 | fcb_size | размер таблицы FCB, для версии MS-DOS 5.0 в этом поле находится значение 00h |
| (+20h) 1 | num_bdev | число блочных устройств |
| (+21h) 1 | lastdriv | значение LASTDRIVE в файле CONFIG.SYS (по умолчанию равно 5) |
| (+22h) 18 | null_dr | заголовок драйвера NUL - первого драйвера в списке драйверов DOS |
| (+34h) 1 | joined | количество устройств, подсоединенных при помощи команды JOIN |
| (+35h) 2 | special_prg | смещение внутри сегмента кода IBMDOS списка специальных программ, для MS-DOS 5.0 в этом поле находится 0000h |
| (+ 37h) 4 | setver_list | указатель на список программ, для которых драйвер SETVER.EXE выполняет подстановку значения версии MS-DOS |
| (+3Bh) 4 | internal_1 | используется MS-DOS |
| (+3Fh) 2 | buffers_x | значение x в команде BUFFERS x,y |
| (+41h) 2 | buffers_y | значение y в команде BUFFERS x,y |
| (+43h) 1 | boot_drive | номер дискового устройства, использованного для загрузки MS-DOS (1 - A:) |
| (+44h) 1 | cpu_type | 01h, если используется процессор 80386 или 80486, 00h для 8086 - 80286. |
| (+45h) 2 | extended_mem | размер установленной расширенной памяти в килобайтах |