Дисковая операционная система для ПК "ZX Spectrum" 1990 г.

Глава 11 - перенесение кассетных программ на диск.


11. ПЕРЕНЕСЕНИЕ КАССЕТНЫХ
ПРОГРАММ НА ДИСК

Если программа написана вами, то ее перенос на
диск не вызывает проблем. Вы загружаете ее с ленты
в память SPECTRUM как обычно, а затем производи-
те ее запись на диск непосредственно с клавиатуры:
RANDOMIZE USR 15619:REM:SAVE "NIPPER 2"

или

RANDIMIZE USR 15619:REM:SAVE "NIPPER 2"
CODE 30000.6000

Ряд других программ можно скопировать на диск,
если использовать программу-утилит TAPECOPY,
находящуюся на диске утилитов (см.приложение).
Синтаксис для этих программ будет преобразован с
целью обеспечения их запуска из TRDOS.

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

11.1. Преобразование программ

Очень часто программа является смесью БЕЙ-
СИК-программы и машинных кодов, чтобы повысить

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

Для тех программ, которые используют в качестве
интерфейса БЕЙСИК, их преобразование для исполь-
зования в TRDOS относительно просто. Другие про-
граммы требуют интенсивного вмешательства, чтобы
их приспособить к запуску из TRDOS. Самые трудные
из них могут быть приспособлены к использованию в
TRDOS с помощью магической кнопки (см.раздел
11.3) как последнего средства решения проблемы.

Нам необходимо получить доступ до всех команд
LOAD и SAVE в исходной БЕЙСИК-программс для
производства изменений, так что первым шагом явля-
ется распечатка БЕЙСИК-программы командой LIST.

Эта техника вполне подходит для индивидуальных
программ. Некоторые программы могут иметь не-
сколько команд LOAD и SAVE для их выявления сле-
дует использовать построчный просмотр
БЕЙСИК-программы. Для каждой найденной коман-
ды ее следует переписать, используя следующий пре-
фикс:

RANDOMIZE USR 15619:REM:

который надо вставить непосредственно перед ко-
мандами LOAD и SAVE.

Вы должны также помнить следующее. Во-первых,
TRDOS-команда должна быть последним оператором
в строке, а, во-вторых, должно быть указано обозна-
чение дисковода.

Первое соображение обычно требует некоторой не-
большой модификации в части нумерации и содержи-
мого строк. Следующий пример демонстрирует оба
этих момента.

Пусть имеется программа:

500 IF Х=5 THEN INPUT "NAME";N$: SAVE N$

DATA C$():
VERIFY N$ DATA C$():GOSUB 700

505 IF X=V THEN GOSUB 800:INPUT
"TITLE";T$:SAVE T$:

SAVE T$ CODE 50000,575

50 6.........дальнейшая программа

и пусть она должна быть записана на текущий ди-
сковод.

Тогда эта программа должна быть изменена следу-
ющим образом:

500 IF Х=5 THEN INPUT

"NAME";N$:RANDOMIZE 'JSR 15619:REM:
SAVE N$ DATA C$()
502 GOSUB 700

504 IF X=V THEN GOSUB 800:INPUT
"TITLE";T$:RANDOMIZE

USR 15619.REM:SAVE
T$

505 RANDOMIZE USR 15619:REM:SAVE T$
CODE 50000.575

50 6........дальнейшая программа

В новой программе видоизменена нумерация
строк. Появились строки 502 и 504, что обусловлено

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

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

Т.о. правила преобразования программ таковы:

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

2. Ко всем командам LOAD и SAVE необходимо
добавить префикс RANDOMIZE USR 15619:REM:

3. Если используется более 1-го дисковода, следует
убедиться, что текущим является тот, который вам
нужен.

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

5. Если вам пришлось добавить новые строки, не-
обходимо проверить все строки программы и, если
нужно, изменить адреса переходов.

11.2. Магическая кнопка

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

Имеется много программ, которые выполнены так,
что они или вообще не могут быть преобразованы для
записи их на диск, или эта процедура требует значи-

тельных усилий, как например для коммерческих
программ с их ухищренной защитой от копирования.

Обычно в этих случаях видоизменение команд
SAVE и LOAD невозможно, что обуславливает необ-
ходимость использования других средств для записи
этих программ на диск.

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

Некоторая избыточность длины создаваемого фай-
ла, которая зависит от конкретной программы, вполне
возмещается скоростью и гибкостью работы TRDOS-
системы.

Форматированный чистый диск для этих целей не-
обязателен, но в этом случае он должен устанавли-
ваться в дисковод А. Установив нужный диск, вам
необходимо проделать следующее (считаем, что вы
находитесь в TRDOS):

1. Вернуться в БЕЙСИК по команде

RETURN <Enter>

2. Перевести переключатель системы в положение
OFF.

3. Очистить память SPECTRUM путем
PRINT USR 0<Enter>

4. Обычным образом ввести и запустить программу
с кассеты.

5. После того, как программа загружена и запуще-
на, нажать магическую кнопку MAGIC и быстро ее
отпустить.

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

SPECTRUM &: создается только один файл.

Этот файл является отраже-
нием всего ОЗУ компьютера
величиной 48К. Получен-
ный файл будет наблюдаться
в каталоге под именем и
иметь тип CODE.

SPECTRUM 128: в зависимости от количества
используемых страниц па-
мяти (сверх 64К) на диск мо-
жет быть записано до 7
файлов. Причем, распечатка
каталога диска после исполь-
зования магической кнопки:

TITLE:TEST
7 FILE (S)
О DEL.FILE

А. @ <С> 192 @7<С> 64

А: @ 6 <С> 64 :@4 <С> 64

А: @3 <С> 64 :@1 <С> 64

А: @ 8 <С> 1

Семейство имен этих файлов есть
Для созданных файлов (для всех SPECTRUM)
другой синтаксис процед> р загрузки и запуска. Вместо
обычных команд используется ключевое слово SOS
"GO ТО"

GOTO CODE

Программа может быть переименована или скопи-
рована на другой диск под ее собственным именем и
запущена командой GO ТО

NEW "GAME 1". CODE

COPY "В.GAME 1", "А:@" CODE

Если надо запустить GAME 1 и диск находится в
дисководе А, соответствующая команда имеет вид:

GO ТО "GAME 1" CODE

SPECTRUM 128 можно переименовать или
скопировать все файлы
(один за другим), используя
команды NEW и COPY. Од-
нако, для вашего удобства на
диске утилитов имеется про-
грамма-утилит MAGIC
(см.приложение). Эта про-
грамма может быть также
использована для стирания
семейства файлов, записан-
ных с помощью кнопки
MAGIC.

Прежде, чем использовать кнопку MAGIC, вы дол-
жны удостовериться, что на диске не содержится фай-
лов с именами "@Г, "@2" и т.д.

Некоторые программы используют программу не-
стандартного сканирования клавиш. Для этих про-
грамм необходимо указывать имя файла на диске с
первым символом "$", например:

GO ТО "$ GAME 1" CODE

Если при проверке программы обнаружилась про-
блема опроса клавиш, то при ее копировании на дру-
гой диск под новым именем первым символом должен
быть символ "$".

Пример:

NEW "$ GAME 1". CODE

GO ТО "$ GAME 2" CODE

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




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Бывальщина - Биология компутера.
PAGE индикатор - Индикатор страниц памяти к Speccy.
Трындец - Несколько интересных задач: Три мудреца, Головоломка, Какая фамилия у машиниста. Скорость движения некоторых животных. Сухим из воды (фокус)...
От автора - О первой Волгодонской газете.
Есть такое мнение! - Кому она нужна, эта "Небьюла"?

В этот день...   27 апреля