Закрыть окно Список других документов библиотеки Серкова
BE8E-BE94 Программа XTOY. Поместить номер разъема в регистр Y, передавая в этот регистр содержимое регистра X, деленное на 16. BE95-BEAE Установка номера трека. BEAF-BF0C Программа обработки команды INIT. Устанавливает параметры для инициализации диска. Получить требуемый номер тома из IOB. Обнулить первичный и вторичный буферы. Рекалибровать привод головки на трек 0. Установить число синхро- байтов, записываемых между секторами, =¤28(40). Вызвать программу TRACK WRITE для действительной разметки. Разрешить 48 попыток во время инициализации. Дважды проверить, что найденный после вызова TRACK WRITE сектор имеет номер 0. Выполнить инкремент номера трека после успешной разметки трека. Возврат на начало цикла до тех пор, пока не будут сформированы 35 треков. BF0D-BF61 Программа TRACK WRITE (записи трека). Начать с сектора 0. Записать перед ним 128 синхробайт. Следом за ним последовательно построить сетора с номерами до 15 включительно. Установить счетчик попыток =48 для проверки трека. Заполнить карту инициализации секторов положительными номерами. Начать цикл с задержкой, чтобы пропустить большую часть начальных синхробайтов. Прочитать первое найденное адресное поле. Если чтение прошло успешно и найден сектор с номером 0, то войти в программу VERIFY TRACK. Уменьшать значение счетчика синхробайтов на 2 до тех пор, пока оно не достигнет 16,после чего уменьшать его на 1. Если счетчик стнхробайтов =>5, то выйти через ¤BF71. Если нет, то установить перенос и выйти в вызывающую программу. BF62-BF87 Программа VERIFY TRACK (проверка трека). Читает все 16 секторов с трека, который был только что сформирован. Если при чтении адресного поля или поля данных встретилась ошибка, то число попыток уменьшается на 1. Программа продолжает чтение трека до тех пор, пока не прочитает трек полностью или пока счетчик попыток не станет =0. Вызывает программу SECTOR MAP(¤BF88). BF88-BFA7 Программа SECTOR MAP (карты секторов). Она ставит метку в карте инициализации секторов, как только очередной сектор проверен. Если встретилась ошибка, то выход через ¤BF6C, где производится декремент числа попыток, и выполнение продолжается, если значение этого счетчика >0. По завершении формирования нулевого трека начальное значение счетчика синхробайтов уменьшается на 2 от трека к треку, пока его значение не достигнет 16. BFA8-BFB7 Карта инициализации секторов. Используется для маркировки секторов в процессе их инициализации. До начала инициализации заполнена байтом =¤30, а по ее завершению - байтом =¤FF. BFB8-BFC7 Таблица трансляции секторов. Обеспечивает программное чередование секторов. ************* ОБЛАСТЬ "ЗАПЛАТ". ************** BFC8-BFD8 "Заплата", вызываемая с адреса ¤B741 для обнуления языковой платы во время начальной загрузки. Вызвать SETVID (¤FE93). Снять защиту платы языка (если она есть). Записать ¤00 в яч.¤E000. Выйти через SETKBD(¤FE89) и "холодный" старт DOS. BFD9-BFDB Не использованы. BFDC-BFE5 "Заплата", вызываемая с адреса ¤A0E2. Установить три дополнительные величины по умолчанию(смещение байта =0). Вернуться в вызывающую программу. BFE6-BFEC "Заплата", вызываемая с адреса ¤A6D5. Вызвать ¤A75B для сброса состояния и установки флажка "теплого" старта. Отметить, что команда RUN не прерывалась. Вернуться в вызывающую программу. BFED-BFFF "Заплата", вызываемая с адреса ¤B377. Вызвать ¤AE7E для сохранения рабочей области мененджера файлов. Восстановить стек. Закрыть все открытые файлы (¤А316). Вновь сохранить Указатель стека. Выйти через ¤B385 (DISK FULL ERROR). .сс СИСТЕМНЫЕ ЯЧЕЙКИ НА НУЛЕВОЙ СТРАНИЦЕ. БАЙТ Н А З Н А Ч Е Н И Е. 24 Горизонтальная координата курсора (DOS). 26,27 Адрес буфера для чтения сектора (ПЗУ). 28,29 BASL/BASH (DOS). 2A Единый счетчик сегментов (ПЗУ, Загрузчик). Многоцелевая область RWTS. 2B Номер разъема * 16 для Загрузчика (ПЗУ). 2C Контрольная сумма для адресного поля сектора (RWTS). 2D Номер сектора из адресного поля сектора (RWTS). 2E Номер трека из адресного поля сектора (RWTS). 2F Номер тома из адресного поля сектора (RWTS). 33 Символ-подсказка (DOS). 35 В старшем бите номер НГМД (RWTS). 36,37 CSWL, CSWH (DOS). 38,39 KSWL, KSWH (DOS). 3C Рабочий байт (ПЗУ); Единый рабочий байт (Загрузчик); Младший байт адреса таблицы характеристик устройства. 3D Номер сектора (ПЗУ); Старший байт адреса таблицы характеристик устройства. 3E,3F Адрес ПП чтения сектора в ПЗУ (Загрузчик); Адрес буфера (RWTS). 40,41 Адрес копии DOS (Загрузчик); Адрес буфера файла (DOS). 41 Счетчик размеченных треков. 42,43 Адрес буфера (DOS). 44,45 Числовой оперенд (DOS). 46,47 Многоцелевая область (RWTS). 48,49 Адрес IOB (RWTS). 4A,4B Адрес LOMEM целочисленного Бейсика (DOS); Рабочая область при разметке диска (RWTS). 4C,4D Адрес HIMEM целочисленного Бейсика (DOS). 67,68 Начало программы APPLESOFT BASIC (DOS). 69,6a Начало переменных APPLESOFT BASIC (DOS). 6F,70 Начало строки APPLESOFT BASIC (DOS). 73,74 Адрес HIMEM APPLESOFT BASIC (DOS). 76 Старшая половина адреса строки APPLESOFT BASIC (DOS). AF,B0 Окончание программы APPLESOFT BASIC (DOS). CA,CB Начало программы целочисленного Бейсика (DOS). CC,CD Окончание переменных целочисленного Бейсика (DOS). D6 Флажок защиты программы APPLESOFT BASIC (DOS). D8,D9 Номер строки целочисленного Бейсика (DOS); APPLESOFT BASIC ONERR (DOS). .сс .ст DOS (логика)8