ZX News #02
30 ноября 1996
  Софт  

Screen Editor - пакет программ Screen Editor для создания экранов к играм.

<b>Screen Editor</b> - пакет программ Screen Editor для создания экранов к играм.
         new life for SPECCY!!


   Пакет программ Screen Editor V1.0
  -----------------------------------
          1. Общие сведения.


 Пакет     программ     Screen    Editor
предназначен   для  создания  экранов  к
игровым  программам.  Экраны строятся из
отдельных  элементов. Все элементы имеют
одинаковые   размеры.   Размер  элемента
может  быть  от  1 до 6 знакомест как по
горизонтали    так   и   по   вертикали.
Максимальный  размер  экрана  - 32 на 24
знакоместа,    т.е.    на   весь   экран
SPECTRUM'а,   минимальный   -   1  на  1
знакоместо.    Максимальное   количество
элементов может изменяться в зависимости
от размера последних, но всегда не более
255.


       2. Комплект поставки.


 + S.Editor <B>
    - Собственно сам редактор;
   Scissors <B>
    - Утилита для обработки файла
      элементов;
   S.E.Comp <B>
    - Компилятор экранов;
 + VIEW ZXW <B>
    - Листалка для HELP'а;
 + s.e.help <W>
    - Текстовый файл помощи в
      формате ZX Word;
 + dz000.sc <C> -
 + dz001.sc <C> -
 + dz002.sc <C> - Пять экранов DIZZY 7;
 + dz003.sc <C> -
 + dz004.sc <C> -
 + dz   .el <C>
    - файл примера элементов;
   EXAMPLE  <A>
    - пример использования
      компилированных экранов.

плюсом обозначены файлы, которые входят
в демонстрационный пакет


     3. Загрузка и управление.


 Все  программы пакета запускаются любым
способом. Режим 128 и 48К при запуске не
имеет   никакого   значения  (  ни  одна
программа  не  использует дополнительные
возможности  128К ). Управление курсором
возможно только (!) клавишами 6, 7, 8, 9
и  0  другими  словами  SINCLAIR  RIGHT.
Остальные,  редко  используемые, клавиши
будут расписаны ниже.



     4. Screen Editor.


 После   загрузки  программы  необходимо
нажать  <SPACE>  для  входа  в редактор.
Появится меню вида:
      ┌───────────────────────┐
      │     SCREEN EDITOR     │
      │                       │
      │     ИНИЦИАЛИЗАЦИЯ     │
      │   РАБОТА С  МАКЕТОМ   │
      │    РЕДАКТОР ЭКРАНА    │
      │  РЕДАКТОР  ЭЛЕМЕНТОВ  │
      │  РАБОТА С ДИСКОВОДОМ  │
      │    VERSION  NUMBER    │
      │         ВЫХОД         │
      └───────────────────────┘
 Активизация любого подменю производится
путем наведения курсора на нужную строку
и нажатия '0'.

        4.1. Инициализация.


 Подменю       'ИНИЦИАЛИЗАЦИЯ'      дает
возможность:
 -    указать    размер    элемента   по
горизонтали и по вертикали;
 -  указать размер экрана по горизонтали
и по вертикали;
 - очистить все элементы.
 причем  при  установке  новых  размеров
элементов    происходит   автоматическое
изменение  размера экрана (размер экрана
становится   равным  размеру  элемента).
Поэтому  установку  размеров  необходимо
начинать   с   элементов.Размер   экрана
всегда   кратен  размеру  элемента.  При
активизации  пункта 'ОЧИСТКА ЭЛЕМЕНТОВ',
программа   запросит   подтверждение.  В
случае  положительного ответа происходит
занесение  нулей в ч/б часть и числа #47
в атрибуты элементов. Пункт 'ОК' - выход
в основное меню.

       4.2. Работа с макетом.


 Это     подменю    предназначено    для
'вытаскивания'        элементов       из
полноэкранного            рисунка-макета
(нарисованного, например, в ART STUDIO)
 Для   этого  необходимо  предварительно
загрузить заставку.
 Подменю  имеет  три окна. Самое большое
