Справочник по системным программам 1969 г.

Описание программ - программа LAZER-BASIC.


Программа ЛАЗЕР - БЕЙСИК

Разработка фирмы OASIS SOFTWARE, автор - Кевин Хэмбитом

Лазер-бенсик разработан для обеспечения легкости и и простоты построения
сложных движущихся графических обьектов.
Загрузить лазер-бенснк можно по команде:
LOAD * "М";I;"LAZER"

Если происходит ошибка, то нажмите "N" и "ENTER", или RANDOMIZE USR 58830 и
ENTER или RANDOMIZE USR 58820
Терминология:

1. Спрайты-управляемый графический обьект.

2. Окна-часть спрайта, заданная 4-мя переменными: .COL, .ROW, .HGT, .LEN.

3. Окна спрайтов- часть спрайта, заданная переменными: .SCL,.SFN,.LEN,.SPN.

4. Область спрайтов - область памяти,где хранятся все заданные спрайты. Ее
верхняя граница-56575, а нижняя: PRINT РЕЕК (62464)+ 256*РЕЕК(62465). или
LET Х=РЕЕК (62464):PRINT X

Граница RAMTOP: PRINT PEEK (23730)+256*РЕЕК (23731) или LET Х=РЕЕК (23730):
PRINT X. При каждом задании спрайта расходуется 9*HGT*LEN+5 байт.

5. Пиксель -элементарный блок в один символ 8x8 точек.

6. Атрибуты -цвета INK и PAPER, параметры BRIGHT и FLASH.

7. Операции с экраном - все команды имеют в конце букву "V". Например:
.SRI V,. INVV,.RV и пр.

8. Операции между экраном и спрайтом: команды этой группы начинаются с "РТ"
или "GT" - .GTBL..PTHR.

9. Операции со спрайтами-имеют окончание "М".

10. Операции спрайт - спрайт: только 2 команды: .SFNM и . DSFM.

12. Пустой спрайт: не содержит данных для экрана.

13. Сервисные команды:
Перенумерация строк: .RNUM X.Y.Z .где

X - начальный адрес строки (по умолчанию =0)
Y - новый адрес (=старому)

Z - шаг (10)

.REMK - удаление всех REM-ct^ok.
.TR0N - начало трейсинга (пошаговое выполнение)
.TR0F - конец трейсинга.

14. Графические переменные:

-ROW - вертикальная координата ( от 0 до 23 ). Верхний ряд имеет R0W=0.
-COL - горизонтальная координата ( от о до 31 ).Левый столбец имеет C0L=0.
-HGT - высота текущего окна ( 1...24 ).
-LEN - длина текущего окна ( 1...32 ).

-SRW - вертикальная координата внутри спрайта (от 0 до HGT-1).
-SCL - горизонтальная координата внутри спрайта (от 0 до LEN-I).
-NPX - выражает величину и направление вертикального скроллинга. Положитель-
ное значение-вверх, отрицательное-вниз. Единица измерения-пиксели (Н-
символы). Диапязон-(+127...-1^8 ).
-SPN - номер спрайта ( от 1 до 255 ).Применяется для тех команд, которые ра-
ботают с однйм спрайтом.
-SP1 - операции между спрайтом и окном другого спрайта. Здесь содержится но-
мер первого спрайта, имеющего окно.
Пример:

10 .SET=0: .SPN=4: .R0W=0: .C0L=-4

20 BORDER 1: BRIGHT I: IN KG: PAPER 1: CLS: .ATOF

30 FOR I=-4 то 32

40 .PTXR: .COL-1+1: .PTXR

50 PAUSE 4

60 NEXT I

70 STOP

Строка 10 - выбирается графический набор 0. Спрайт номер 4: ROW устанавливается
в 0, a C0L в - 4.

Строка 20 - устанавливает атрибуты экрана, экран очищается. Флаг атрибутов
отключается.

Строка 30 - организует цикл для движения спрайта 4( утка ) по горизонтали от
координаты (-4) до (+32).
Строка 40 - удаляет старый спрайт, затем помещает новый.
Строка 50 - пауза для обеспечения необходимой плавности перемещения.
15. Изменение значений переменных.

Для изменения значений переменных существуют 11 функций:
?C0L ?R0W ?LEN ?HGT ?SP1 ?SP

?SPN ?NPX ?SCL ?SRW ?SET

Например:

LET X»?C0L*3+R0W/8 - нельзя.
Вместо этого:

LET C0L»?C0L" LET Y»?R0W: LBT X*C0L*3+4/8

Подробное описа ни e команд
ЛАЗЕР-БЕЙСИКА.

1. Процедуры обработки спрайтов.

. SPIjtT - для создания новых спрайтов. Начало - области остается неизменным, а
верхняя граница поднимается на величину: 9* HGT*LEN+5 байтов

.1SPR все то же самое, что и .SPRT, но здесь области спрайтов развиваются
вниз.

. .WSPR служит для стирания соответствующего спрайта, верхняя граница области
понижается.

.DSPN аналогична предыдущей. При стирании гпрайтов нижняя граница области
повышается.
Параметры : SPN.LEN.HGT

2. ГорНЗОНТаЛЬИЫЙ "СКрОЛЛЦН!

Горизонтальный скроллинг выполняется на 1. 4 или 8 пикселей влево или вправо,
с возвратом или без него.
WL1V.WL4V,WL8V - влево на 1.4.8 пикселей с возвратом
WR1V, WR4V.WR8V - вправо на 1.4,8 пиксель с возвратом

SL1V,SL4V,SL8V - влево ............ Без возврата

SR1V, SR4V, SR8V - вправо............ Без возврата

Параметры команд: COL,ROW,LEN,HGT

3. Вертикальный "скроллинг" экрана

Как и горизонтальный скроллинг, к параметрам окна COL, ROW, HGT, LEN добавля-
ется переменная NPX, которая задает размер и направление скроллинга в пикселях
.NPX=-1 - на одни пиксель вниз
.NPX»1 - на один пиксель вверх
Команды " действия

.WCRV вертикальный скроллинг с возвратом

.SCRY вертикальный скроллинг без возврата

Проверка достаточности емкости буфера:
LET X*?NPX: LET Y=?LEN: IF ABS (X) *Y <256 THEN WCRV

4. Скроллинг аттрибутов экрана.

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

Команда действие

.ATLV скроллинг аттрибутов влево

.ATRV скроллинг аттрибутов вправо

.ATUV скроллинг аттрибутов вверх

.ATDV скроллинг аттрибутов вниз

Параметры: C0L,HGT,ROW,LEN

5. Горизонтальный скроллинг спрайтов.

Выполняется как и скроллинг экрана. Все команды отличаются последней буквой
(вместо "V"-"M": .WL1M..WR1M)
Параметры SPN - намер спрайта.

6. Вертикальный скроллинг спрайтов.
Работа аналогична вертикальному скроллингу экрана.
. WCRM ' вертикальный скроллинг с4возвратом

.SCRM вертикальный скроллинг без возврата

Параметры: SPN.NPX

7. Скроллинг аттрибутов спрайта.

.ATLM влево

. ATRM вправо

.ATUM вверх

.ATDM вниз

Параметр SPN - номер спрайта (1-255)

8. Операторы GET и PUT,группа 1.

Операторы PUT помещают спрайт на экран или в другой спрайт. GET - выполняет
противоположное действие - берут данные с экрана или из спрайта и помещают их
в спрайт.
Команда действие

.GTEL поместить блок из экрана в спрайт

.GTOR наложить по OR (или) блок экрана на спрайт

. GTXR наложить по XOR ( искл.нлн) блок экрана в спрайт

.GIND наложить по AND (и) блок экрана в спрайт

.PTBL поместить спрайт в окно экрана

. PTOR наложить по OR спрайт на окно экрана

.PTXR то же по принцепу XOR

.PTND то же по принцепу AND

параметры: COL.ROW.SPN

Например: .SPN=39: .R0W=1: .C0L=1 .PTBL - помещает спрайт номер 3U на экран в
позицию (1.1).

9. Операторы GET и PUT группа 2.

Эти операторы выполняют операции между окнами экрана к окнами спрайтов.
.GWEL - перенос блока с экрана в окно спрайта
.GWOR - наложение по OR
. GWXR - наложение по X0R
.GWND - наложение по AND

. PWEL - перенос блока из окна спрайта на экран
.PWOR - наложение по OR
.PWXR - наложение по X0R
.PWND - наложение по AND

.GWAT - перенос атрибутов блока с экрана в окно спрайта
.PWAT - перенос атрибутов блока из окна спрайта на экран
Параметры: COL,ROW,SCL,SRW,HGT,LEN,SPN

10. Операторы GET и PUT .группа 3.
Эта группа, по-видимогму. наиболее широко применяемая. Содержит команды для
операций между спрайтом н окном в другом спрайте. Эти команды начинаются с
ИРММ и "GM".

.GMEL - перенос спрайта в окно другого спрайта
. GM0R - наложение по принцепу OR
. GMXR - то же по принцепу X0R
.PMND - то же по принцепу AND
.PMBL - перенос окна спрайта в другой спрайт
.PM0R - наложение по принцепу OR
.PMXR - то же по X0R
.PMND - то же по AND

. SMAT - перенос атрибутики спрайта в окно другого спрайта
.Рмат - перенос атрибутики окна спрайта в другой спрайт.
Параметры: SCL.SRW.

SPl-номер первого спрайта (1...255)
SP2-HOMep второго спрайта (I...255)
И. Оператор .MOVE
Используется для эффекта мультиплицированного перемещения спрайтов.
Параметры: COL,ROW,HGT,LEN.SP1.SP2

По команде MOVE берется через PUT спрайт SPI с позиции экрана, заданной ROW
н C0L и помещается спрайт SP2 в позицию C0L+HGT+R0W .
12. Операторы .AT0N и .AT0F .
Эти две команды определяют, надо ли переносить атрибуты спрайтов при выпол-
нении команд PUT и GET .
.AT0N - включение переноса аттрибутов
.AT0F - выключение

Изменне изображения.

.1NVV - инвертирование окна экрана. Параметры для окна: COL.ROW.HGT.LEN .
.INVM - аналогичная над спрайтом с номером SPN

.M1RV - содержимое окна зеркально отображается относительно вертикальной оси,
проходящей через его центр. Параметры: COL, ROW,HGT.LEN
.MIRM -аналогично для спрайта с номером SPN
.MARV - то же для спрайта SPN

.SFNM - поворот спрайта SP2 на 90 градусов по часовой стрелке. После поворота
присваивается номер SP1. Параметры : SP1.SP2 .
.DSPM - увеличение размеров спрайта SP2 в 2 раза.

Прочие команды:
. SF.TV - установка атрибутов INK и PAPER в окне. Параметры : COL. ROW. HGT. LEN.
.SETM - то же,но для спрайта.заданного в SPN. Параметр : SPN .
.CLSV - очистка заданного окна экрана.
.CLSM - то же,но для спрайта. Параметр : SPN .

ADJM - для настройки переменных COL, ROW, HGT, SCL, SRW.SPN т.о.. чтобы от-
дельный спрайт мог быть взят командами PUT или GET 2-ой группы.
Параметры : SPN. COL, ROW, SPN, SRW.
.ADJV - то же,что и в предыдущей команде для окна. Параметры: COL. ROW, HGT.
LEN.

Присваивание.
Эти команды присваивают графическим переменным значения бейсиковских выраже-

.C0L- .ROW® .HGT= .LEN» . SP1« .SP2*

.SPN» .SRW» .SCL= . NPX- .SET-

Дополнительные функии.
?C0L PROW ?HGT ?LEN ?SPN . ?SPI ?SP2 ?SET
?SCL ?SRW ?NPX ?KEF ?SCV ?SCM ?TST ?PEK
Их форма:

LET VAR»?FUN . где:

- YAR - обычная бейсиковская переменная;

- ?FUN - одна из 16-тн функций.

Эти функции не должны быть частью бейсиковских выражений.

- ?C0L - выдает значение переменной C0L .
Аналогично: PROW. ?HGT. ?LEN. ?SPN.

?SP1. ?SP2. ?SCL. ?SRW.
?SET. ?NPX.

?KEF - для определения нажатия клавиш. Переменные ROW н COL для задания по-
луряда и столбца на клавиатуре.

