СОСТАВИЛ КУЗНЕЦОВ А. Ю. SP-COMPUTER CLUB С.-ПЕТЕРБУРГ, 1992 ДОПОЛНИТЕЛЬНЫЕ ВОЗМОЖНОСТИ CP/M BIOS V2.0 ("ОРИОН-СЕРВИС") А ТАКЖЕ ACP/M, НЕ СТАНДАРТНЫЕ ДЛЯ CP/M. В advanced bios v1.4 и выше реализованы дополнительные Возможности, улучшающие пользовательские характеристики всей Системы. К ним относятся: 1) возможность подключить дополнительный дисковый драйвер; 2) возможность изменять время позиционирования головки для каждого дисковода; 3) возможность работы с дисками, отформатированными на 40-дор. дисководе, на 80-дор. дисководе; 4) автоматическая загрузка драйвера пользователя в резидентнуя область. ДОПОЛНИТЕЛЬНЫЙ ДИСКОВЫЙ ДРАЙВЕР. ================================ в advanced bios v1.4 и выше имеется возможность встроить в систему свой дисковый драйвер как на этапе, когда система уже загружена в память, так и инсталлировав на диск систему с модифицированым bios'ом. для работы с новым драйвером в bios оставлены вектора, управление на которые передается при обращении к диску e:. новый дисковый драйвер должен размещатся по адресам 0090h-028fh (здесь и далее адреса относительные) внутри bios и должен содержать подпрограммы аналогичные seldsk, read и write. адреса этих подпрограмм для получения управления должны быть подставлены в вектора: - АДРЕС 0084H - ДЛЯ SELDSK; - АДРЕС 0087H - ДЛЯ READ; - АДРЕС 008AH - ДЛЯ WRITE. эти подпрограммы должны брать информацию о номере дорожки и сектора из ячеек по адресам 008ch для дорожки и 008dh для сектора. адрес буфера обмена можно получить из ячеек по адресу 008eh и 008fh. ВРЕМЯ ПОЗИЦИОНИРОВАНИЯ. ======================= для каждого диска можно задать свое время позиционирования. для этого необходимо изменить значение переменных внутри bios. адреса этих переменных для каждого из дисков: - ДИСК A: - АДРЕС 0055H; - ДИСК B: - АДРЕС 006DH. ЗНАЧЕНИЕ ВРЕМЯ ПОЗИЦИОНИРОВАНИЯ 0 6 MS 1 12 MS 2 20 MS 3 30 MS ЭМУЛЯЦИЯ 40-ДОР. ФОРМАТА. ========================= bios содержит средства для определения необходимости иммитации работы с диском, отформатированном на 40-дор. диско- воде. причем для пользователя порядок работы в режиме эмуляции ничем не отличается от обычного режима работы. для правильного определения необходимости эмуляции надо правильно установить в bios количество дорожек для каждого дисковода. АДРЕС ДИСК 0053H ДИСК A: 006BH ДИСК B: ЗАГРУЗКА РЕЗИДЕНТНОГО ДРАЙВЕРА. =============================== эта возможность заключается в том, что по холодному старту bios проверяет есть ли на резервных дорожках драйвер. если он есть, то он загружается по адресу 0f000h (адрес абсолютный) в оперативной памяти и ему передается управление командой call. драйвер размещен на второй дорожке диска в секторах с 1 по 8 с точки зрения bdos cp/m или на пер- вой дорожке в секторе 1 с точки зрения bios. в секторе 1 (с точки зрения bdos cp/m) размещена кодовая последовательность, по которой bios узнает, что на диске есть драйвер. вот эта последовательность: 0aah, 55h, 0aah. сам драйвер размещается в секторах со 2 по 8. его длина равна семи секторам.