SoundTrack: "CRAZY MAN" BY SEC70R ?!...
__________________________________________
Автор: Cardinal/PGC/BD
__________________________________________
В этой статье речь пойдет о различных
проигрывателях AY-шной музыки. Я вам рас-
скажу о довольно важном эффекте (особенно
в демомэйкерстве) -о плавном затухании му-
зыки в любой момент времени. Сразу скажу,
что ни в одном из существующих PLAYER'ов
компилированных музонов (будь то Pro Trac-
ker; Sound Tracker Pro by KSA и т.д) нет
такой функции, которая позволяла бы плавно
уменьшать громкость музыки. А посему пой-
дем по-порядку...
Чтобы сделать этот эффект, надо понять
как процессор общается с AY и немножко по-
копаться в PLAYERе. В сопроцессоре AY есть
16 регистров, с помощью которых генериру-
ются различные звуки. Каждый из этих ре-
гистров выполняет свою функцию. Обо всех я
говорить не стану, а остановлюсь только на
трех. Это регистры R8, R9, R10, младшие 5
битов которых управляют громкостью (ампли-
тудой) каналов A, B и C. Вообще, чтобы по-
лучить доступ к какому-нибудь регистру AY,
нужно его номер (от 0 до 15) занести в
порт #FFFD, а значение - в порт #BFFD.
Я специально не говорю об этом подроб-
но, т.к. это было описано в книге А.Лар-
чеко и Н.Родионова "ZX-Spectrum & TR-DOS
для пользователей и программистов".
Весь этот разговор я завел к тому, что
надо в PLAYER'е найти место, где заносятся
некоторые значения в регистры R8,R9 и R10.
Так вот, надо перед тем местом поставить
ловушку, (CALL address, где address - ваша
процедурка) которая изменит (уменьшит на
определенное значение) байты этих самых
значений, прежде чем PLAYER выдаст их в
регистры R8, R9 и R10 музыкального сопро-
цессора. В приложении вы найдете пять ис-
ходников в формате ALASM v3.8c. Каждый ис-
ходник годится только для музонов компили-
рованных в следующих редакторах и компиля-
торах: Sound Tracker Pro by KSA Software;
Pro Tracker v2.4; Sound Tracker Song Com-
piler v1.2; Sound Tracker Music's Recompi-
ler v2.1 by KSA; Pro Tracker v 2.1 by Gol-
den Disk.
Исходники довольно сырые, но хорошо де-
монстрируют эффект. Как ими пользоваться?
Загружаете исходник в ассемблер, выходите
в STS, подгружаете компилированный музон с
PLAYER'ом, возвращаетесь в редактор, под-
правляете значение метки MUZAK (она указы-
вает на адрес подгружаемого музона), ас-
семблируете и запускаете. Если вы услышали
музыку, значит со слухом у вас все в пол-
ном порядке :-)... Потом попробуйте нажать
кнопку "L" - музыка должна плавно затих-
нуть. Нажмите на кнопку "K" - музыка заиг-
рает с нормальной громкостью. SPACE - вы-
ход. Еще раз повторяю, что исходники де-
монстрационные, и если вы будете использо-
вать их в своих программах - уберите лиш-
нее и попробуйте оптимизировать их по дли-
не, особенно подпрограмму, начинающуюся с
метки GLUSH и до конца, если вам, конечно,
это удастся :-).
Напоследок хочу сказать, что PLAYGEAR
COMPANY слепили часть к PROGRESS MEGADEMO,
так что ждите демо от SERIOUS SPECCY GRO-
UP! А также хочу поздравить SPECCY с пят-
надцитилетием и пожелать ему прожить еще
столько же..!