Я д

к л а

в н

ш и

1

от

CAPS SHIFT

До

2

от

А до

G

3

от

Q до

Т

4

от

1 до

5

5

от

0 до

6

6

от

Р ДО

V

7

от

ENTER

До

Н

8

от

SPACE

До

В

PSCV - элементарный блок экрана (8x8), заданный C0L и ROW проверяется на

предмет включения пикселей.
?SCM - проверяются пиксели спрайта,номер которого содержится в SPN.
?TST - отыскивается спрайт.номер которого хранится в SPN.
Примечание: спрайты хранятся в памяти в следующем формате:
Байт1 - номер спрайта.

Байт2 - младший байт адреса следующего спрайта.
БайтЗ - старший байт адреса следующего спрайта.
Байт4 - длина спрайта.
Байт5 - высота спрайта.

8*HGT*LEN * данные о состоянии пикселей.
HGT*LEN « аттрибуты.
Итого: 9*HGT*LEN+5 байтов.
?РЕК (адр.) - Это 16-битная версия оператора РЕЕК.
Например: LET Х«?РЕК (64264) эквивалентно :

LET X«PEEK (64264)+256*PE£K (64265).
Дополнительные команды
POKE X.V - это 16-битная версия обычного бейсиковского РОКЕ. Она помещает
младший байт числа V в X, а старший байт V в Х+1.
Диапазон V - (0...65535). Диапазон X - (0...65534)

Процедуры:
При задании процедуры ее описание содержит список параметров, например:
10 DEF FN А*(X, Y, Z, А&.В&)

здесь параметры X, Y, Z. А&. В& - локальные переменные.
Вызов процедур.
Для выполнения приведенной выше процедуры используется оператор.

.PROC FN А#(3,2,К,"HELLO".Е&)
тогда локальные переменные примут значения :
Х=3 Y=2 Z»K

A&="HELL0" В&-Е&

Процедура должна всегда заканчиваться командой .RETN.

Разрешается применять до 52 процедур ( 26 букв латинскогр, алфавита +26 букв
со знаком & ). ,

Движение спрайтов.
Выполним скроллинг окна на один пиксель, используя функцию ?KBF.
10 INK 6; PARER 0; BRIGHT 1; BORDER 0; CLS
20 .C0L=14; .R0W=10; .SPN-2; .PTEL
30 .SET*5; .C0L*5; .R0W«4
40 .SET*6; .C0L=3; .R0W«5
50 .SEJ-7; .COL^O; .R0W-5

60 .SET-5; LET KB*?KBF; IF KB <>0 THEN ,SET=7; .WL1V
70 .SET-6; LET KB=?KBF; IF KB <>0 THEN .SET-7; .WLIV
80 GO TO 60

Использование PUT
Возьмем спрайт 30 размером 3x3. Сначала очистим данные в спрайте.
.SPN-30; .CLSM

Теперь поместим в егр.центр спрайт 51 (размер 1x1 ): .SP1-5 I; .$Р2=30;
.SCL*1; .SPW=1; .GMBL

Программа для его перемещения с помощью курсорных клавиш ( нажатие их прове-
ряется PKBF ) будет в*г,лядеть так:

10 .AT0F; I NX 5;BRIGHT 1;PAPER 0;BORDER 0;CLS

20 .SET»1;R0W=4; .COL«5

30 . SET=*2; R0W»5; .COL-5

40 .SET«3;ROW=5; .C0L=4

50 .SEF-4;ROW-5; .C0L«3

60 . SET-7; ROW-10; . COL-10; SPN-30

70 .LET x*13; LET V-IO

80 .SET»1;LET KB»?KBF; IF KB О 0 THEN LET X=X-1
90 .SET«2;LET KB*?KBF; IF KB О 0 THEN LET Y-Y+I
100 .SET=3;LET KB=?KBF; IF KB О 0 THEN LET Y=Y-1
110 .SETe4;LET KB»?KBF; IF KB О 0 THEN LET X-X+l
120 IF X>30 THEN LET X=30
130 IF X>-1 THEN LET X=-l
140 IF Y>22 THEN LET Y=22
150 IF Y>-1 THEN LET Y—1
160 .SET-7; .C0L»X; .R0W«V;PTBL
170 GO TO 80

