
         TI-DOS Tape Imitator Disk Operating System V1.0
        - расширитель BETA-DISK-интерфейса (TR-DOS'а)
               Краткая инструкция пользователя.

     Активизация системы TI-DOS происходит автоматически  -  в
случае, если  в момент включения или нажатия клавиши RESET пе-
реключатель на плате TI-DOS'а находился в положении ON.  После
того, как  активизация выполнена успешно,  переключатель может
быть выключен или включен практически в любой момент  времени,
- лишь бы в этот момент не был активен TI-DOS  и  не  произво-
дился активный  обмен  с  внешними  устройствами  (магнитофон,
дисководы, клавиатура).
     Если же в момент включения компьютера плата была отключе-
на, то для ее активизации нужно ее включить и нажать RESET.

     Как только TI-DOS активизировался, все обращения к магни-
тофону начинают автоматически преобразовываться в соответству-
ющие запросу к диску.  Таким образом, теперь достаточно скопи-
ровать ленточную  программу  на диск,  и загружать ее командой
LOAD "" в бейсике или из TAPE LOADER'а в главном меню S128-го.
Более того, для тех программ, дискизация которых не была дове-
дена до конца,  в результате чего они отгружают  промежуточные
состояния на ленту,  эти обращения к магнитофону также автома-
тически преобразуются в обращения к диску.

     Для входа в диалоговый режим TI-DOS'а сразу после  выпол-
нения сброса компьютера (или включения питания,  а также после
выолнения команды бейсика NEW) достаточно нажать  пробел.  При
работе в бейсике,  и вообще всегда,  когда используется BEEPER
из ПЗУ бейсика,  вход может быть осуществлен одновременным на-
жатием SYMBOL SHIFT и SPACE.  А вообще,  вызвать TI-DOS всегда
возможно нажатием имеющейся на плате TI-DOS'а  кнопки  "ВНИМА-
НИЕ".
     В диалоговом режиме на экране отображается каталог  теку-
щего диска. Обратите внимание на то, что хотя TI-DOS поддержи-
вает формат дисков TR-DOS,  тем не менее он отличается исполь-
зованием  дополнительно еще двух неиспользуемых TR-DOS'ом сек-
торов (12 и 13) на нулевой дорожке -  для  хранения  еще  двух
символов  имени файла и поля PROG - в целях обеспечения однов-
ременно и совместимости с  ленточным  форматом  заголовков.  В
случае установки в дисковод дискеты TR-DOS'а и обращения к не-
му из TI-DOS'а  выдается  запрос  "TRANSLATE  TR-DOS  DISK  TO
TI-DOS DISK? Yes No". Преобразование сводится к считыванию не-
посредственно из окончаний файлов типа 'B' и 'D' информации  о
стартовой строке программы или имени массива и дополнении имен
всех файлов двумя пробелами.  Для обеспечения корректности ка-
талога   в  дальнейшем  рекомендуется  выполнять  обслуживание
дисков (удаление,  переименование, копирование файлов и уплот-
нение диска с помощью встроенных утилит TI-DOS'а - из диалого-
вого режима).

                      ДИАЛОГОВЫЙ РЕЖИМ.
     При работе  в  диалоговом режиме непосредственно доступны
следующие функциональные клавиши:
КУРСОР ВВЕРХ(7), КУРСОР ВНИЗ(6) - движение по файлам каталога,
КУРСОР ВЛЕВО(5), КУРСОР ВПРАВО(8) - перелистывание страниц ка-
талога вверх или вниз,
GRAPH (9) - маркирование/демаркирование файла,
ENTER     - запуск <M>-файла на исполнение,
SPACE - установка "читающей головки"  TI-DOS'а  (выглядит  как
        треугольник) на файл в позиции курсора,
     (при отсутствии кемстон-джойстика SPACE эмулирует FIRE, и
     поэтому следует  использовать FIRE слева от интересующего
     файла, чтобы переместить в него этот маркер).
EDIT (1) - переключение режима  отображения  цветной/монохром-
           ный,
DELETE (0) - выход из диалогового режима.

     В нижней части экрана также видны команды,  доступные  по
первой букве:
     'I'nsert - выбор дисковода/перезагрузка каталога диска,
     'D'isk   - вход в меню дополнительных дисковых утилит,
     'C'opy   - копирование маркированных файлов,
     'E'rase  - стирание маркированных файлов,
     'R'ename - переименование файла под курсором,
     'O'ptns  - вход в меню режимов и дополнительных команд.

     Из меню Disk доступны следующие утилиты:
     - Compress disk - уплотнение диска после удаления файлов,
     - Format disk   - форматирование диска,
     - Verify disk   - проверка диска на читаемость,
     - Restore disk  - восстановление диска или его части,
     - Edit disk     - простой редактор диска,
     - Tape-to-disk  - копирование файлов с ленты на диск.

     В меню Options имеются следующие режимы и команды:
     - Redirect to DISK / TAPE / TAPE2 - перенаправление обра-
щений к ленте на диск,  снова на магнитофон или же на магнито-
фон с удвоенной скоростью записи/считывания.
     - Try to access 0 / 1 / ... / 9 - количество попыток пов-
торения операции  до выдачи сообщения (стандартное значение 5,
значение 0 - означает выполнение 256 попыток).
     - Ensure same ALWAYS / ON WRITE - проверять, что вставлен
тот же диск ( ВСЕГДА-стандартное значение, либо ТОЛЬКО ПРИ ЗА-
ПИСИ ).
     - Show EXISTING / ALL - показывать в каталоге только  су-
ществующие файлы  либо также и удаленные (удаленный файл может
быть восстановлен простым переименованием в режиме Show ALL).
     - Unhead SMART / ALL - записывать файлы без  заголовка  -
ТОЛЬКО ПРИ НЕОБХОДИМОСТИ / ВСЕ. Во втором случае сами заголов-
ки файлов оформляются как отдельные файлы без заголовка разме-
ром 17 байт (1 сектор).
     - Load ALL / SELECTED - загружать ВСЕ либо только  МАРКИ-
РОВАННЫЕ в каталоге файлы (по запросу к магнитофону).
     - Check length NO / YES - при загрузке файлов  НЕ  требо-
вать совпадения  длины  файла  с  запрошенной,  либо загружать
ТОЛЬКО те файлы, длина которых в точности соответствует задан-
ной (что позволяет ускорить загрузку состояний данной програм-
мы).
     - Display COLORED / MONO.
     - Border 0 / 1 / ... / 7 / - . Последнее значение (-) яв-
ляется стандартным и означает, что в качестве бордюра в диало-
говом режиме используется цвет бордюра рабочей программы.
     - Magic  -  сброс образа памяти на диск в виде файла типа
'M' (191 сектор), а также всех ненулевых страниц ОЗУ S128-го в
виде файлов  типа '0','1'...'7'.  В дальнейшем такая программа
может быть загружена нажатием клавиши ENTER  в  окне  каталога
диалогового режима TI-DOS'а.
     - Poke - введение POKES'ов.
     - Autostop - остановка после заданного числа  загрузок  и
обращений к порту MIC/EAR. Используется совместно с REM-после-
довательностями для автоматического введения POKES'ов по окон-
чании полной загрузки программы.
     - Initial options - восстановление всех режимов в  исход-
ное состояние.
     
     При использовании кемпстон-джойстика для движения по  эк-
рану указателя в  виде  стрелки  все  вышеприведенные  функции
доступны также и с помощью выбора нужного поля и нажатия FIRE.
В случае  отсутствия  кемпстона   он   эмулируется   клавишами
O,P,A,Q,SPACE, в результате чего для непосредственного исполь-
зования этих клавиш необходимо нажимать их  совместно  с  CAPS
SHIFT (это не касается режимов ввода/редактирования имени фай-
ла при его переименовании,  ввода имени диска при форматирова-
нии, и пр.)
     
     Для выполнения программных запросов к TI-DOS'у предусмот-
рен механизм так называемых REM-последовательностей, позволяю-
щий легко надстраивать BASIC-загрузчики над  различными  прог-
раммами без  необходимости  хоть  сколько-нибудь вмешиваться в
загружаемую программу.
     Последовательность OUT  254,0:REM  распознается TI-DOS'ом