отображает  часть  макета,  два поменьше
показывают элемент под курсором макета и
текущий  элемент  соответственно, причем
размеры   последних  одинаковы  и  равны
размерам,     указанным     в    подменю
'ИНИЦИАЛИЗАЦИЯ'.
 После   выбора   пункта  'МАКЕТ'  можно
перемещать  курсор  по заставке. В левом
верхнем    углу    указывается   текущее
положение курсора. Выход - клавиша '0'.
 Пункт  'В  БАНК'  делает перемещение из
левого   малого   в   правое  окно  т.е.
происходит  пересылка элемента из макета
в  банк  элементов. Пункты 'СЛЕДУЮЩИЙ' и
'ПРЕДЫДУЩИЙ'   увеличивают  и  уменьшают
номер  текущего  элемента,  причем после
максимального  номера идет минимальный и
наоборот.  Пункт 'ОК' - выход в основное
меню.


 ВНИМАНИЕ! Если в экране применяется
 'пустой' элемент, то его номер должен
 быть '1'.
 Дабы не раздувать файл  элементов,
 используйте все номера, без пропусков.
 Для удобства компрессии экранов,
 элемента с номером '0' не существует
 вообще.

       4.3. Редактор экрана.


 Оказавшись  здесь можно составить экран
из    готовых   элементов.   Перемещение
курсора  -  все теже кнопки. Клавиша '0'
помещает      под     курсор     текущий
элемент.Нажатие   <SPACE>   приводит   к
появлению  рамки  с  текущим  элементом.
Клавиши    '6'   и   '7'   уменьшают   и
увеличивают  номер  текущего элемента на
1,клавиши  '8'  и '9' делают то же самое
но изменяют номер уже на 10. '0'-возврат
к   редактированию,   'CS'+'SS'выход   в
основное меню.

      4.4. Редактор элементов.


 С  помощью  редактора  элементов  можно
нарисовать     свои     элементы     или
отредактировать уже нарисованные.
 Экран в редакторе элементов разделен на
две   части.   Левая  предназначена  для
непосредственного         редактирования
увеличенного   (4*4)  элемента.  В  низу
правой  части  расположен  редактируемый
элемент.  В  верху  правой  части  можно
установить  цветовые  параметры  (PAPER,
INK,      BRIGHT,      FLASH),     режим
редактирования   элемента  (SET,  RESET,
TOGGLE).   Пункт   'ЦВЕТ'   включает   /
выключает  раскраску  элемента  в  левой
части   (в   случае   'ЦВЕТ  Х'  элемент
изображается   белым  по  черному).  Для
того, чтобы изменить какие-либо цветовые
параметры элемента необходимо установить
новые,  навести  курсор  на нужное место
элемента (расположенного справа внизу) и
нажать '0'. Пункт 'ИНВЕРСИЯ' инвертирует
элемент.  'ОК'  - выход в основное меню.
Нажатие  клавиш  1,  2, 3 и 4 приводит к
скроллированию  элемента  влево, вправо,
вниз  и вверх соответственно. Комбинация
клавиш  'C'+'L'+'S'  - очистка элемента.
При  нажатии  <SPACE>  появляется меню с
пунктами: 'В БАНК'-пересылка элемента из
редактора    в   банк   элементов;   'ИЗ
БАНКА'обратная  операция;  'СЛЕДУЮЩИЙ' и
'ПРЕДЫДУЩИЙ'- ну тут все ясно; 'ОК'-
возврат в редактор.

      4.5. Работа с дисководом.


 Данное   подменю   содержит   следующие