Использование команды .MOVE

После того, как заданы значения C0L и ROW и задано их приращение на каждом
шаге HGT и LEN. Каждое испол ненне команды .MOVE приводит к увеличению C0L
и ROW .

10 INK 0;PAPER 6;BRIGHT 1;BORDER 7;CLS; ATOF
20 FOR N»1 TO 100

30 LET X»INT(FND*32);LET V»I NT(FND22)'
40 PRINT AT X.V;"*"
50 NEXT N

60 LET OR«1;HGT-OR;LET DC=1; .LEN=DC

70 .SP1«50;SP2«50;LET R»10; .ROW»R;LET Ol3;COL-C;.SPN=50; .PTXR
80 .MOVE

90 LET C»?COL;LET R»?ROW

100 IF R«19 OR R»0 THEN LET DR-DR-1; .HGT-DR
110 BEEP 0.01.5
120 GO TO 80

Поме иГе нне спрайта на экран

с повышенной точностью.

Если вам надо переместить спрайт слева направо с шагом по 2 пикселя, а скрол-
линг экрана при этом делать нельзя, то нужно сначала с помощью программы "гене-
ратор спрайтов" создать 4 спрайта; каждый' из которых сдвинут относительно пре-
дыдущего вправо на 2 пикселя. .
Если их пронумеровать от 1 до 4* тЬ» программа.будет выглядеть так:
10 FOR С»0 ТО 31 ! ' ■

20 .COL»C; .-SPN-1; . PTBL; .SPN*2;t .PTBL
30 .SPN-3; .PTBL; .SPN-4; . PTBL м .'• - '

40 NEXT С

Определение столкновений епрайтов.
Для этого служат команды: ?SCV*h' ?SCM - •
?SCV - служит для проверки позиции символа на экране.

?SCM - команда проверяет спрайт</е номером SPN на наличие включенных пикселей.
Н а б о р ы'-п е р е ме н н ы х .
Если вы хотите перемещать '4 окна на эКрЗнё. вы можете задать параметры для
каждого окна в .виде набора переменных/н&йример:-'
.SET-1; .HGT-5; .LEN-5; .ROW-O; C0L»0 '
.SET»2; .HGT=4; .LEN-6; .R0W-0; .COL=5
.SET-3; ":'HGT»e^ .LEN-4; .ROW^O; .C0L=12
.SET-4; .HGT-?$: .LEN-3; .R0W«8;n .COL-18
Теперь ;для toi*o, чтобы выполнить скроллинг для каждого окна достаточно за-
дать: • t 1 J Ч) : . . ' t. f 4 ' '
. SET» l; .,WR}V;;;SET*2; .WL2V;> ;SET*3; . WL8V; .SET-4; .WRIV

З а г p узка и " з а я с ь -про грамм
в ЛАЗЕРА Б Е Й iC J К Е .
Загрузка и запись прямой командой.

Чтобы записать неавтостартугацую программу' напрямую используйте:

- для ленты: SAVE "FILENAME"

- для микродрайва: SAVE * "M";N; '"F IL'ENAME"
Запись автостартующей программы прямой командой

- SAVE "FILENAME" LINE N

- SAVE * "M"; N; "FILENAME" LINE N

Программ^ "LASER BASIC COMPILER"

(компилятор Лазер-бейсика)
Разработка фирмы OASIS SOFTWARE, автор - Крис Меллинг
Введение

Компилятор .язидо Лазер-бейсик предназначен для создания автономной программы
независимо от иятертр-етатора Лазер-бейсика.

Любая программа/.«созданная в расширенном интерпретаторе Лазер-бейсика помес-
тится в компиляторе.'

Расположение файлов на ленте.

A.C0MPC0DE LOAD ""CODE
LOADER LOAD ""

RT CODE LOAD "RT CODE" CODE

B.DEMO LOAD ""
Компиляция

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

Перед загрузкой выполнить: CLEAR 5Й799, загружается компилятор: LOAD ""CODE
или LOAD "COMPCODE" CODE

Начало компиляции - RANDOMIZE USR 59800

При компиляции экран изображает случайную информацию. Это не сбой, все в по-

рядке. После окончании компиляции экран очищается. Появляется сообщение "O.K.".
а также номер последней откомпилированной строки.

Скомпилированный код вытирает исходный текст. Тем не менее компьютер воспри-
нимает его как обычную бейсик-программу.

Выполнение откомпилированной программы

Для выполнения откомпилированной программы необходимо снабдить ее дополни-
тельно пакетом рабочих процедур. RAMTOP следует установить 59799 ( не забывайте
об этом при загрузке откомпилированных модулей ). Пакет рабочих процедур загру-
жается командой:

LOAD "RT CODE" CODE

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

Инициализация выполнения программы:

RANDOMIZE USR 59800 или GO ТО 1

Компоновка автономной программы.

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

Для этого программу необходимо скомпоновать и снабдить загрузчиком. Он вхо-
дит в набор, имеющийся на исходной ленте. Вот его текст :
10 CLEAR 59799
20 LET SPST-0
30 LOAD "RTCODE" CODE
40 LOAD "SPRITES" CODE SPST

50 LET'T»INT(SPST/256):POKE 62464.SPST-256*T:POKE 62456.T
60 POKE 62466.255: POKE 62467.200
70 POKE 56575.0
80 LOAD " "

Здесь:

строка 10-выделение пространства для пакета рабочих процедур.
Строка 20-установка начала области.размещения файла SPRITES ( смотри описа-
ние генератора спрайтов )
строка 30-загрузка пакета рабочих процедур
строка 40-загрузка файла спрайтов

строка 50-внесение в программу адреса начала области размещения спрайтов.
Строка 60-внесение в программу адреса конца размещения области спрайтов.
Строка 70-внесения конца области размещения знакогенератора спрайтов
строка 80-загрузка текста скомпилированной программы.

Примечание: спрайты в программе не используются, строки 20-70 можно исключить.

Вам остается внести требуемое значение SPST и подготовить набор файлов на
чистой ленте. Помните, что делая SAVE для загрузчика и для*откомпилированной
программы необходимо указывать строку автостарта.
SAVE "LOADER" LINE 10
SAVE "COHPPROG NAME" LINE 1

Ограничение для стандартного бейсика. Нижеперечисленные ограничения были за-
ложены в компилятор на этапе его проектирования.

1. Нельзя использовать вычисляемые выражения в операторах GO ТО. GO SUB, RUN.
RESTORE

2. В операторе DIM допустимы вычисляемые границы, но только такие, которые в
прбцессе компиляции будут установлены в 0.

3. Использование оператора CLEAR не допускается.

4. Команда RUN выполняется также, как и в бейсике. но сброса переменных не
производится.

5. Недопустимы операторы: MERGE.CONTINUE.LIST.LLIST.

6. Командой CONTINUE нельзя запускать сбившуюся программу или программу с
оператором STOP.

7. Команды OPENt и CLOSE* работают только с потоками S.К и Р.

8. Команды LOAD, SAVE и VERIFY являются допустимыми если загружается бейсик-
программа.

Сообщения об о'шибках:
ILLIGAL STATEMENT FOUND - встретился один из недопустимых операторов: CLEAR.

MERGE.LI ST,LLIST.CONTINUE.
PROCEDURE DEFINITION NESTING ERROR - найдено два описания процедуры без проме-

жуточного оператора .RETN. В описаниях процедур вло-
женность не дапускается.
RETN WITHOUT DEF FN# ERROR - найден оператор .RETN без соответствующего описа-
ния процедуры.

PROCEDURE NOT FOUND - обращение к неописанной процедуре. Описание проце-

дуры не обязательно должно предшествовать ее испол-
нению.

PROGRAM NOT COPILED - это сообщение пакета рабочих процедур. При старте

программы ее начало не было идентифицировано как на-
чало откомпилированной программы.
Карта памяти.
Компилятор н пакет управляющих процедур загружается начиная с адреса 59800.
Пакет рабочих процедур занимает всю верхнюю часть памяти. Конец компилятора по
адресу 62586, т.е. его длина 3057 байтов. Следовательно перед загрузкой этих мо-
дулей необходимо выполнить:
, CLEAR 59799

Откомпилированная программа размещается в памяти следующим образом:
программа: переменные: спрайты:

PROG VARS EL 1NE

стек микропроцессора RT CODE

65675 59300 65535

Программа SPRITE GENERATOR

( генератор спрайтов )
Разработка фирмы OASIS SOFTWARE. автор - Пол Ныохем
Вступление
Генератор спрайтов предназначен для создания и редактирования спрайтов.
.Загрузка

Программа загружается LOAD "SPTGEN" или LOAD " Если вы. хотите записать ее
иа ленту, сделайте BREAK, затем GO ТО 999. Обе части -программы будут выгружены
иа леиту. Правда теперь чтобы запустить программу, ее надо перезагрузить.
Чтобы записать программу на микродрайвер:
вместо LOAD " " CODE поставьте
LOAD "М"; 1; "G** CODE,
теперь дайте GO ТО 9998

Начало работы:
После загрузки программы вы получите запрос: Какой запуск? Холодный (COLD) или
теплый (WARM). В 1-ый раз всегда выбирается "С"(COLD), затем дается Y(YES). по-
является рабочий экран.

Терминология :
" Холодный запуск "

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

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

CHR& SQR

Эта аббревиатура используется для обозначения элементарного квадрата н отно-
сится к сетке 8x8, расположенной в левой части экрана. Здесь создаются и редак-
тируются спрайты.
Экран спрайта.
Это область экрана размером 15x15 символов.
Курсор CHR& SQR

Это мигающий курсор, который используется для конструирования и редактирова-
ния изображения находящегося в CHR& SQR.
Курсоры экрана спрайта.
Это два мигающих курсора. Они расположены ниже и правее экрана спрайтов. При-
меняются для задания позиции левого верхнего угла окна с которым идет работа.
Окно экрана спрайтов.
Часть экрана, с которым непосредственно ндет работа - это окно. Его координа-
ты задаются XP0S и YP0S.

Спрайты.

Для записи спрайтов на ленту вы имеете две различных операции:
Операция 1: этот режим предпологает дальнейшее редактирование спрайтов.
Операция 2: этот режим выгружает спрайты готовые к использованию в лазер-бей-
сике.

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

SPRITE 1А - набор из 50 спрайтов различных аркодных персонажей.

SPRITE 2А - это файл спрайтов входящих в демонстрационную программу.
В информационном прямоугольнике изображается следующая информация:
MEMORY LEFT 7488 XPOS 1 YPOS 1

SPRITE 60218 SPRITE HEIGHT-2

SPST 60218 SPRITE LENGHT-2

SPND 65279 SPRITE NUMEER-l

< текстовая строка > '

MEMORY LEFT ~ обьем памяти оставшийся для размещения спрайтов

XPOS YP0S - текущее положение курсоров экрана X и Y.

SPRITE - адрес памяти, где заданный в^мн спрайт. > ч .

SPST - начало области спрайтов в памяти компьютера.

SPND - указывает на конец области спрайтов.

SPRITE HEIGHT - обозначает высоту заданного спрайта.

SPRITE LENGHT х обозначает длину заданного спрайта' ^». . < <

SPRITE NUMBER - номер текущего спрайта

Стекстовая строка> - выполняемая в данный момент команда.

А - переключение атрибутов ( аналог .ATOF и .AT0N) 1-вклг tJ-выкл.•

В - задает переменную BRIGHT. 1-Вкл. 0-Выкл. •"

С - задает переменную PAPER. Клавиши от 0 до 7 - цвет.

SIMBOL SHIFT+C - создание больших спрайтов.

D - прямой ввод данных. Принимает 8 байтов данных по одному байту за один раз
с последующим ENTER. - •

Е ~ задействует функции экрана, имеет 3 операции:

1. Инверсия ( аналогична INVV ). По этой операции все выключенные пиксели
включаются, а включенные выключаются. Действует на все окно, размеры которого
заданы "SPRITE HEIGHT" и "SPRITE LENGHT". ... «.

2. Зеркальное отображение ( аналогична.МIRV ).1 Эта операция "переворачивает"
относительно вертикальной оси окно, заданное теми же переменными, что и в опера-
ции 1.