как макрозапрос:  символы правее REM и до возврата каретки (но
не более  125  ) рассматриваются исполняющей системой TI-DOS'а
как макропоследовательность.  Первый символ этой строки задает
режим обработки ('!' - без отображения на экран, '?' - с подт-
верждением каждой команды макропоследовательности с  клавиату-
ры), все прочие исполняются так же,  как если бы нажимались на
клавиатуре в диалоговом режиме TI-DOS'а.  Использование в мак-
ропоследовательности таких команд,  как AUTOSTOP и POKE позво-
ляет, например,  иметь дополнительный загрузчик для безжизнен-
ного варианта игровой программы без  необходимости  иметь  для
этого копию программы точно такого же размера.
     Некоторые символы  последовательности на входе преобразу-
ются в управляющие:
     '<' - курсор влево ( '5' )
     '>' - курсор вправо ( '8' )
     '^' - курсор вверх ( '7' )
     '_' - курсор вниз ( '6' )
     '.' - пробел
     ',' - ENTER.
     Например, приведенная  ниже  Бейсик-программа   выполняет
загрузку прогаммы с внисением в нее кодов бессмертия:
     
     10 OUT 254,0 : REM !oia>>>>,^..0op40000,0,41234,255..0
     20 LOAD "program"
     
     Некоторые программы,  жестко  настроенные  для  работы  в
TR-DOS'е, могут  не  загружаться  нормально в режиме перехвата
ленточных запросов. Во многих случаях это объясняется тем, что
головная программа оказывается загружена в непривычную для нее
среду, в которой не был проинициализирован TR-DOS.  Для работы
с такими программами следует входить в TR-DOS и выполнять заг-
рузку из него. Либо необходимо подготовить свой бейсик-загруз-
чик с  использованием REM-последовательностей,  добавив в него
вызов TR-DOS'а (просто для того, чтобы тот ожил до начала заг-
рузки программы, разместив свои переменные в ОЗУ):
     
     15 RANDOMIZE USR 15619 : REM : REM
     
     Иногда и  этого  бывает  недостаточно,  если  загружаемая
программа использует то обстоятельство,  что после загрузки из
TR-DOS'а в его переменных остается информация о дисковом заго-
ловке. Вообще,  программы, переделанные под TR-DOS, лучше заг-
ружать средствами TR-DOS'а.  Но это не означает отказа от воз-
можности использования REM-последовательностей.  Просто в пер-
вом приведенном  загрузчике  несколько  иначе  будет выглядеть
строка, загружающая головную программу:
     
     10 OUT 254,0 : REM !oia,^..0op40000,0,41234,255..0
     20 RANDOMIZE USR 15619 : REM : RUN "program"
     
     Обратите внимание,  что в REM-последовательности устанав-
ливается автостоп после 256 обращений к MIC/EAR,  без подсчета
числа перехватов обращений к  магнитофону  (которых  в  данном
случае нет - в отличие от первого варианта, где сначала ожида-
ется 4 обращения к LD-BYTES: "!oia>>>>").
                             
                 УТИЛИТЫ ОБСЛУЖИВАНИЯ ДИСКОВ
     Все нижеприведенные утилиты и команды доступны в диалого-
вом режиме TI-DOS'а, и большинство из них могут быть выполнены
в произвольный момент времени,  несмотря на то, что в основной
памяти находится загруженная программа, и без какой-либо порчи
ее состояния.  При  копировании  файлов и сжатии дисков TI-DOS
использует, кроме своей теневой памяти (около 40Кбайт),  еще и
все блоки  по  256  байт,  заполненные нулями,  - очищая их по
окончании операции. Разумеется, для копирования большого числа
файлов, особенно на одном дисководе, для ускорения этой опера-
ции желательно освободить как можно  больше  памяти,  выполнив
сброс компьютера. В S128-м при этом достигается размер свобод-
ной памяти 152Кбайта - для копирования.
     
     COPY FILES - команда,  доступная непосредственно из глав-
ного окна  диалогового  режима.  Копируются все предварительно
маркированные в  каталоге  файлы  (для  маркирования   следует
использовать '9',  или GRAPH). Операция начинается с того, что
высвечивается окошко с надписью
             ┌───────────┐
             │ FREE XXXK.│ - размер имеющегося буфера в Кбайтах
             │ COPY TO x:│ - выходной дисковод, первоначально
             └───────────┘   указано имя текущего диска, если
