Deja Vu
#04
31 марта 1998 |
|
CODING - Плавное затухание музыки в любой момент времени.
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 с пят- надцитилетием и пожелать ему прожить еще столько же..!
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября