Научно-технический кооператив "Спрайт" г. Новосибирск 1992 ОПЕРАЦИОННАЯ СИСТЕМА "С П Р А Й Т" (версии 1.2 и 1.3) ВЕДОМОСТЬ ИЗМЕНЕНИЙ В данном документе приводятся сведения по изменениям в ОС "Спрайт" и ее стандартном программном наполнении, в т.ч. не вошедшие в состав основной документации. ВЕРСИЯ 1.2 (закончена 31.01.92) 1. АВТОЗАГРУЗКА 03.10 Новая заставка с маркировкой пользователя. 2. IOSUB 24.07 Изменено управление памятью (для единообразия с А9): ROM1/2 - LC0/1, на входе C=0/1 - банк D0/D1. Версия для Агат-9. Отличия от Агат-7: - нет комбинированной графики - коды режимов в SETGR изменены; - MEMCALL: код банка=LSSSBBBB (SSS-сегмент,BBBB-банк, L=0/1 - переключить 1банк/2смежных банка(X,X+$11); - эмуляция стандартных банков Агат-7: RAM1: C4(44/55); RAM2: CC(4C/5D); ROM1: E6(66/77); ROM2: EE(6E/7F); (D0/1 - 1/2 половина банка в 6 сегменте); - VERSION: 7 бит =0/1 - признак А7/9; рекомендуется использовать для настройки в универсальных про- граммах; 29.08 Исправлен опрос приостанова на переводе строки: ранее сбрасывал введенный символ. 16.10 Вызов CALLCMD (2F0->FFF4 в ROM1). Занесение вектора - в автозагрузке. Восстановлены программы вкл/выкл прерываний для А9. 20.11 VERSION[6] дл Агат-7 = 0/1 - не/полный знакогенератор. По нему настраиваются раммки в ДОК, Конверторе и др. 3. ДOC 17.07 Сделана передача Командеру 3-х признаков: A=0/FF: в памяти/загружен; Y=код возврата X=0/1: не/первая загрузка (после системы) 02.09 При изменении FPB: FCB.MODF[0] - уст.тек.дату? (сбрасывается в 0 при копировании). Исправлен режим верификации записи (RWTS). 01.10 Исправлен возврат признака C из RWTS через 2 вызов. 17.10 Исправлена порча FCB.FILELEN при чтении за границей файла. Восстановление ROM1-D0 в RESETDOS: ранее при включе- нии другого банка Командер всегда перезагружался. 23.10 Проверка уничтожения, смены статуса и переименования файла в открытом пути доступа. Переопределены номера ошибок. 01.12 Исправлена неверная обработка файлов с длиной >$10000 в RW_DATA (следствие: неверно копировались). 18.12 Значения битов SEMP и IEMP в вызове RW_FILE описаны наоборот, но во всех программах и использовалось по умолчанию не IEMP, а SEMP. Так что изменения только в документации. 4. КОМАНДНЫЙ РЕЖИМ 24.07 Текущая конфигурация памяти: Командер находится в RAM1 (A7:CXA0, A9:C166,77). 31.08 Можно явно указывать расширения .PRG и .CMD - тогда ищется только один этот файл; файлы с другими рас- ширениями не запускаются. Поиск по путям из PATH работает только при задании одиночного имени (без пути-префикса). 02.09 При копировании файлов сохраняется дата. Команда VFY[/N] - верификация записи. 08.09 Код возврата ззаносится в оба байта #Q (для удобства сравнения с 0). Переделана установка даты: DATE пишет в КФК. 17.10 Исправлена ошибка при запуске файлов: если после фай- ла X.PRG в каталоге есть X.???, то запускался пос- ледний из них. 24.10 Минимизирована перестановка дисков при копировании. Переопределены номера и тексты ошибок ДОС. Сделан вывод сообщений "Нет файлов" и убран вывод "свобод.блоков" в групповых командах. Исправлена обработка РЕД при вводе строки: перезап- рос без исполнения. Изменен интерфейс передачи ключей и параметров вход- ной строки: разршены дополнительные знаки операций и можно различить строкковый и числовой параметр. 18.12 Ключ H в поиске находит спрятанные файлы всех видов. Ошибки: - разрешено рекурсивное копирование ФК в себя; 5. ДОК 5.1. Редактор 03.09 Исправлена ошибка: при переходе из 64 экрана в 32 из позиции >32 не пересчитывался экран: курсор исчезал. 07.09 Исправлено меню Ассемблера: данные сохраняются между вызовами; отлавливает пробелы в именах. 18.10 Исправлены останов печати и непечатание первой строки фрагмента. Убрана отметка текста фрагментом при возврате из От- ладчика и Ассемблера. Восстановлено сохранение имени файла при возврате из Отладчика. Убран показ текста в других окнах при сохранении из- мененного файла. Исправлена длина вводимого имени в меню Ассемблера: не 14, а 15. В меню Ассемблера вставлен режим генерации DBG-файлов. Сделана обработка символа с кодом 0 (граф-@): - при наборе текста не вводится; - допустим в шаблонах поиска и замены и означает там перевод строки. 29.12 Буфер сокращен на 256б (до 7C00) в связи с расширением рабочей области Ассемблера. Ошибки: - неверная отработка откатки строки; - неверная печать, если курсор не в конце фрагмента. 5.2. Ассемблер 21.11 Возвращает код завершения с маской битов - типов ошибки. 25.11 Передача ключей и параметров через командную строку (-'список параметров/ключей') - в тексте соответствуют меткам с префиксами '%' и '?'. Директивы IFDEF/IFNDEF. 13.12 Режим DBG сделан по умолчанию OFF. Восстановлена проверка размера DS (для контроля при выравнивании); 29.12 Директива INCLUDE - включение исходного файла в текущий исходный файл. 03.12 Введена постфиксная маркировка меток - альтернатива директивам EXTRN/ENTRY: '#' / '*'. 5.3. Отладчик 29.08 Выдача дампа прерывается по Ред. 6. УТИЛИТЫ 6.1. Конвертор CONVERT 29.10 Исправлена обработка ошибок уровня RWTS. Ошибки: - лишниe cимвoлы в имeни фaйлa пpи пoдтвepждeнии - нeт кoнтpoля зaпиcи нa opигинaл и чтeния нe ИKП. 6.2. Форматор диска 29.10 Написан новый FORMAT оконного типа с верификацией диска. 31.01 Можно задавать нули в интервалах треков для работы. (92) Исправлена ошибка: проверка заканчивалась на 1 трек раньше. 6.3. Инсталлятор принтера 13.12 Встроены обнаружение и настройка на 174-контроллер для Агат-9: в CALLPRINT заносится адрес CX02 (пе- чать без инициализации). --------------------------------------------------------- ВЕРСИЯ 1.3 (начата 01.02.92) Дата внесения последних изменений: 23.05.92. 1. АВТОЗАГРУЗКА 2. IOSUB 13.02 Кардинальные изменения в IOSUB: - встроены вектора потокового обмена; - изменены уровни настройки драйверов экрана/клав-ры; - добавлены драйверы устройства "консоль" (I/O); - исключены смешанная графика и программа KEYTRAN (алфавитное отождествление символов); - выделены адреса регистровых ячеек; - переделан ввод строки: - обособлен вектор "фильтра" вводимых символов и управляющих клавиш; - ввод идет в одной экранной строке с горизонталь- ным скроллом; - упорядочено управление памятью, - упр.символы скролла для CHAROUT 97/98 (вниз/вверх) перенесены на 96/97. 3. ДOC 25.02 Исправлена ошибка при закрытии пути: не всегда обнуля- лось FCB.FILENUM, что влекло повторное закрытие при обработке в Командере ошибки "Файл не найден" по вы- бору несуществующего каталога. Следствие - сбой нуме- рации файлов в системе и неверная работа '@'. 14.05 Для облегчения наследования атрибутов при копироваии файлов добавлен управляющий режим вызова CLOSE: если FCB.MODF[76]=10, то при закрытии файла в ФК записываются имя и статус-байт из FCB. Защита при этом игнорируется. 22.05 Исправлена ошибка при открытии файла: если при пов- торном открытии файла возникал конфликт по доступу, файл считался повторно открытым. 4. КОМАНДНЫЙ РЕЖИМ 15.02 Встроена программа расширенного ввода строки (настра- ивается с IOSUB и доступна при доступном Командере): - можно вводить символы с экрана (режим свободного пе- ремещения); - режим вставки визуализируется курсором. Перераспределены внутренние рабочие ячейки; ячейки гра- фического экрана (38-39) не портятся. 14.03 Исправлена ошибка "НЕ ОТКРЫТ ФАЙЛ/КАТАЛОГ" при возврате из вложенных CMD-файлов. 19.03 Исправлена ошибка от 15.02: "ФАЙЛ ЗАЩИЩЕН" при дочитыва- нии файлов в COPY, если A: и B: - один дисковод (после запроса усатновки диска). 29.04 Исправлены: зацикливание на выводе по '?M' и выход вызова SCANNUM - терминатор не сканируется никогда, и не бывает ситуации 'неверный терминатор' (Y>4) Исправлена потенциальная ошибка в COPY: при отказе от копирования на запросе первого же файла мог(?) за- крываться неоткрытый объектный путь. 14.05 Исправлена неверная обработка файлов с установленными атрибутами (в т.ч.защищенных): - не находились при запуске PRG- и CMD-файлы; - при копировании атрибуты не наследовались. Исправлен "ТОП ПО АДРЕСУ". 21.05 Изменено представление даты, допускающее сравнение дат на < и >, как 2-байтовых слов: High=гггггммм, Low=ммчччччч (ч,м,г - в BCD) Разрешен ввод даты в виде чч.мм.гг (со значением, равным представлению) в поле выражения. Другие разделители недопустимы, а точки больше недопус- тимы в директивах '-' и ':' - пользуйтесь запятыми. Для перекодировки дат доработан DSORT: ключ ^. Введены ключи-распознаватели дат для директив, реали- зованных через групповую обработку (COPY, DIR и др.) <=дата и >=дата , выделяющие файлы с датой модифика- ции, удовлетворяющей условию. 5. ДОК 5.1. Редактор 13.02 Возможен ввод символов в любую строку с экрана (см. IOSUB). рабочей области Ассемблера. 5.2. Ассемблер 04.03 Исправлен ряд ошибок и проведен ряд доработок (ди- рективы IF1/2 и др.) 26.03 Добавлены: директивы LFC, IFE, вложенность условных директив. Исправлена февральская ошибка со сбоем адресации, если ZP-метка определена после использования. 5.3. Отладчик 16.02 Перераспределены рабочие ячейки: теперь использует: 18-1F - текущие адреса; 2A-31 - рабочие; буфер параметров (40-7F) не используется. 6. УТИЛИТЫ 6.1. Конверторы 12.03 Написан конвертор CONV с управлением из входной строки. 29.04 В CONV исправлено зависание при отказе от копирования. Доделано копирование A-файлов ИКП (другой порядок дли- ны и старт.адреса в файле). 6.2. Прочие 28.04 Дополнен (для печати графики) драйвер PRINTER: для передачи символа без перекодировки передается пара <$00,символ>. 15.05 Исправлены адреса IOSUB в COMP и VIEW, из-за которых они в версии 1.3 не работали. 23.05 Написана утилита MOVE - перемещение файлов в другой каталог без копирования.