Работа с ZX-Spectrum 1993 г.

Интерфейс диска «BETA». Глава 11. - перенос кассетных программ.


ГЛАВА 11

ПЕРЕНОС КАССЕТНЫХ ПРОГРАММ

Перенос кассетной программы, написанной Вами, особых трудностей
не представляет. Вы загружаете программу обычным способом в СОС. а
после можете записать ее на диск, введя команды:

RANDOMISE USR I5619:REM:SAVE -XXX" или
RANDOMISE USR 156I9:REM:SAVE "XXX'CODE NNNN.ZZZ

Другие программы могут быть скопированы с помощью программы
ТАРtCOPY, находящейся на диске прикладных программ UTILITY DISK.

Может возникнуть необходимость преобразовать синтаксис этих
программ, чтобы обеспечить их работоспособность в TR DOS. Если же
программу невозможно или трудно преобразовать для запуска с диска, мож-
но воспользоваться магической кнопкой.

ПРЕОБРАЗОВАНИЕ ПРОГРАММ

В большинстве случаев программы представляют собой смесь BASIC'a
и машинных кодов для обеспечения быстродействия. Причем BASIC'oeaa
часть может варьироваться от простого загрузчика машинного кода до
сравнительно сложного интерфейса между кодом и пользователем.

Для тех программ, которые используют BASIC как интерфейс, преобра-
зование для работы в TR DOS достаточно прозрачно. Другие же программы,
возможно, потребуется глубоко «ковырять», чтобы заставить работать их под
TR DOS. Некоторые, наиболее сложные, потребуют использования «магичес-
кой кнопки» как единственного средства преодолеть затруднение

Вы должны иметь доступ ко всем командам LOAD и SAVE в исходной
программе на BASIC'e. поэтому первым делом распечатайте листинг.

Техника преобразования программ варьируется в зависимости от их
индивидуальных особенностей. В некоторых случаях команд LOAD и SAVE
в программе мало, и беглый просмотр листинга их сразу выявляет. Другие же
программы используют команды LOAD и SAVE в нескольких разных вариан-
тах. В этом случае самый простой выход - шагать по программе строчка за
строчкой, высматривая их. А когда обнаружим, используем уже знакомый
префикс - RANDOMIZE USR 15619:REM: , который вставляем в программу
Явред существующими командами LOAD и SAVE.

Следует постоянно помнить следующие два момента:

первое - команда TR DOS всегда является

последней в строке,

второе - с каким из дисководов в данный мо-

мент Вы работаете.

Ниже проиллюстрируем оба этих момента:

500 IF Х«5 THEN INPUT "NAME":N$:SAVE N$ DATA C$0:
VERIFY N$ DATA C$():GOSUB 700

505 IF X-V THEN GOSUB 800:INPUT "T1TLE";T$:SAVE T$:
SAVE T$ CODE 50000,575

50 6..................

Предполагаем, что файлы записываются на дисковод по умолчанию.

Новая программа

500 IF Х«5 THEN INPUT t4NAMEv;N$:

RANDOMISE USR I5619:REM:SAVE N$ DATA C$<>

502 GOSUB 700

504 IF X«V THEN GOSUB 800:!NPUT "TITLE";T$:
RANDOMISE USR 15619:REM:SAVE T$

505 RANDOMISE USR I56I9:REM:SAVE T$ CODE 50000,575

50 6..................

Подгонка строк будет варьироваться от программы к программе. В
данном примере оказалось достаточно вставить строки 502 и 504. чтобы
получить по одной команде TR DOS на строку. В ином случае придется
встряхнуть и другие строки, для освобождения пространства, хотя сами
эти строки прямого отношения к LOAD и SAVE не имеют. В любом случае
необходимо следить за последовательностью выполнения операторов
программы. Бывает и так, что в результате изменения номеров строк какой
нибудь оператор перехода попадет не туда, куда надо.

Итак, просуммируем правила преобразования:

• 1. Команда TR DOS должна быть последней в строке.

• 2. Ко всем существующим командам LOAD и SAVE необходимо

лишь добавить префикс RANDOMISE USR 15619:REM:

• 3. Если используется больше одного дисковода, погните, с каким

Вы работаете.