оно не будет изменено,  копирование выполняется на том же уст-
ройстве. Пока светится это окно, от копирования возможно отка-
заться (FIRE вне окна).

               Копирование на одном дисководе.
     
     При подтверждении  операции  (ввод имени выходного диска,
либо ENTER - при копировании на том же дисководе) сразу же на-
чинается  считывание  маркированных файлов (в отличие от боль-
шинства копировщиков,  непременно требующих предварительно вы-
ходной диск). Далее по запросам вида
     INSERT OUTPUT DISK / INSERT INPUT DISK
     - следует  менять  дискеты,  не  особенно заботясь о том,
чтобы не вставить не тот диск (если Вы чего доброго ошибетесь,
Вас переспросят).
     При первой установке выходного диска будет  прочитан  его
каталог и  проверено имеещееся на нем пространство (число сво-
бодных секторов и позиций в каталоге).  Обратите  внимание  на
то, что в нижней части экрана будет высвечена информация о вы-
ходном диске - наподобие той,  что имеется в верхней  части  и
относится к входному диску.  В случае,  если на выходном диске
недостаточно места, будет выдано сообщение
     INSUFFITIENT SPACE ON DESTINATION DISK
             RETRY  CANCEL  IGNORE
     Возможность ответа  IGNORE  позволяет  перейти к контролю
свободного места перед записью каждого файла.  В  этом  случае
при нехватке пространства на выходном диске будет выдано сооб-
щение NO SPACE или TOO MANY FILES с  возможностью  выбора  уже
всего одной  из двух возможностей - CANCEL (прекратить копиро-
вание) либо DRIVE (сменить выходной диск).
     Следует отметить о возможности копирования на тот же диск
в том  же устройстве.  Если Вы в ответ на первый запрос INSERT
OUTPUT DISK не стали заменять диск, последует запрос вида
    ┌────────────────────────┐
    │ COPY TO THE SAME DISK ?│  (копировать на тот же диск?)
    │       YES    NO        │
    └────────────────────────┘
     Если следует  ответ YES,  то запросов INSERT INPUT/OUTPUT
DISK больше не будет, зато теперь непременно при записи каждо-
го файла будет запрос о том,  что файл уже существует, и что с
ним делать.  Такой  запрос может быть выдан при всех возможных
вариантах операции копирования и вообще при записи нового фай-
ла  на диск,  когда выходной файл с таким же именем и типом на
выходном диске уже имеется:
    ┌──────────────────────┐ OVERWRITE - предварительно удалить
    │ DISK x: filename  .t │   имеющийся файл с таким же именем
    │     FILE EXISTS      │ RENAME - переименовать файл перед
    │OVERWRITE RENAME DRIVE│   его записью на диск
    │   CANCEL  IGNORE     │ DRIVE - сменить выходное устройство
    └──────────────────────┘ CANCEL - прекратить операцию
                             IGNORE - записать еще один файл с
                               таким же именем.
     При записи на выходной диск каждого файла выполняется пе-
ремещение головки на нулевую дорожку  и  процедура  добавления
нового файла в каталог. Поэтому, в случае прекращения операции
в случае сбоев гарантируется,  что  все  файлы,  кроме,  может
быть, последнего, из  записанных  в  каталог  выходного диска,
действительно в него полностью записаны.
     Еще одна особенность копировщика TI-DOS'а при копировании
на одном устройстве: по окончании копирования в качестве теку-
щего остается диск,  к которому в последний раз было обращение
(при успешном завершении - выходной диск),  и  именно  каталог
этого диска высвечивается в результате операции.
     
     Копирование на двух дисководах практически ничем не отли-
чается, разве что  не  будет  выдаваться  запросов  установить
входной или выходной диск. Кроме того, в этом режиме копирова-
ния TI-DOS не будет контролировать,  что в исходном  дисководе
вставлен тот же диск, и по окончании операции входной диск бу-
дет по-прежнему текущим.
     
     COMPRESS DISK  - утилита,  доступная в диалоговом режиме.