пункты:    'ЧТЕНИЕ    МАКЕТА',   'ЧТЕНИЕ
ЭКРАНА',   'ЧТЕНИЕ  ЭЛЕМЕНТОВ',  'ЗАПИСЬ
ЭКРАНА',   'ЗАПИСЬ  ЭЛЕМЕНТОВ'  И  'ОК'.
Назначение  всех  этих пунктов, я думаю,
понятно  и так, но на некоторых моментах
надо остановиться по-подробнее. При всех
чтениях программа попросит вставить диск
и  нажать  '0',  после чего будет считан
каталог. Каждое из трех чтений 'ищет' на
диске  файлы  только определенного типа.
Так  при  чтении  макета  в список будут
внесены только кодовые файлы длиной 6912
байт,  при  чтении  экрана  - файлы типа
*****.sc  <C>  и  при чтении элементов -
файлы   типа   *****.el  <C>.  В  случае
отсутствия    таковых    будет    выдано
соответствующее  сообщение  и  программа
вернется  в  основное меню. Если файл(ы)
есть,  то  любой  из них можно загрузить
путем наведения курсора и нажатия '0'. В
конце  списка  файлов  выводится  строка
<CANCEL> ,вызвав которую можно вернуться
в  основное  меню.  При записи программа
попросит  ввести  имя (пять знаков).Если
файл  с  таким именем уже существует, то
есть  возможность  перезапистать его или
отказаться от записи вообще.


ВНИМАНИЕ! Если  Вы  планируете
 производить компрессию экранов с
 помощью  программы  S.E.Comp,то имена у
 всех файлов должны  иметь  вид:
 **+++.sc <C>, где  ** - два  любых
 символа,  +++ - три  цифры. Причем '**'
 должно быть у всех файлов одинаково!
 '+++' - последующее должно быть больше
 предыдущего на единицу, например 149,
 150, 151. Для примера смотрите пункт
 'Комплект поставки'.


      4.6. VERSION NUMBER.


 Номер    версии   -   следующий   пункт
программы  Screen Editor. Как следует из
названия  в  этом  пункте  можно  узнать
номер  версии основной программы пакета.
На  момент  составления  help-файла есть
ДЕМО ВЕРСИЯ и V1.0.


       4.7. ВЫХОД.


 При     активизации    этого    подменю
появляется рамка с пунктами:'SOS'выход в
ВАСИК,  'DOS'выход  в  TR-DOS  и  запуск
boot'а,  'NO!'возврат  в  основное меню.
Следует  отметить,  что  при  выходе  из
программы   режим   (48   или   128)  не
изменяется.


       4.8. Приложение.


 В  пакет включено приложение, состоящее
