Компоновщик знакоместной графики (в дальнейшем именуется PAC), входит в состав ПС «Маэстро».
Для работы программы Pattern Composer необходим компьютер MSX 2 оснащенный манипулятором мышь (в дальнейшем просто мышь). Основное назначение РАС — подготовка графики для программ, которые работают в Screen 2 и Screen 4 (для V9938 в режимах Graphics 2 и Graphics 3). Компьютер MSX 2 используется в качестве инструментальной машины из–за расширенных требований к человеко-машинному интерфейсу PAC (работа с мышью, оконные меню и пр.) и наличия большего количества оперативной памяти для реализации функций РАС. Графика, порождаемая РАС полностью совместима с MSX 1.
При работе с РАС, наиболее предпочтительными являются компьютеры MSX 2, имеющие аппаратуру Memory Mapper и более 64 кбайт ОЗУ. Это связано с тем, что при наличии Memory Mapper, РАС размещает все свои оверлейные программные сегменты и полиэкран пользователя в мэппируемой памяти и не производит дополнительных обращений к диску во время работы. Тем не менее, РАС может работать и на компьютерах MSX 2, имеющих только 64 кбайт RAM и 128 кбайт VRAM. В этом случае, полиэкран пользователя располагается в VRAM (что несколько замедляет работу по сравнению с Memory Mapper), a программные сегменты подгружаются по мере необходимости с диска.
РАС написан на языке С (компилятор BDS C) с использованием Графической Библиотеки MSX для BDS C.
Для работы используется MSX-DOS 1.03X (изменённая Леонидом Бараз)
Диск Pattern Composer, версия 3.04
Примеры запуска PAC из командной строки:
pac
PAC будет загружен и выполнен. По умолчанию он будет использовать стандартную системную библиотеку шаблонов/цветов, находящуюся в файле PAC.COM
MYLIB.LIB
(ранее созданную и сохранённую на диске с помощью PAC), выполните: pac l=mylib.lib
MYPIC.MNT
, просто выполните: pac mypic.mnt
или
pac l=mylib.lib mypic.mnt
(этот пример загрузит файлы LIB
и MNT
). Специально подготовленный файл P.BAT
поможет Вам загрузить файлы LIB
и MNT
вместе.
Полный формат командной строки для вызова PAC:
pac [l=libfile] [файл1 ... [файлN]]
Файлы, которые в настоящий момент могут быть подготовлены при помощи РАС и сохранены на диске, классифицируются следующим образом:
Полиэкран, состоящий из одиночных экранов общим количеством до 21 (каждый одиночный экран — Single-screen Name Table (SNT) 768 байт). Полиэкран может быть сконфигурирован пользователем с различными шириной и высотой, задаваемых в количестве SNT (см. Screen Config в меню РАС) и сохранён в различных вариантах: «Абсолютном» и «Переместимом».
Библиотека знакомест: pattern-библиотека (2048 байт) + colour-библиотека (2048 байт). При работе РАС и в большинстве других приложений Библиотека чаще всего является общей для всех 3 частей экрана в Screen 2: верхней, средней и нижней. Однако, это не исключает того, что Ваша будущая программа сможет использовать до трёх независимых друг от друга различных Библиотек для различных третей экрана.
Для идентификации различных форматов записи файлов, используется первый байт (первые байты) каждого файла. Ниже приводятся стандартные значения этого байта (байтов) с соответствующими комментариями.
Значение (0x) | Описание | Режим |
---|---|---|
F7 | MNT в «Абсолютном» (строка за строкой MNT) формате. Следующие 2 байта являются шириной и высотой MNT в одиночных экранах (SNT). | Загрузка и сохранение |
F8 | Special. Использовался для разработки собственно РАС. | Только сохранение таких файлов. |
F9 | MNT в «Переместимом» (экран за экраном SNT) формате с шириной и высотой MNT. В настоящее время не поддерживается. Используется для совместимости со старыми версиями РАС | Только загрузка |
FA | Sprites (2048 байт) — пока не поддерживается РАС | — |
FB | SNT — 768 байт | Загрузка и сохранение |
FC | MNT в «Переместимом» (экран за экраном SNT) формате. Нет байтов ширины и высоты MNT. | |
FD | Библиотека знакомест: Pattern Generator (2048 байт) + Colour Table (2048 байт) + 1байт. Последний байт является указателем первого свободного знакоместа для алгоритма автоматического размещения/добавления знакомест РАС. |
|
FE | Стандартный формат BSAVE / BLOAD для VRAM MSX BASIC. Следующие 3 слова (по 2 байта) являются адресами загрузки, конца данных и исполнительным адресом (не имеет смысла для VRAM). | Только загрузка |
Назначение кнопок мыши:
Левая | Выбор (Do) |
Правая | Отмена действия или выход из текущего режима (Undo) |
РАС имеет два основных режима работы: Меню (Menu) и Компоновка (Compose).
Назначение клавиш:
Esc | Pattern editor | |
Tab | Вставить | Операции производятся над фрагментом любого размера |
Ctrl | Вырезать | |
Shift | Скопировать | |
Caps | Выбор элемента библиотеки знакомест для фазы Мультипликация | |
Пробел | В режиме Компоновка (Compose): включение/выключение в верхней трети экрана библиотеки знакомест |
|
←, ↑, →, ↓ | Прокрутка (скроллинг) Multi-screen Name Table (MNT) | |
Graph + ←, ↑, →, ↓ | Выбор экрана внутри Multi-screen Name Table (MNT) | |
Cls+Ins+Del | Остановка печати и выход в MSX-DOS | |
Stop | Остановка печати | |
Select | Включает и выключает встроенный механизм трассировки. Эта информация может помочь при обнаружении ошибки |
|
Удержание Alt | Динамический показ позиций курсора в относительных и абсолютных координатах с выводом номера значения патnерна в PGT |
По нажатию на правую кнопку мыши выбирается режим Компоновка (Compose)
Обозначение | Описание | |
---|---|---|
Paste | Вставить | Операции производятся над любыми блоками экрана произвольного размера, выход по правой кнопке мыши |
Cut | Вырезать | |
Copy | Скопировать | |
Cls | Очистить экран | |
Pattern editor + | Pattern editor | |
Sprite editor + | Sprite editor | |
Clear Lib | Очистка библиотеки | |
Color | Настройка цвета | |
Next menu | Переключение между меню: меню 1 и меню 2 | |
Screen config | Настройка и конфигурирование полиэкрана | |
Help info | Вызов встроенной справки |
Обозначение | Описание |
---|---|
-Save- | Сохранить |
Name tab | Singe-screen Name Table (SNT) |
Library | Library (LIB) |
Sprites | Sprites Library (SPR) |
All name tabs | Multi-screen Name Table (MNT) |
Next menu | Переключение между меню: меню 1 и меню 2 |
-Load- | Загрузить |
Files | Файлы |
MSX DOS | Выход в MSX-DOS |
-Print- | Напечатать |
Name tab | Singe-screen Name Table (SNT) |
Picture | Изображение |
Sprites | Спрайты |
В режиме компоновки (Compose) все меню РАС исчезают с экрана и, используя Do и Undo, Вы можете брать паттерны с экрана и располагать их там, где считаете необходимым (при этом РАС модифицирует только Name Table).
Примечание: двойное нажатие на правую кнопку мыши (Double Click Undo) или нажатие на Пробел в режиме компоновки (Compose) приводит к появлению/исчезновению в верхней трети экрана библиотеки знакомест, из которой Вы можете брать паттерны, которых в данный момент нет на экране.
Обозначение | Описание | |
---|---|---|
Ok | Выход в режим меню | |
Animation | Мультипликация | |
Clr wrk | Очистка рабочего поля 16×16 точек — путём заливки выбранным цветом Работает Undo (правая кнопка мыши) |
|
Clr lib | Очистка элементов в библиотеке знакомест | |
Lib | Работать с библиотекой знакомест, ниже указан номер текущего элемента(или первого пустого) Указатель элемента в библиотеке можно переставлять с помощью мыши. Тем самым, узнавать номер паттерна (знакоместа) в библиотеке. |
|
Инвертировать изображение по горизонтали | ||
Рабочее поле 16×16 точек. Оно может состоять из 4 паттернов 8×8 (для связности более крупных картинок и для спрайтов) | ||
Инвертировать изображение по вертикали | ||
Палитра цветов | ||
Выбранный цвет, в данном примере выбран прозрачный цвет (0) | ||
Put | Разместить в библиотеке отредактированный элемент | Операции выполняются с изображением 8×8 точек |
Get | Вставить в рабочее поле элемент (паттерн) из библиотеки |
Режим мультипликация (Animation).
Выбор фазы производиться нажатием на левую кнопку мыши или клавиши Caps.
Выход из режима — правая клавиша мыши.
При выборе анимационных блоков полиэкран можно двигать клавишами курсора, каждый выбранный блок увеличивает счётчик числа фаз анимации.
Анимация запускается стрелками рядом с кнопкой STOP и, если её не останавливать этой кнопкой, то продолжает работать на полиэкране даже при выходе из редактора.
Скорость смены анимационных фаз можно регулировать стрелками около кнопки TEMPO.
Анимация возможна в режиме компоновки на полиэкране не только отдельным паттернами, но блоками любого(!) размера. Для анимации изображения из нескольких блоков их нужно выделить на полиэкране мышью удерживая левую кнопку мыши.
При выборе знакомест на полиэкране для анимации курсор превращается в мигающий при помощи которого можно можно задавать размер анимационного блока, произвольно растягивая область выбора с удерживанием левой кнопки мыши. После задания размера первого анимационного блока все остальные блоки выбираются такого же размера и анимируются на полиэкране на месте последнего выбранного блока.
При очистке библиотеки знакомест удаляется всё, что находится правее и ниже мигающей стрелки на библиотеке. Курсор можно позиционировать при помощи левой кнопки мыши.
Надо иметь в виду, что при удалении элементов, которые используются самим РАС, его меню могут стать искажёнными или даже невидимыми.
Библиотека знакомест может быть загружена функцией lodlib()
из GRPLIB
(Программное средство «Маэстро») как спрайтовая библиотека. Поэтому подготовка одноцветных спрайтов возможна текущей версией РАС.
По умолчанию библиотека знакомест открыта, чтобы закрыть её, нужно нажать правую кнопку мыши, чтобы выйти из режима выбора элемента библиотеки и нажать на экране на кнопку Lib, тогда библиотека будет закрыта.
Пока не реализован