Так же, как и COPY, может быть выполнена в произвольный момент
времени, независимо от наличия в основной памяти рабочей прог-
раммы. Операция начинается с высвечивания окошка вида:
     ┌────────────────┐
     │FREE XXXK       │ Для подтверждения следует нажать ENTER
     │COMPRESS DISK x:│ или FIRE в пределах окна, для отказа -
     └────────────────┘ FIRE - вне пределов окна.
     Далее все  делается автоматически.  В информационном окне
отображается ход операции: Read относится к текущему читаемому
файлу, Moved - так отмечаются уже перемещенные файлы. В случае
неуспеха операции в худшем случае испорчен только один файл  -
тот, который  был  отмечен надписью Write в момент прекращения
операции. Но и в этом случае он может быть, вообще, восстанов-
лен, если только размер окна на диске был больше размера этого
файла и не произошло самопересечения  при  попытке  перезаписи
файла обратно на диск.  (Для восстановления в этом случае сле-
дует удалить в каталоге новый  неудачный  экземпляр  файла,  и
просматривая  каталог в режиме SHOW ALL - СМОТРЕТЬ ВСЕ - найти
и восстановить исходный экземпляр данного файла, просто переи-
меновав его, восстановив первый символ имени).
     
     VERIFY DISK - проверка читаемости поверхности диска. Опе-
рация начинается немедленно в момент ее выбора в меню DISK,  и
может быть остановлена нажатием BREAK  в  произвольный  момент
времени.
     
     FORMAT DISK - предварительно высвечивается меню,  в кото-
ром возможно изменить режимы форматирования:
     80 TRACKS         40 TRACKS
     DOUBLE SIDED      SINGLE SIDED
     LIMITED TRACKS    MAXIMUM TRACKS
     SLOW DISK         FAST DISK
     VERIFY ON         VERIFY OFF
     ENTER TO START
     Для отказа от операции следует нажать FIRE,  когда курсор
находится вне пределов окна форматтера.
     После выбора нужных режимов и подтверждения начала опера-
ции форматирование начинается немедленно с нулевой дорожки.  В
случае, если выбран режим DOUBLE SIDED,  производится контроль
того, что дисковод,  вообще говоря,  двусторонний, и в случае,
если это не так, мотор останавливается, и происходит возврат в
меню, в котором уже DOUBLE SIDED заменено на SINGLE SIDED.
     В случае,  если  выбран  режим MAXIMUM TRACKS,  начиная с
79-го цилиндра будет производиться проверка того, что формати-
рование очередной  дорожки  не привело к затиранию предыдущей.
Таким образом может быть  отформатировано  до  83-х  цилиндров
(2672 свободных  секторов - 80/D).  Если выбор этого режима на
Вашем дисководе приводит к форматированию меньшего  числа  ци-
линдров, чем  стандартное  (80/40),  следует  выбирать LIMITED
TRACKS.
     Выбор режима  VERIFY  OFF  ускоряет операцию вдвое засчет
отсутствия проверки вновь отформатированной дорожки.
     Обратите внимание,  что  диски,  отформатированные в моде
FAST DISK, в заголовке диска отмечаются как 80/2,например (для
80-дорожечных двусторонних),  в то время как диски, отформати-
рованные с модой SLOW DISK - как 80\2.  FAST-диски читаются  и
пишутся вдвое быстрее во время работы, на скорость работы ути-
лит VERIFY DISK и FORMAT DISK эта мода влияния не оказывает.
     По окончании операции предлагается ввести имя диска, и на
этом форматирование заканчивается.  Как и все  вышеприведенные
утилиты, форматирование  может  быть  выполнено в произвольный
момент времени,  в том числе - в случае,  когда в памяти нахо-
дится рабочая программа - без ее порчи.
     
     RESTORE DISK - утилита восстановления диска или его части.
     Работа начинается с вывода меню,  в котором возможно выб-
     рать:
  TRY TO READ - число попыток прочитать исходную информацию,
  FIRST TRACK  -  номер(логический) первой дорожки для восста-
                  новления,
  LAST TRACK   -  номер последней дорожки для восстановления,
     а также подтвердить начало операции или отказаться от нее.
     Для каждой  дорожки  из  указанного диапазона выполняется
цикл:
Search──Read─────┬Format──────────┬─Write─────Verify───────┐
(поиск) (чтение) │(форматирование)│  (запись) (верификация)│
                 └<───────────────┴<───────────────────────┘
     что отображается в окне выдачи.
     В случае исчерпания заданного числа попыток чтения исход-
ной информации на восстанавливаемой дорожке выдается сообщение
об ошибке чтения, в ответ на которое возможно:
     Retry - повторить цикл,
     Cancel - прекратить операцию,
     Ignore - оставить то, что прочиталось, и продолжить.
     Кроме того, операция может быть прервана по нажатию BREAK
(обычно остановка происходит на безопасных  участках  цикла  -
Search/Read/Verify - однако, не всегда, и следует до подтверж-
дения прекращения операции убедиться,  что остановка произошла
не во  время форматирования или записи во избежание потерь ин-
формации). Не следует прекращать эту  операцию  путем  нажатия
RESET или выключения питания.
     
     TAPE TO DISK - утилита копирования файлов с ленты на диск.
     В отличие от всех прочих, для ее работы требуется большой
непрерывный участок памяти.  Поэтому, при ее первом вызове вы-
дается запрос:
     WARNING - COMPUTER WILL BE RESET
         ARE YOU SURE? YES NO
     В случае положительного ответа, по окончании работы в ди-
алоговом режиме компьютер действительно будет сброшен в исход-
ное состояние.
     Сразу после подтверждения операции (а при повторных вызо-
вах -  немедленно после вызова) начинается считывание с магни-
тофона всех блоков заголовков и данных,  какие удастся  прочи-
тать, и их запись на диск. В окне выдачи отображается:
     - в случае, если прочитан заголовок - имя файла, длина из
заголовка, и длина самого заголовка (17); пока читается следу-
ющий блок с магнитофона,  предположительно  являющийся  блоком
данных, относящимся к этому заголовку,  данный заголовок выде-
лен иным цветом;  если по окончании выясняется,  что  прочитан
нестандартный блок  или другой заголовок,  то данный заголовок
предварительно будет сохранен как файл без заголовка (тип .U),
а затем  и  прочитанный блок - как нумерованный файл без заго-
ловка;
     - в  случае,  если  прочитан  блок данных,  относящийся к
предшествующему заголовку,  строка  заголовка   модифицируется
(изменяется ее  цвет  и  количество  действительно прочитанных
байтов, обычно равное указанному в заголовке);
     - в  случае  если  прочитан нестандартный блок данных или
заголовок нестандартной длины - формируется файл без  заголов-
ка, и  тогда  первое число - это флаговый байт (стандартно 0 -
флаговый байт для заголовка,  255 - для блока данных),  второе
число - количество прочитанных байтов.
     Любому заголовку предшествует двузначное  шестнадцатирич-
ное число  - контрольная сумма.  Значение 00 свидетельствует о
о том,  что блок заголовка/данных прочитан,  скорее всего, без
ошибок. В любом случае копирование не прекращается,  если даже
и были обнаружены ошибки или в результате  сбоя  блок  не  был
прочитан полностью  -  копировщик записывает на диск все,  что
ему удалось прочитать.
     Каждый файл  записывается на диск немедленно по прочтении
(исключение составляет заголовок,  пока нет  уверенности,  что
его  следует записать как файл без заголовка).  При этом перед
записью на текущий диск каждого файла проверяется,  что встав-
лен тот же диск, что на диске достаточно места, и что на диске
нет файлов с таким же именем (в последнем  случае  возможность
ответа Ignore очень даже может пригодиться, поскольку при хра-
нении файлов на ленте авторы могли не особенно-то заботиться о
разнообразии имен своих файлов). А после записи модифицируется
информация о текущем диске в верхней части экрана (число  фай-
лов, число свободных секторов на диске).
     Запись происходит в формате TI-DOS'а, т.е. обеспечивается
сохранения всей  информации  о  ленточном заголовке в дополни-
тельных секторах каталога.
     Максимальный размер файла, который может быть таким обра-
зом перенесен  на  диск,  составляет  49152 байта,  что обычно
соответствует естественным ограничениям ленточных программ.
     Операция может быть прекращена в произвольный момент вре-
мени нажатием SPACE (если при этом прервано чтение  блока,  он
тем не менее записывается на диск).
     Обратите внимание на то,  что при записи на диск  больших
