Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
msx:maestro:pac:pac [2021-11-11 10:32] GreyWolf |
msx:maestro:pac:pac [2024-03-20 23:45] (текущий) GreyWolf [Pattern Composer] |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== Pattern Composer ====== | ====== Pattern Composer ====== | ||
- | {{pac.png|}} | + | {{pac.png?nolink}} |
Компоновщик знакоместной графики (в дальнейшем именуется PAC), входит в состав [[msx:maestro:maestro|ПС «Маэстро»]]. | Компоновщик знакоместной графики (в дальнейшем именуется PAC), входит в состав [[msx:maestro:maestro|ПС «Маэстро»]]. | ||
- | Для работы программы Pattern Composer необходим компьютер [[msx:msx_2|]] оснащенный [[msx:general_purpose_port:general_purpose_port#mouse|манипулятором "мышь"]] (в дальнейшем просто "мышь"). Основное назначение РАС — подготовка графики для программ, которые работают в Screen 2 и Screen 4 (для [[msx:yamaha_v9938:yamaha_v9938|V9938]] в режимах [[msx:yamaha_v9938:yamaha_v9938#g2|Graphics 2]] и [[msx:yamaha_v9938:yamaha_v9938#g3|Graphics 3]]). Компьютер [[msx:msx_2|]] используется в качестве инструментальной машины из–за расширенных требований к человеко-машинному интерфейсу PAC (работа с мышью, оконные меню и пр.) и наличия большего количества оперативной памяти для реализации функций РАС. Графика, порождаемая РАС полностью совместима с [[msx:msx_1|]]. | + | Для работы программы Pattern Composer необходим компьютер [[msx:msx_2|]] оснащенный [[msx:general_purpose_port:general_purpose_port#mouse|манипулятором мышь]] (в дальнейшем просто мышь). Основное назначение РАС — подготовка графики для программ, которые работают в Screen 2 и Screen 4 (для [[msx:yamaha_v9938:yamaha_v9938|V9938]] в режимах [[msx:yamaha_v9938:yamaha_v9938#g2|Graphics 2]] и [[msx:yamaha_v9938:yamaha_v9938#g3|Graphics 3]]). Компьютер [[msx:msx_2|]] используется в качестве инструментальной машины из–за расширенных требований к человеко-машинному интерфейсу PAC (работа с мышью, оконные меню и пр.) и наличия большего количества оперативной памяти для реализации функций РАС. Графика, порождаемая РАС полностью совместима с [[msx:msx_1|]]. |
При работе с РАС, наиболее предпочтительными являются компьютеры [[msx:msx_2|]], имеющие аппаратуру [[msx:ram:ram#mapper|Memory Mapper]] и более 64 кбайт ОЗУ. Это связано с тем, что при наличии [[msx:ram:ram#mapper|Memory Mapper]], РАС размещает все свои оверлейные программные сегменты и полиэкран пользователя в мэппируемой памяти и не производит дополнительных обращений к диску во время работы. Тем не менее, РАС может работать и на компьютерах [[msx:msx_2|]], имеющих только 64 кбайт RAM и 128 кбайт VRAM. В этом случае, полиэкран пользователя располагается в VRAM (что несколько замедляет работу по сравнению с [[msx:ram:ram#mapper|Memory Mapper]]), a программные сегменты подгружаются по мере необходимости с диска. | При работе с РАС, наиболее предпочтительными являются компьютеры [[msx:msx_2|]], имеющие аппаратуру [[msx:ram:ram#mapper|Memory Mapper]] и более 64 кбайт ОЗУ. Это связано с тем, что при наличии [[msx:ram:ram#mapper|Memory Mapper]], РАС размещает все свои оверлейные программные сегменты и полиэкран пользователя в мэппируемой памяти и не производит дополнительных обращений к диску во время работы. Тем не менее, РАС может работать и на компьютерах [[msx:msx_2|]], имеющих только 64 кбайт RAM и 128 кбайт VRAM. В этом случае, полиэкран пользователя располагается в VRAM (что несколько замедляет работу по сравнению с [[msx:ram:ram#mapper|Memory Mapper]]), a программные сегменты подгружаются по мере необходимости с диска. | ||
- | РАС написан на языке С (компилятор [[bds_c:bds_c|BDS C]]) с использованием "%%Графической Библиотеки MSX для BDS C%%". | + | РАС написан на языке С (компилятор [[bds_c:bds_c|BDS C]]) с использованием [[msx:maestro:#grplib|Графической Библиотеки MSX для BDS C]]. |
- | {{ar_pac_3_04.dsk|Диск Pattern Composer, версия 3.04}} | + | Для работы используется [[msx:dos103x:|]] (изменённая Леонидом Бараз) |
- | Для работы используется [[msx:dos103x|]] (изменённая Леонидом Бараз) | + | {{:msx:maestro:pac:ar_pac_3_04.dsk|Диск Pattern Composer, версия 3.04}} |
+ | [[+tab|wmsx>?MOUSE_MODE=1&DISKA_URL=/_media/msx:maestro:pac:ar_pac_3_04.dsk|Запустить в WebMSX]] | ||
+ | |||
+ | |||
+ | {{:msx:maestro:devdisk_-_pattern_composer_3.04.dsk|Диск c исходным кодом Pattern Composer, версия 3.04}} | ||
{{anchor:commandline}} | {{anchor:commandline}} | ||
Строка 56: | Строка 60: | ||
|FC|MNT в «Переместимом» (экран за экраном SNT) формате. Нет байтов ширины и высоты MNT.|:::| | |FC|MNT в «Переместимом» (экран за экраном SNT) формате. Нет байтов ширины и высоты MNT.|:::| | ||
|FD|Библиотека знакомест: Pattern Generator (2048 байт) + Colour Table (2048 байт) + 1байт. \\ Последний байт является //указателем первого свободного// знакоместа для алгоритма автоматического размещения/добавления знакомест РАС.|:::| | |FD|Библиотека знакомест: Pattern Generator (2048 байт) + Colour Table (2048 байт) + 1байт. \\ Последний байт является //указателем первого свободного// знакоместа для алгоритма автоматического размещения/добавления знакомест РАС.|:::| | ||
- | |FE|Стандартный формат ''[[msx:basic_programming_guide:09#bsave_v|BSAVE]]'' / ''[[msx:basic_programming_guide:09#bload_v|BLOAD]]'' для VRAM [[msx:basic:|]]. \\ Следующие 3 слова (по 2 байта) являются адресами загрузки, конца данных и исполнительным адресом (не имеет смысла для VRAM).|Только загрузка| | + | |FE|Стандартный формат ''[[msx:basic_dialogue_programming_language:009#bsave_v|BSAVE]]'' / ''[[msx:basic_dialogue_programming_language:009#bload_v|BLOAD]]'' для VRAM [[msx:basic:|]]. \\ Следующие 3 слова (по 2 байта) являются адресами загрузки, конца данных и исполнительным адресом (не имеет смысла для VRAM).|Только загрузка| |
Строка 77: | Строка 81: | ||
|<key>Caps</key>|Выбор элемента библиотеки знакомест для фазы [[#pattern_editor_animation|Мультипликация]]|:::| | |<key>Caps</key>|Выбор элемента библиотеки знакомест для фазы [[#pattern_editor_animation|Мультипликация]]|:::| | ||
|<key>Пробел</key>|В режиме [[#compose|Компоновка (Compose)]]: \\ [[#compose_01|включение]]/[[#compose_02|выключение]] в верхней трети экрана библиотеки знакомест|| | |<key>Пробел</key>|В режиме [[#compose|Компоновка (Compose)]]: \\ [[#compose_01|включение]]/[[#compose_02|выключение]] в верхней трети экрана библиотеки знакомест|| | ||
- | |<key>←</key>, <key>↑</key>, <key>→</key>, <key>↓</key>|Прокрутка [[#mnt|Multi-screen Name Table (MNT)]]|| | + | |<key>←</key>, <key>↑</key>, <key>→</key>, <key>↓</key>|Прокрутка (скроллинг) [[#mnt|Multi-screen Name Table (MNT)]]|| |
|<key>Graph</key> + <key>←</key>, <key>↑</key>, <key>→</key>, <key>↓</key>|Выбор экрана внутри [[#mnt|Multi-screen Name Table (MNT)]]|| | |<key>Graph</key> + <key>←</key>, <key>↑</key>, <key>→</key>, <key>↓</key>|Выбор экрана внутри [[#mnt|Multi-screen Name Table (MNT)]]|| | ||
- | |<key>Cls + Ins + Del</key>|Остановка печати и выход в [[msx:dos|]]|| | + | |<key>Cls + Ins + Del</key>|Остановка печати и выход в [[msx:dos:|]]|| |
|<key>Stop</key>|Остановка печати|| | |<key>Stop</key>|Остановка печати|| | ||
|<key>Select</key>|Включает и выключает встроенный механизм трассировки. \\ Эта информация может помочь при обнаружении ошибки|| | |<key>Select</key>|Включает и выключает встроенный механизм трассировки. \\ Эта информация может помочь при обнаружении ошибки|| | ||
Строка 88: | Строка 92: | ||
{{anchor:menu1}} | {{anchor:menu1}} | ||
- | \\ {{menu1.png|}} | + | \\ {{menu1.png?nolink}} |
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
Строка 97: | Строка 101: | ||
|<70% 20% 30% 50%>| | |<70% 20% 30% 50%>| | ||
^ Обозначение ^ Описание ^^ | ^ Обозначение ^ Описание ^^ | ||
- | |Paste|Вставить|Операции производятся над фрагментом 8×8 точек, выход по правой кнопке мыши| | + | |Paste|Вставить|Операции производятся над любыми блоками экрана произвольного размера, выход по правой кнопке мыши| |
|Cut|Вырезать|:::| | |Cut|Вырезать|:::| | ||
|Copy|Скопировать|:::| | |Copy|Скопировать|:::| | ||
Строка 116: | Строка 120: | ||
{{anchor:menu2}} | {{anchor:menu2}} | ||
- | {{menu2.png|}} | + | {{menu2.png?nolink}} |
|<70% 20% 80%>| | |<70% 20% 80%>| | ||
Строка 128: | Строка 132: | ||
|**-Load-**|Загрузить| | |**-Load-**|Загрузить| | ||
|Files|[[#files|Файлы]]| | |Files|[[#files|Файлы]]| | ||
- | |%%MSX DOS%%|Выход в [[msx:dos|]]| | + | |%%MSX DOS%%|Выход в [[msx:dos:|]]| |
|**-Print-**|Напечатать| | |**-Print-**|Напечатать| | ||
|Name tab|[[#snt|Singe-screen Name Table (SNT)]]| | |Name tab|[[#snt|Singe-screen Name Table (SNT)]]| | ||
Строка 137: | Строка 141: | ||
===== Очистка библиотеки знакомест ===== | ===== Очистка библиотеки знакомест ===== | ||
- | {{menu1-clear-lib.png|}} | + | {{menu1-clear-lib.png?nolink}} |
Строка 143: | Строка 147: | ||
===== Настройка цвета ===== | ===== Настройка цвета ===== | ||
- | {{menu1-color.png|}} | + | {{menu1-color.png?nolink}} |
Настройка цвета: букв, цифр и фона | Настройка цвета: букв, цифр и фона | ||
Строка 150: | Строка 154: | ||
===== Настройка и конфигурирование полиэкрана ===== | ===== Настройка и конфигурирование полиэкрана ===== | ||
- | \\ {{menu1-config.png|}} | + | \\ {{menu1-config.png?nolink}} |
Настройка размера [[#mnt|MNT]] | Настройка размера [[#mnt|MNT]] | ||
Строка 162: | Строка 166: | ||
{{anchor:compose_01}} | {{anchor:compose_01}} | ||
- | {{menu1-compose_01.png|}} | + | {{menu1-compose_01.png?nolink}} |
{{anchor:compose_02}} | {{anchor:compose_02}} | ||
Библиотека знакомест скрыта (по умолчанию): | Библиотека знакомест скрыта (по умолчанию): | ||
- | \\ {{menu1-compose_02.png|}} | + | \\ {{menu1-compose_02.png?nolink}} |
{{anchor:pattern_editor}} | {{anchor:pattern_editor}} | ||
====== Pattern editor ====== | ====== Pattern editor ====== | ||
- | {{pattern_editor-01.png|}} | + | {{pattern_editor-01.png?nolink}} |
|<70% 20% 30% 50%>| | |<70% 20% 30% 50%>| | ||
Строка 181: | Строка 185: | ||
|Lib|Работать с [[#pattern_editor_lib|библиотекой знакомест]], ниже указан номер текущего элемента(или первого пустого) \\ Указатель элемента в библиотеке можно переставлять с помощью мыши. Тем самым, узнавать номер паттерна (знакоместа) в библиотеке.|| | |Lib|Работать с [[#pattern_editor_lib|библиотекой знакомест]], ниже указан номер текущего элемента(или первого пустого) \\ Указатель элемента в библиотеке можно переставлять с помощью мыши. Тем самым, узнавать номер паттерна (знакоместа) в библиотеке.|| | ||
|||| | |||| | ||
- | |{{pattern_editor-left_right.png}}|Инвертировать изображение по горизонтали|| | + | |{{pattern_editor-left_right.png?nolink}}|Инвертировать изображение по горизонтали|| |
- | |{{pattern_editor-image.png}}|Рабочее поле 16×16 точек. Оно может состоять из 4 паттернов 8×8 (для связности более крупных картинок и для спрайтов)|| | + | |{{pattern_editor-image.png?nolink}}|Рабочее поле 16×16 точек. Оно может состоять из 4 паттернов 8×8 (для связности более крупных картинок и для спрайтов)|| |
- | |{{pattern_editor-up_down.png}}|Инвертировать изображение по вертикали|| | + | |{{pattern_editor-up_down.png?nolink}}|Инвертировать изображение по вертикали|| |
- | |{{pattern_editor-color_palette.png}}|Палитра цветов|| | + | |{{pattern_editor-color_palette.png?nolink}}|Палитра цветов|| |
- | |{{pattern_editor-color_selected.png}}|Выбранный цвет, в данном примере выбран прозрачный цвет (0)|| | + | |{{pattern_editor-color_selected.png?nolink}}|Выбранный цвет, в данном примере выбран прозрачный цвет (0)|| |
|||| | |||| | ||
|Put|Разместить в библиотеке отредактированный элемент|Операции выполняются с изображением 8×8 точек| | |Put|Разместить в библиотеке отредактированный элемент|Операции выполняются с изображением 8×8 точек| | ||
Строка 205: | Строка 209: | ||
Скорость смены анимационных фаз можно регулировать стрелками около кнопки TEMPO. | Скорость смены анимационных фаз можно регулировать стрелками около кнопки TEMPO. | ||
- | {{:msx:maestro:pac:pattern_editor-animation-01.png|}} | + | {{:msx:maestro:pac:pattern_editor-animation-01.png?nolink}} |
Анимация возможна в режиме компоновки на полиэкране не только отдельным паттернами, но блоками любого(!) размера. Для анимации изображения из нескольких блоков их нужно выделить на полиэкране мышью удерживая левую кнопку мыши. | Анимация возможна в режиме компоновки на полиэкране не только отдельным паттернами, но блоками любого(!) размера. Для анимации изображения из нескольких блоков их нужно выделить на полиэкране мышью удерживая левую кнопку мыши. | ||
- | \\ {{:msx:maestro:pac:pattern_editor-animation-02.png|}} | + | \\ {{:msx:maestro:pac:pattern_editor-animation-02.png?nolink}} |
- | \\ При выборе знакомест на полиэкране для анимации курсор превращается в мигающий {{:msx:maestro:pac:pattern_editor-cursor-plus.png|"+"}} при помощи которого можно можно задавать размер анимационного блока, произвольно растягивая область выбора с удерживанием левой кнопки мыши. После задания размера первого анимационного блока все остальные блоки выбираются такого же размера и анимируются на полиэкране на месте последнего выбранного блока. | + | \\ При выборе знакомест на полиэкране для анимации курсор превращается в мигающий {{:msx:maestro:pac:pattern_editor-cursor-plus.png?nolink|"+"}} при помощи которого можно можно задавать размер анимационного блока, произвольно растягивая область выбора с удерживанием левой кнопки мыши. После задания размера первого анимационного блока все остальные блоки выбираются такого же размера и анимируются на полиэкране на месте последнего выбранного блока. |
{{anchor:pattern_editor_lib_clear}} | {{anchor:pattern_editor_lib_clear}} | ||
===== Очистка элементов в библиотеке знакомест ===== | ===== Очистка элементов в библиотеке знакомест ===== | ||
- | При очистке библиотеки знакомест удаляется всё, что находится правее и ниже мигающей стрелки на библиотеке. Курсор {{:msx:maestro:pac:pattern_editor-lib_cursor.png|стрелку}} можно позиционировать при помощи левой кнопки мыши. | + | При очистке библиотеки знакомест удаляется всё, что находится правее и ниже мигающей стрелки на библиотеке. Курсор {{:msx:maestro:pac:pattern_editor-lib_cursor.png?nolink|стрелку}} можно позиционировать при помощи левой кнопки мыши. |
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
Строка 220: | Строка 224: | ||
</WRAP> | </WRAP> | ||
- | {{:msx:maestro:pac:pattern_editor-lib_clear.png|}} | + | {{:msx:maestro:pac:pattern_editor-lib_clear.png?nolink}} |
{{anchor:pattern_editor_lib}} | {{anchor:pattern_editor_lib}} | ||
Строка 231: | Строка 235: | ||
{{anchor:pattern_editor_lib_open}} | {{anchor:pattern_editor_lib_open}} | ||
Библиотека знакомест открыта: | Библиотека знакомест открыта: | ||
- | \\ {{pattern_editor-02.png|}} | + | \\ {{pattern_editor-02.png?nolink}} |
{{anchor:pattern_editor_lib_close}} | {{anchor:pattern_editor_lib_close}} | ||
Библиотека знакомест закрыта: | Библиотека знакомест закрыта: | ||
- | \\ {{pattern_editor-03.png|}} | + | \\ {{pattern_editor-03.png?nolink}} |
{{anchor:sprite_editor}} | {{anchor:sprite_editor}} | ||
Строка 244: | Строка 248: | ||
/* | /* | ||
Прототип: | Прототип: | ||
- | \\ {{:msx:maestro:pac:pac_sprite-editor-plus_prototype.png|}} | + | \\ {{:msx:maestro:pac:pac_sprite-editor-plus_prototype.png?nolink}} |
*/ | */ | ||
====== Ссылки ====== | ====== Ссылки ====== | ||
Строка 251: | Строка 255: | ||
{{tag>MSX Programming Rodionov_A_B}} | {{tag>MSX Programming Rodionov_A_B}} | ||
- |