Диалекты бейсика для ZX Spectrum 1992 г.

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


РАБОТА С МАГНИТОФОНОМ

Запись программ_

SAVE

Написанная программа будет сохраняться в памяти компьютера до тех пор, пока мы его не выключим. Но для нас важно, чтобы ею можно было пользоваться и завтра, и послезавтра. Должен быть некий способ сохранения программ с возможностью в последующем быстрой загрузки их в память компьютера. Самый простой способ — запись на магнитную ленту обычного магнитофона (как кассетного, так и катушечного). То, что создается на магнитной ленте при записи туда программы, называется файлом.

Подключим магнитофон к специальному гнезду компьютера, наберем ключевое слово SAVE, а вслед за ним заключенное в кавычки имя файла с программой. Имя придумаем сами, помня лишь о том, что оно не должно содержать более десяти символов, но и менее одного. Например:

SAVE "DOLLAR"

На ввод этого оператора компьютер откликнется сообщением:

Start tspe, then press any key.

- то есть попросит включить магнитофон на запись* и нажать любую клавишу на компьютере. После этого компьютер начнет «шипеть», а по бордюру побегут цветные полоски — значит, информация записывается.

По окончании записи появится стандартное сообщение:

Ф ОК

Обеспечение надежной записи и считывания информации с магнитной ленты — это тема отдельного разговора. Здесь же посоветуем только устанавливать уровень записи почти на максимум.

Можно записать программу на магнитофон таким образом, чтобы после загрузки для ее запуска не требовалось выполнения оператора RUN. А в этом действительно есть необходимость. Ведь наша программа должна быть рассчитана на непросвещенного пользователя, от которого грех требовать выполнения даже такого элементарного действия, как запуск программы.

Для обеспечения автоматического старта при загрузке программы (автостарта) к оператору SAVE нужно добавить ключевое слово LINE с указанием строки старта:

SAVE "DOLLAR" LINE 1

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

Проверка правильности записи программы_

VERIFY

Бейсик ZX Spectrum позволяет после записи программы на магнитофон убедиться в безошибочности проведения этой операции. Перемотаем магнитную ленту в начало записанного нами файла, наберем оператор

VERIFY "DOLLAR"

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

Если же появится надпись Таре loading error, значит, запись не удалась и нужно повторить ее еще раз10.

Загрузка программы

LOAD

Сохраненную на ленте программу (файл) загрузить в память компьютера после некоторой тренировки достаточно просто. Выполним оператор

LOAD "DOLLAR"

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

Когда имя программы точно не известно, его можно и не указывать, заменив «пустой строкой» — двумя кавычками без текста:

LOAD ""

Выполняя этот оператор, компьютер загрузит первую встретившуюся на ленте бейсик-программу.

Подгрузка программ

При слиянии программ следует особо следить за тем, чтобы в них не было строк с совпадающими номерами. Иначе строки ранее загруженной программы ("DOLLAR") будут попросту заменены на строки новой ("PROG") с совпадающими номерами. Та же участь ожидает и одноименные переменные.

Запись и загрузка массивов_

SAVE...DATA, LOAD...DATA

В своей «валютной» программе мы отказались от использования массива для хранения параметров мелодии. Если бы мы этого не сделали, то нам мог бы пригодиться оператор SAVE с ключевым словом DATA. С его помощью можно сохранять массивы отдельно от программы, что позволяет существенно сократить ее размер. Ведь после того, как однажды при наладке программы рассчитаны или считаны из оператора DATA значения элементов массива и он сохранен на магнитной ленте, часть программы, делающая расчет или считывание, может быть со спокойной совестью удалена.

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

Сам процесс записи массива ничем не отличается от записи всей программы, только после имени файла нужно записать ключевое слово DATA, а после него имя массива с двумя пустыми скобками:

SAVE "MELOD" DATA М()

Соответственно, считывание массива производится оператором LOAD "MELOD" DATA М()

Правильность записи массива можно проверить оператором VERIFY "MELOD" DATA М()

Запись и загрузка экранного изображения

После чего, вставив в программу строку: 5 LOAD "PICTURE" SCREEN$

- можно (если не выключать магнитофон после загрузки программы) загрузить картинку с ленты прямо на экран. Для этого надо поместить на ленте файл с картинкой вслед за программным файлом.

Лучше написать специальный загрузочный модуль — коротенькую программку, которая должна загрузиться и запуститься первой и обеспечить последовательную загрузку сначала заставки (чтобы скрасить ожидание), потом основного текста программы.

В нашем случае программа-загрузчик может выглядеть так:

5 LOAD "PICTURE" SCREEN$ 10 LOAD "DOLLAR"

Запись экранного изображения можно проверить на отсутствие ошибок оператором

VERIFY "PICTURE" SCREENS

Запись и загрузка содержимого областей памяти_

SAVE...CODE, LOAD...CODE, VERIFY...CODE

Сохранить на магнитной ленте экранное изображение можно и другим способом — как область памяти:

SAVE "PICTURE" CODE 16384, 6912

Приведенный оператор запишет на ленту содержимое области памяти, начиная с адреса11 16384 (первый параметр после ключевого слова CODE) длиной в 6912 байт12 (второй параметр). Именно в этой области памяти хранится информация об экранном изображении.

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

LOAD "PICTURE" CODE

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

LOAD "PICTURE" CODE 16384, 6912

Запись блока кодов можно проверить на отсутствие ошибок оператором

VERIFY "PICTURE" CODE 16384, 6912




СОДЕРЖАНИЕ:
  1. Laser Basic - Вывод спрайтов на экран; Вывод на экран части спрайта; Перенос атрибутов; Преобразование окна экрана; Наборы переменных; Перемещение спрайтов; Наложение спрайтов; Копирование изображения с экрана в спрайт; Преобразование спрайтов; Скроллинг пейзажа; Изменение размеров области спрайт-файла; Вспомогательные графические операторы и функции; Определение столкновений спрайтов; Сервисные операторы и функции; Процедуры; Загрузка и запись программ.


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

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



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

Похожие статьи:
Советы экспертов - Castle Master.
Hardware- доработка компьютера Балтик.
Intro - Вчера в Москве прошел FunTop'98.
Спаси Сохрани - Значит придется спасать...
Music - Откуда взять ритм? Alone Coder рассказвает о способах генерации ритма.

В этот день...   29 марта