файлов на  это  может уйти достаточно много времени,  и в этом
случае магнитофон следует приостанавливать во  избежание  про-
пуска пилота следующего блока на кассете.
                          
     MAGIC SAVE - команда доступна из меню OPTIONS.  Обеспечи-
вается сохранение  состояния рабочей программы в виде 191-сек-
торного файла типа <M>,  имя которого  запрашивается  дополни-
тельно. Также,  в случае работы в режиме S128-го,  сохраняются
под тем же именем,  но с типами соответственно <0>,<1>,...,<7>
все дополнительные, в данный момент не включенные страницы па-
мяти S128-го,  если только они содержат не нули (для программ,
не использующих страницы S128-го,  иногда сохраняется файл <0>
или <7> - обычно его можно стереть без ущерба для программы).
     В первом  блоке (файл типа <M>) сохраняется в том числе и
текущий режим обработки прерываний сбрасываемой на диск  прог-
раммы. В отличие от MAGIC-BUTTON'а TR-DOS'а, в памяти програм-
мы не портится ни один лишний байт,  и даже в стеке  использу-
ется только  6 байтов - таким образом,  сбрасыванию подлежат и
программы, использующие для работы сверхкороткий стек.
     Загрузка программы, сброшенной на диск таким образом, мо-
жет быть выполнена из диалогового режима TI-DOS'а  -  нажатием
клавиши ENTER, когда курсор установлен на файл типа <M>.
     Нельзя в режиме 48К пытаться загрузить <M>-файл  програм-
мы, использующей возможности переключения страниц S128-го.
     MAGIC SAVE TI-DOS'а является разумной альтернативой  пе-