из   пяти   файлов   экранов   и   файла
элементов.  Все это можно посмотреть.Для
этого  нужно  загрузить  Screen  Editor,
установить    (пункт    'ИНИЦИАЛИЗАЦИЯ')
размер   элемента   2*2,  размер  экрана
32*18,   загрузить   (пункт   'РАБОТА  С
ДИСКОМ')   файл   элементов,   любой  из
экранов и войти в 'РЕДАКТОР ЭКРАНА'.


        5. Scissors.


 Вторая      программа     из     пакета
предназначена    для   обработки   файла
элементов.  Дело  в  том,  что программа
Screen   Editor  всегда  выгружает  файл
*****.el  одного  и  того  же  размера -
14400 байт (12800 байт ч/б изображения и
1600  байт  цветовой  информации), но не
всегда  эти  14400  байт используются на
100%.    Поэтому    программа   Scissors
уменьшает  файл элементов до минимальных
размеров.
 Загрузка  и управление не отличается от
предыдущей  программы. В программе всего
два пункта: 'ОПТИМИЗАЦИЯ' и 'ВЫХОД'.


       5.1. Оптимизация.


 После  активизации  этого  пункта  меню
программа   попросит   вставить  диск  и
нажать  '0',  после  чего  будет выведен
список    всех    имеющихся   файлов   с
расширением  .el. Отказаться от загрузки
можно   выбрав  строку  <CANCEL>.  Когда
загрузка  закончится  появится  меню,  в
котором  нужно указать размеры элемента,
тип   оптимизации   (1   или  2),  номер
последнего   используемого   элемента  и
нажать   на   'ОК'.  Следующим  желанием
программы  будет  имя файла для отгрузки
оптимизированных   элементов.  В  случае
повтора  имени  вопрос  решается как и в
Screen Editor'е.
 Теперь  о типе оптимизации. Тип 01: ч/б
1, ч/б 2,..., ч/б n, цв1, цв2,..., цв n.
Тип  02: ч/б 1, цв1, ч/б 2, цв2,..., ч/б
n, цв n.


        5.2. Выход.


 Смотри пункт 4.7.


        6. Screen Editor Compiler.


 Конечной   целью  работы  над  экранами
является  их  компиляция,  что  экономит
память   компьютера   при  использовании
экранов в игровых программах. Компилятор
создает  два  файла.  Один  содержит все
указанные     Вами    скомпрессированные
экраны,   а   второй   таблицу  смещений
которая  необходима  для  поиска нужного
экрана.Также    как   и   в   предыдущей
программе здесь два пункта:'КОМПИЛЯЦИЯ'и
'ВЫХОД'.


       6.1. Компиляция.


 После    активизации    этого    пункта
необходимо  ввести  два имени. Имя файла
первого  экрана  и имя файла последнего.
Программа  сверяет первые два знака имен
и  проверяет,  чтобы 4, 5 и 6 знаки имен
были  цифрами. После удачного ввода имен
программа   считывает  каталог  диска  в
память   и   начинает   компиляцию.  При
компиляции       выдается      следующая
информация:   номер   по   порядку,  имя
компрессируемого файла, длина файла до и
после  компрессии, коэффициент сжатия (в
процентах),          длину          всех
некомпрессированных    и    длину   всех
компрессированных экранов.
 Прервать   компиляцию   можно  нажатием
<SPACE>.   Если  какой-либо  файл  будет
отсутствовать  на диске, то будет выдано
сообщение:  'ФАЙЛ *****.sc НЕ ОБНАРУЖЕН.
ПРОДОЛЖИТЬ   КОМПИЛЯЦИЮ   (Д/Н)?'.   При
получении  положительного  ответа  будет
заново считан каталог диска и продолжена
компиляция.  Это  помогает в том случае,
если  файлы экранов разбросаны по разным
дискам.
 После окончания компиляции нужно ввести
имя  для  отгрузки.


ВНИМАНИЕ! Во  время  компиляции  не
 контролируется длина экрана в байтах,
 поэтому длины должны быть одинаковыми.
 Объем  памяти при компиляции ограничен
 и поэтому нужно следить,  чтобы  длина
 всех скомпрессированных экранов не
 превысила 30К.


     7. Программа EXAMPLE <A>.


 В приложение пакета включена процедура,
написанная на ассемблере (в формате TASM
3.0),        которая       демонстрирует
закомпрессированные  ранее  экраны.  Для
этого необходимо:
 1.   Обработать   файл   dz   .el   <C>
программой   Scissors  (размер  элемента
2*2,  тип  оптимизации  -  02, последний
используемый  элемент - 108) и выгрузить
под именем example3 <C>;
 2.   Откомпилировать  пять  экранов  из
приложения  (dz000.el  -  dz004.  el)  и
выгрузить  под  именем example (на самом
деле  запишется два файла example1 <C> и
example2 <C>);
 3.   Запустить  TASM  3.0  (или  MASM),
загрузить  EXAMPLE <A>, отассемблировать
и <RUN>.
 В   тексте  процедуры  имеется  немного
комментариев.
 Я    хотел   написать   эту   процедуру
максимально  понятной  и легко читаемой,
поэтому  ее  скорость  оставляет  желать
лучшего.


    8. Всякая полезная информация.


 Файл       экрана       состоит      из
последовательности   номеров  элементов,
расположенных слева - направо и сверху -
вниз.   Таким  образом  длина  экрана  в
байтах   равна  произведению  количества
элементов  по  горизонтали на количество
элементов  по  вертикали и всегда больше
нуля и меньше или равно 768 байтам.
 Файл   элементов,  как  писалось  выше,
всегда  имеет  длину  14400  байт Каждый
элемент  заполняется информацией слева -
направо,  сверху  -  вниз построчно (как
ч/б так и цветная составляющие).
 Компрессия экранов заключается в замене
часто   повторяющихся   чисел   (Є3)  на
последовательность вида: 0, что, сколько
раз.     Вся     остальная    информация
переносится один к одному.
 Все  обращения  к  диску делаются через
стандартные  процедуры  ПЗУ  и  в случае
всяких ошибок (DISK ERROR, NO DISK, READ
ONLY, ETC) произойдет неизвестно что.
 Второй  файл  созданный S.E.Compiler'ом
(файл    смещений)   содержит   в   себе
информацию     о    расположении    всех
закомпрессированных экранах.
Пример использования:
 LD    A,2 ;номер необходимого экрана
 LD    L,A
 LD    H,0
 ADD   HL,HL
 LD    DE,#8000 ;в 'DE' начало файла
                 смещений
 ADD   HL,DE
 LD    E,(HL)
 INC   HL
 LD    D,(HL)
 LD    HL,#9000 ;в 'HL' начало
                 скомпрессированных
                 экранов
 ADD   HL,DE    ;теперь в 'HL' адрес
                 требуемого экрана

           9. Глюки.


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


ВНИМАНИЕ! Если Вы обнаружили
 какие-нибудь глюки или  хотите что-либо
 сказать или пожелать автору, то пишите
 и звоните.
 Правильная  работа  крякнутых версий не
 гарантируется.


          10. Версии.


 Как  писалось  выше  имеется две версии
пакета:  ДЕМОНСТРАЦИОННАЯ и версия V1.0.
Версии  V1.*  появятся в случае внесения
каких-либо значительных изменений.
 Возможно  скоро  появится  новый  пакет
программ  (V2.*).  Он  будет  отличаться
возможностью   использования   элементов
нефиксированных    размеров.    Примерно
половина  игрушек  используют  экраны из
элементов  нефиксированных  размеров.  В
Screen  Editor'е  V2.* вероятно не будет
редактора  элементов  (а  то  это былобы
похоже на ART STUDIO).


      11. Использованные программы.


 При     изготовлении     пакета    были
использованы  следующие  программы: GENS
4,  TASM 3.0, MASM 1.1, ART STUDIO 128K,
ZX  WORD 2.5+, Screen Crasher 2.6, TOOLS
2.0 за что большое спасибо их авторам!


      12. Авторы.


 Все программы пакета были разработаны и
написаны       Клубовым      Владимиром.
Тестирование,    советы    и   моральная
поддержка - Иваненко Станислав.


      13. Дистрибьюторы.


 Покаместь   официальным  дистрибьютором
является   только   автор,   но   я  жду
предложений   от  всех  заинтересованных
(этот    пункт,    естественно,    будет
изменен).   Цена  лицензии  Вас  приятно
удивит!   По   всем  возникшим  вопросам
пишите  по  адресу:348033  Украина,город
Луганск  квартал  Шевченко, дом 123, кв.
40. Клубову Владимиру или звоните (0642)
54-42-19.



   ─────────────────────────────────


Copyright№¤1995,96. Screen Editor V1.0.
    By Klubov, Crystal Dream group.
        All Rights Reserved



Другие статьи номера:

От редактора - прошло два года со дня выпуска первого номера.

Анкетирование - нами будет выпущена энциклопедия "speccy особей".

Как сделать INTRO - пишем интро с плазмой и спрайтами.

Лабиринт - вторая часть фантастического рассказа.

Смагли-3: Воин света - новая игра от "Crystal Dream": предыстория ужасной бойни...

FIDO слухи - UNIQUE GROUP из Екатеринбурга пишет МЕГАдемо; IBM vs Speccy.

Как взломать программу - Как взламывать программы и игры на SPECCY: Пояснительная записка от Richard P Swann.

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

Лечение современными методами - 5 способов лечения.

Screen Editor - пакет программ Screen Editor для создания экранов к играм.

Рабочий день - приколы (продолжение).

Законы Мерфи - если какая-нибудь неприятность может случиться, она случается.

Как устроены игрушки - статья о том как делаются игры лабиринтного типа с большим игровым пространством.

Хоббит - прохождение Адвентюрной игры "Хоббит, или Путешествие туда и обратно".

Сага о конгрессе - Большой Толкиновский Семинар 1995 года в Санкт-Петербурге.

Российско-Эльфийская дружба - Доклад на II Семинаре Толкиновского Общества.

Авторы журнала - Своих ГЕРОЕВ надо знать...


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

Похожие статьи:
Coding - пишем простую бегущую строку.
Психология - Тест: "Сова" или "жаворонок"?
Игрушки - описание игры BATMAN-II.
Зашутим - несколько тупых приколов.
Обзор - Системных программ: PRO TRACKER 2,1, PRO TRACKER 3,0d

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