Концепция универсального проигрывателя PSG.PACKED файлов
для устройств AZBK, GRYPHON SOUND (GS), TURBOSOUND (TS)
с поддержкой спаренных звуковых чипов AY-3-8910 (YM2149F).


Платформа:		БК-0011М (при желании БК-0010)
Компилятор:		PDPy11

Состав:			source:
				UNIP2PSG.mac - основной запускаемый файл проигрывателя
				AZBKPLAY.mac - блок проигрывателя для AZBK (include в файле UNIP2PSG.mac)
				GSPLAY.mac - блок проигрывателя для GS и TS (include в файле UNIP2PSG.mac)
				movingon_6ch.1.psg.packed и movingon_6ch.2.psg.packed - пример 6-канального трека

			PSG_pack: php-упаковщик PSG-файлов в PSG.PACKED от tmk & bfox
			
			VortexTracker: Vortex Tracker 2.6

	
В 2022 году увидели свет два новых устройства с поддержкой спаренных звуковых чипов AY-3-8910 (YM2149F) или по простому 2AY - это
AZBK и GryphonSound. В ходе разработки этих устройств были выработаны основные методы управления, которые, в первую очередь,
позволяли управлять AY "по-старому", т.е. не нарушать работу программ, написанных ранее и в тоже время использовать новые возможности
при проигрывании 6-ти канальных треков, предназначенных для 2AY. Исходя из этого был написан универсальный проигрыватель, точнее
создана его основная концепция, которая объединила в себе поддержку обоих устройств и плюс поддержку ранее выпущенного устройства
TurboSound в силу возможности установки его на место уже имеющегося звукового чипа.

Музыкальным форматом для треков был выбран PSG.PACKED by tmk & bfox. Плюсом этого формата является высокое быстродействие модуля
воспроизведения и достаточно простой способ обработки данных. Минусом же - большой размер файлов в сравнении, скажем, с pt3-форматом,
воспроизведение которого напротив отнимает достаточно много драгоценного быстродействия, особенно при создании демо и игр, но при этом
размер файлов значительно меньше.

Для создания PSG.PACKED файлов можно воспользоваться входящим в комплект php-упаковщиком PSG-файлов. Далее будет описан способ создания
PSG.PACKED файлов для пользователей ОС Windows, пользователям же других ОС буду благодарен, если они опишут процесс и вышлют его описание
мне для включения в этот текст. Итак, необходимо сделать следующее:

	1. Экспортировать TurboSound-трек в PSG-формат. Можно для этого использовать Vortex Tracker 2.6. При этом будут созданы два psg-файла.
	
	2. Перенести созданные или сохранить при экспорте PSG-файлы в папку PSG_pack (см. Состав, выше).

	3. Отредактировать COMPILE.bat, указав в нем в качестве параметров запуска index.php имена перенесенных PSG-файлов.

	4. Запусить COMPILE.bat. В результате будут созданы два ZIP-архива, внутри которых будут находиться PSG.PACKED файлы.

Созданные PSG.PACKED файлы следует перенести в папку source и указать их имена в файле UNIP2PSG.mac (в конце текста). При этом 	необходимо следить
за размером скомпилированного проигрывателя и следить за страницами памяти, поскольку проигрыватель с треком может "вылезти" за 16К страницы 0
в адресное пространство начиная с 40000 и далее. Я, чтобы избежать этого, в процессе разработки использую java-эмулятор bk2010 от Александра 'Sandro' Тишина,
т.к. в нем, по умолчанию, перед запуском bin-файла из командной строки, подключаются страницы 1 и 2 в адреса 40000 и 100000 соотвестственно, после этого
bin-файл помещается в это пространство и только после этого запускается на выполнение. Естественно я в проигрывателе это учитываю и выполняю инструкцию
MOV #5000, @#177716 для обращения к данным PSG.PACKED файлов в доступном адресном пространстве страниц 0-1-2.



Исходный тескст проигрывателя написан с русскими комментариями, по которым можно так или иначе понять весь процесс.

Этот файл и исходные тексты будут пополняться по мере необходимости.

Вопросы прошу в чаты:

t.me/bk11m
t.me/bk0010_11m
t.me/pdp11_az


Все права принадлежат авторам программ, исходных текстов и устройств.

Владимир 'KUVO' Кутяков / CSI, 2022