3. Зеркальное отображение атрибутов ( аналогична .MARY ). Эта операция "пере-
ворачивает" относительно вертикальной оси атрибуты в окне, заданном теми же пе-
ременными. что и в операции 1.

F - задействует режим FLASH ( мигание ) окна. Обеспечивает мигание окна экрана,
заданного переменными ( SPRITE HEIGHT ) и ( SPRITE LENGHT ).

SYMBOL SHIFT+l - отформатировать картридж мнкродрайвера. Картридж подготавли-
вается к записи спрайтов. Устанавливается 5 пустых спрайтов от 1 до 5.

G - занесение спрайта с экрана в память. По этой команде берется спрайт, разме-
ры которого хранятся в "SPRITE NUMVER". снимается с окна, заданного позициями
курсоров экрана спрайтов и отправляется в память компьютера.

Н - ввод высоты спрайта "SPRITE HEIGHT" ( аналогична .HGT ) допускается высота
от 1 до 15 символов.

SYMBOL SHIFT+T - скроллинг окна влево на 1 пиксель.

U - берет параметры атрибутов символа из экрана спрайтов с позиции, отмеченной
курсорами и помещает их в 4 переменных атрибутов.

SYMVOL SHIFT+U -скроллинг окна вверх.

V - включение переменной FLASH 1-вкл. 0-выкл.

W - включение функции-стирания спрайтов "WIPE SPRITE" ( аналогично .DSPR ).

X - задает переменную INK. Клавиши 0-7 цвет.

Y - дает положительный ответ "да" при запросе "Y/N".

SYMBOL SHIFT+Y - скроллинг окна вниз на 1 пиксель.

SPACE - дает возможность поместить спрайт небольших размеров внутрь второго,
большего спрайта в позицию, заданную переменными ROW и C0L второго спрайта.
Здесь существует четыре операции:
1. GETBLS - меньший спрайт помещается в большой.

2. GETORS - накладывается no "OR" меньший спрайт на больший.

3. GETXRS - то же, но по XOR.

4. GETND - то же. но по AND.

5,6,7,8 - перемещение курсора с CHR& SQR в соответств>ющих направлениях.
9. - включает CHR& SQR в выбранной позиции.

0. - выключает CHR& SQR в выбранной позиции.

SYMVOL SHIFT+5,6,7.8 - управление перемещениями курсоров на экране спрайтов.
Резюме :

Итак,порядок создания спрайтов в генераторе спрайтов такой:

1. Загрузить генератор спрайтов н выполнить холодный запуск.

2. Установить клавишей "А" флаг атрибутов в 1.

3. Установить цвета INK и PAPER. '

4. Создать спрайт, используя CHR& SQR или прямой ввод данных.

5. Увеличить размеры окна до размеров своего спрайта.

6. Установить курсоры экрана спрайтов в левый верхний «угол вашего слрата.

7. Высветить окно клавишей "F".

8. Загрузите спрайт в память клавишей "G".

9. Проверте. правильно ли прошла операция следующим образом: переведите курсор
в свободную часть экрана спрайтов н поместите туда спрайт клавишей "Р".

10. Выполните другие необходимые операции или создайте другие спрайты.

11. Выгрузите спрайты из ленту в формате операции 1 с тем, чтобы они могли быть
загружены впоследствии в генератор спрайтов для доработки или редактирования.

12. Выгрузите спрайты на ленту в форме операции 2 для дальнейшего их использо-
вания в Программе Лазер-бейсик.

13. Очистите память компьютера через RANDOMIZE USR 0.

14. Загрузите Лазер-бейсик.

' 15. Загрузите спрайты, используя операцию 2 главного меню. Загрузчик запросит
от вас "SPRITE START ADRESS" ( адрес начала области спрайтов ). который вы за-
помнили, когда выполняли пункт 12.




СОДЕРЖАНИЕ:


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

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



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

Похожие статьи:
Bugs - О газете.
Железо - схема АЦП из доступных элементов.
Поиск - поиск игр, программ.
Полезные сведения - знаете ли Вы,что...
Спекутрум изнутри - логические элементы.

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