• 4. Все файлы должны иметь имена.

• 5. Проверяйте последовательность выполнения операторов, когда

добавляете промежуточные номера строк.

МАГИЧЕСКАЯ КНОПКА

Магическая кнопка расположена на задней панели дискового интерфей-
са. Ее назначение - записывать на диск кассетные программы без какого-

либо преобразования. Многие программы написаны таким образом, что их
трудно или невозможно преобразовать для запуска с диска. Это могут быть
программы с изощренной защитой либо программы, которые используют ко-
манды SAVE и LOAD для чтения или записи файлов данных. В этом случае,
когда нет возможности подменить команды СбС на команды TR DOS. требу-
ется иной подход.

Делается это так: порграмма загружается и создаются массивы данных,
далее, вместо команды SAVE нажимаем магическую кнопку, при этом вся
память вместе с данными записывается на диск . Последующая загрузка за-
гружает всю память - и программу и данные.

_ Некоторое неудобство, связанное с необходимостью при каждом
обновлении данных записывать поогоамму заново, практически не ощущает-
ся благодаря скорости работы TR иОъ с диском.

Для .этой цели необходимо отвести чистый отформатированный диск,
который должен находиться в дисководе А. Вот детальная последователь-
ность операций (предполагается, что мы в TR DOS):

• 1. Вернитесь в BASIC командой RETURN.

• 2. Переведите системный переключатель в положение ВЫКЛ.

• 3. Очистите компьютер командой PRINT USR 0.

• 4. Загрузите программу с кассеты и запустите ее.

• 5. После того,как программа загружена и стала работать, нажмите

магическую кнопку и сразу же отпустите.

Вся память компьютера запишется на диск в виде файла.

SPECTRUM & PLUS: на диске появится один файл, который содержит
образ 48 Кбайт ОЗУ. Посмотрев каталог диска, увидим, что имя файла а
тип - CODE.

SP£CTRUM 128: на диске может появиться до семи файлов в
зависимости от того, сколько использовано страниц памяти из верхних
64 К.

Пример каталога после использования магической кнопки:
TITLErTEST
7 FILE(S)
А:@ 192:@7 64
А:@6 64;@4 64
А:@3 64:@1 64
А:@8 1

имя у всех -

• Синтаксис загрузки у такой программы для всех компьютеров
SPECTRUM отличается от обычного LOAD и RUN. Вместо этого использует-
ся ключевое слово GOTO, например:
GOTO"@"CODE

Программа может быть переименована или скопирована на другой
диск со своим индивидуальным именем и запущена командой GOTO.
Предположим, что мы хотим запустить программу с диска в дисководе А, тог-'
да:

GOTO "GAME"CODE
, SPECTRUM 128: можно переименовать или скопировать все файлы
(один за другим], используя команды NEW и COPY. Однако к Вашим услугам
программа MAGIC на диске прикладных программ. Подробности в прило-
жении. Эта программа может быть также использована для стирания Сразу
целого семейства файлов,гзаписанных магической кнопкой.

Перед тем, как нажать магическую кнопку, убедитесь, что на диске
нет программ с именами "нф" или "@1" и так далее.

Некоторые программы используют нестандартную процедуру
сканирования клавиатооы. Для таких программ необходимо, чтобы заголовок
начинался символом % , например:

GOTO "$GAMErcODE
Если возникли проблемы со сканированием клавиатуры, то к заголовку
добавьте префикс "$ :

NEW "$GAME2* CODE
Во время загрузки таких файлов, на зкране появляются некие случайные
элементы, часто динии из точек похожие на азбуку Морзе.. Когда эта картина
исчезнет, программа запускается с того места, на котором она была останов-
лена.




СОДЕРЖАНИЕ:


  Оставте Ваш отзыв:

  НИК/ИМЯ
  ПОЧТА (шифруется)
  КОД



Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Интервью - Интервью с Joker'ом (Mafia).
Новости - новости от Краснодарского музыканта nik-o (nq).
Новость недели - я наконец-то достал демки с FT'98.
Лит. Страничка - Головная боль полковника хауэлла или "объвляю заседание открытым" (продолжение).
Horror 5 - Иду я как то на диване ночью , как раз начинало темнеть ?

В этот день...   24 ноября