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