ределке программ,  имеющих  собственный  встроенный загрузчик.
Для того,  чтобы получить <M>-образ такой ленточной программы,
необходимо переключиться  в  режим  перенаправления  на  ленту
(REDIRECT TO TAPE/TAPE2 в меню  OPTIONS  диалогового  режима),
вернуться в бейсик (0-выход из диалога с TI-DOS'ом), выполнить
загрузку программы,  после чего кнопкой  "ВНИМАНИЕ"  на  плате
TI-DOS'а снова  вызвать  диалоговый  режим  и  выполнить MAGIC
SAVE. При этом во время загрузки с ленты в том  случае,  когда
блоки загружаются  с  использованием  процедуры LD-BYTES в ПЗУ
Бейсика, Вы получите дополнительное удобство - в  случае  сбоя
TI-DOS выдает сообщение TAPE  LOADING  ERROR  и  предоставляет
возможность выбрать одну из трех реакций:
     Retry - перемотать ленту на начало сбойного блока и попы-
таться продолжить загрузку с него без необходимости грузить  и
все предшествующие блоки программы заново,
     Ignore - попытаться обмануть программу,  сообщив ей,  что
блок прочитан  якобы  правильно (это может быть полезно,  если
сбой произошел во время загрузки одного из промежуточных экра-
нов, несущественных для правильной работы самой программы),
     Continue - продолжать загрузку как есть (то есть  вернуть
ошибку загрузчику программы, что скорее всего, ни к чему хоро-
шему не приведет).
     
                                                           
            ЗАГРУЗКА ПРОГРАММ и ОТГРУЗКА СОСТОЯНИЙ
     
     Для загрузки программ,  требующих TR-DOS, следует входить
в диалоговый  режим  BETA-DISK-инерфейса  (пункт TR-DOS в меню
S128-го, либо RANDOMIZE USR 15616 в бейсике) и  выполнять  ко-
манду RUN  "program"  или GOTO "program"CODE (второй вариант -
для программ,  сброшенных кнопкой MAGIC TR-DOS'а).  Выше отме-
чался вариант   создания  бейсик-загрузчика,  в  том  числе  с
использованием REM-последовательностей,  который мог бы выпол-
нить загрузку такой программы в режиме перехвата с ленты.
     
     Многие программы  индифферентны по отношению к способу их
загрузки (то есть могут быть одинаково загружены как с  ленты,
так и с диска). Для загрузки таких программ в режиме перехвата
с ленты,  а также для загрузки программ чисто ленточных (пере-
несенных с  ленты  утилитой TAPE TO DISK) следует использовать
один из следующих способов:
     1. Загрузка  командой  бейсика LOAD "" или TAPE LOADER'ом
(пункт в меню S128-го):
     - следует  войти в диалоговый режим TI-DOS'а и установить
указатель текущего файла для чтения на требуемую  бейсик-прог-
рамму;
     - затем выйти из диалогового режима (клавиша '0')  и  вы-
полнить комаду  LOAD  "" или нажать ENTER в пункте TAPE LOADER
меню S128-го.
     2. Загрузка командой бейсика LOAD "имя-программы",  в от-
личие от первого способа,  не требует необходимости  переуста-
навливать указатель чтения текущего файла.
     
     Если Вы используете в основном дискизированные программы,
то будет совсем неплохо иметь на диске в качестве файла "boot"
какой-нибудь удобный загрузчик,  индифферентный к способу заг-
рузки самого себя. Тогда достаточно нажать ENTER в пункте TAPE
LOADER меню S128-го или выполнить LOAD "" в 48-м, чтобы снача-
ла загрузился файл  "boot"  (сразу  после  прочтения  каталога
диска при  наличии  в  каталоге  такого бейсик-файла указатель
чтения устанавливается на него, и он будет прочитан первым).
     Собственно, всвязи     с     широким     распространением
BETA-DISK-интерфейса на настоящий момент под TR-DOS переделано
уже достаточно  много  программ,  однако актуальность проблемы
совместимости с кассетными программами не снижается,  особенно
всвязи с  тем,  что  многие  переделанные под TR-DOS программы
по-прежнему продолжают отгружать состояние на  ленту,  вызывая
недоумение у нового поколения пользоватей Spectruma,  не знаю-
щих даже о том,  как магнитофон подключается к этому компьюте-
ру.
     При наличии TI-DOS'а проблема перенаправления отгружаемых
файлов на  диск решается автоматически,  поскольку практически
все программы,  отгружающие состояние, используют для выгрузки
блоков и загрузки их с магнитофона подпрограммы в ПЗУ бейсика.
Единственное, что следует отметить по поводу управления  этими
файлами - это то, что отгрузка часто выполняется в виде файлов
без заголовков,  которым TI-DOS назначает собственные  нумеро-
ванные имена (00001,00002,...,65535). Если Вы сохраняете слиш-
ком много таких файлов,  то имеет смысл сразу  после  отгрузки
состояния войти в диалоговый режим TI-DOS'а и переиеновать та-
кой файл по своему усмотрению (не меняя тип .U).  Кроме  того,
отгружаемые состояния  могут  быть  достаточно  большими (если
сохраняется карта какого-нибудь лабиринта,  сражения, и т.п.),
и в  результате  нескольких отгрузок диск переполнится и будет
выдано сообщение NO SPACE (или TOO MANY FILES).  Даже если под
рукой нет  свободного  диска,  а  сохранить состояние все-таки
очень хочется, TI-DOS предоставляет возможность удалить ненуж-
ные файлы и уплотнить диск,  не сбрасывая программу, состояние
которой требуется сохранить.  Можно даже перекинуть часть фай-
лов на  другой  диск,  уплотнить,  или  отформатировать  новую
дискету - и по окончании  спокойно  вернуться  в  программу  и
все-таки отгрузить состояние.
     Загрузка состояния также несложна,  поскольку перенаправ-
ление запросов  с кассеты на диск TI-DOS делает автоматически.
Проблему может представлять процесс поиска нужного файла среди
множества подобных  - в случае,  когда состояния сохранены как
файлы без заголовков. Но, во-первых, у Вас имеется возможность
войти в диалоговый режим и установить курсор чтения на требуе-
мый файл.  А, во-вторых, есть еще ряд режимов (кстати, они мо-
гут быть установлены при исполнении в REM-последовательности в
программе бейсик-оболочки,  которую Вы изготавливаете для заг-
рузки полюбившейся программы). А именно,
     LOAD SELECTED - позволяет ограничить диапазон загружаемых
файлов только файлами, маркированными в каталоге диска;
     CHECK LENGTH - позволяет еще более сузить диапазон загру-
жаемых файлов только теми,  длина которых совпадает с затребо-
ванной программой.
     
     
     
