Инструменты пользователя

Инструменты сайта


msx:maestro:pac:pac

Pattern Composer

Компоновщик знакоместной графики (в дальнейшем именуется 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

Запустить в WebMSX

Диск c исходным кодом Pattern Composer, версия 3.04

Командная строка

Примеры запуска PAC из командной строки:

  • Простой запуск
    pac

    PAC будет загружен и выполнен. По умолчанию он будет использовать стандартную системную библиотеку шаблонов/цветов, находящуюся в файле PAC.COM

  • Если Вы планируете использовать собственную библиотеку MYLIB.LIB (ранее созданную и сохранённую на диске с помощью PAC), выполните:
    pac l=mylib.lib
  • Если вы планируете автоматически загружать свою собственную таблицу Multi-screen Name Table (MNT) с именем MYPIC.MNT, просто выполните:
    pac mypic.mnt

    или

    pac l=mylib.lib mypic.mnt

    (этот пример загрузит файлы LIB и MNT). Специально подготовленный файл P.BAT поможет Вам загрузить файлы LIB и MNT вместе.

Полный формат командной строки для вызова PAC:

pac [l=libfile] [файл1 ... [файлN]] 

Форматы файлов

Файлы, которые в настоящий момент могут быть подготовлены при помощи РАС и сохранены на диске, классифицируются следующим образом:

  1. Multi-screen Name Table (MNT)

    Полиэкран, состоящий из одиночных экранов общим количеством до 21 (каждый одиночный экран — Single-screen Name Table (SNT) 768 байт). Полиэкран может быть сконфигурирован пользователем с различными шириной и высотой, задаваемых в количестве SNT (см. Screen Config в меню РАС) и сохранён в различных вариантах: «Абсолютном» и «Переместимом».

    • «Абсолютный» формат является отображением памяти всего полиэкрана строка за строкой и используется в рамках «Библиотеки функций» для загрузки и дальнейшей работы со знакоместной графикой. Ширина и высота полиэкрана (в отдельных экранах) являются неотъемлемой частью данных этого формата и автоматически восстанавливаются в РАС при загрузке файла с диска на основе данных, записанных в «абсолютный» файл при его сохранении.
    • «Переместимый» формат является отображением памяти полиэкрана экран за экраном и, поэтому не связан жестко с конфигурацией полиэкрана. «Переместимый» файл может быть загружен в любую конфигурацию полиэкрана (с любыми высотой и шириной) без её изменения. «Библиотека функций» не поддерживает загрузку «переместимых» полиэкранов и этот формат используется, в основном, для изменения размещения экранов в рамках РАС как альтернатива сохранению одиночных экранов (SNT) в виде отдельных файлов с последующей их одиночной загрузкой. Тем не менее, этот формат может быть эффективно использован в программах пользователя в том случае, когда не требуется скроллинг полиэкрана.
  2. Singe-screen Name Table (SNT)

    Текущее положение окна физического экрана на полиэкране (MNT) — 768 байт Name Table.

  3. Library (LIB)

    Библиотека знакомест: pattern-библиотека (2048 байт) + colour-библиотека (2048 байт). При работе РАС и в большинстве других приложений Библиотека чаще всего является общей для всех 3 частей экрана в Screen 2: верхней, средней и нижней. Однако, это не исключает того, что Ваша будущая программа сможет использовать до трёх независимых друг от друга различных Библиотек для различных третей экрана.

  4. Sprites Library (SPR)

    Библиотека многоцветных спрайтов (2048 байт) — пока не реализовано

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

Значение (0x) Описание Режим
F7MNT в «Абсолютном» (строка за строкой MNT) формате.
Следующие 2 байта являются шириной и высотой MNT в одиночных экранах (SNT).
Загрузка и сохранение
F8Special. Использовался для разработки собственно РАС.Только сохранение таких файлов.
F9 MNT в «Переместимом» (экран за экраном SNT) формате с шириной и высотой MNT.
В настоящее время не поддерживается. Используется для совместимости со старыми версиями РАС
Только загрузка
FASprites (2048 байт) — пока не поддерживается РАС
FBSNT — 768 байтЗагрузка и сохранение
FCMNT в «Переместимом» (экран за экраном SNT) формате. Нет байтов ширины и высоты MNT.
FDБиблиотека знакомест: Pattern Generator (2048 байт) + Colour Table (2048 байт) + 1байт.
Последний байт является указателем первого свободного знакоместа для алгоритма автоматического размещения/добавления знакомест РАС.
FEСтандартный формат BSAVE / BLOAD для VRAM MSX BASIC.
Следующие 3 слова (по 2 байта) являются адресами загрузки, конца данных и исполнительным адресом (не имеет смысла для VRAM).
Только загрузка

Управление

Назначение кнопок мыши:

ЛеваяВыбор (Do)
ПраваяОтмена действия или выход из текущего режима (Undo)

РАС имеет два основных режима работы: Меню (Menu) и Компоновка (Compose).

Назначение клавиш:

EscPattern 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 tabSinge-screen Name Table (SNT)
LibraryLibrary (LIB)
SpritesSprites Library (SPR)
All name tabsMulti-screen Name Table (MNT)
Next menuПереключение между меню: меню 1 и меню 2
-Load-Загрузить
FilesФайлы
MSX DOSВыход в MSX-DOS
-Print-Напечатать
Name tabSinge-screen Name Table (SNT)
PictureИзображение
SpritesСпрайты

Очистка библиотеки знакомест

Настройка цвета

Настройка цвета: букв, цифр и фона

Настройка и конфигурирование полиэкрана


Настройка размера MNT

Режим компоновки (Compose)

В режиме компоновки (Compose) все меню РАС исчезают с экрана и, используя Do и Undo, Вы можете брать паттерны с экрана и располагать их там, где считаете необходимым (при этом РАС модифицирует только Name Table).

Примечание: двойное нажатие на правую кнопку мыши (Double Click Undo) или нажатие на Пробел в режиме компоновки (Compose) приводит к появлению/исчезновению в верхней трети экрана библиотеки знакомест, из которой Вы можете брать паттерны, которых в данный момент нет на экране.

Библиотека знакомест скрыта (по умолчанию):

Pattern editor

Обозначение Описание
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, тогда библиотека будет закрыта.

Библиотека знакомест открыта:

Библиотека знакомест закрыта:

Sprite editor

Пока не реализован

Ссылки

msx/maestro/pac/pac.txt · Последние изменения: 2024-03-20 23:45 — GreyWolf