ZXNet эхоконференция «zxnet.soft»


тема: Исправление плеера Pro Tracker 3.51



от: Ivan Roshin
кому: All
дата: 11 Apr 2001
Hello, All! Как исправить плеер Pro Tracker 3.51, чтобы команды 9 и A, изменяющие частоту огибающей, обрабатывались правильно. В исходном тексте плеера имеется такой фрагмент: ;--- install_E --- E_ins0 JR Ei_form Esl_ids LD HL,0 ;stp_sld_env LD (Esl_sds+1),HL Esl_ist LD A,0 ;stp_sld_p LD (Esl_stp+1),A <──────────────────────────── (1) LD (Esl_sts+1),A LD A,#18 LD (E_ins0),A Ei_form LD A,0 ;env_form LD (E_form+1),A AND A JR Z,temp Ei_frq LD HL,0 ;env_frq LD (E_frq+1),HL XOR A LD L,A LD H,A LD (Ei_form+1),A LD (Esl_stp+1),A <──────────────────────────── (2) LD (Esl_frq+1),HL Что мы видим? (1) - в переменную по адресу Esl_stp+1 помещается один из параметров команды 9 или A. Далее, если эта команда стояла на ноте, использующей огибающую (т.е. Ei_form+1 не 0), то выполняется фрагмент программы, содержащий (2) - обнуление переменной Esl_stp+1. Параметр команды обнуляется - и в результате изменения частоты огибающей не будет. Как исправить? Рецепт, который я приводил в описании прошлой версии BestView (обнуление байта по смещению #4C1 от начала плеера), фактически отменял команду (2). При этом команды 9 и A начинали работать, но - не заканчивали изменять частоту, когда встречалась следующая нота, использующая огибающую. Так что все равно некоторые модули звучали неправильно. Для окончательного исправления фрагмент плеера надо переделать так: ;--- install_E --- E_ins0 JR Ei_form Esl_ids LD HL,0 ;stp_sld_env LD (Esl_sds+1),HL Esl_ist LD A,0 ;stp_sld_p LD (Esl_stp+1),A LD (Esl_sts+1),A LD A,(Ei_form+1) AND A JR Z,BUG_F3 LD A,#3E LD (BUG_F2),A BUG_F3 LD A,#18 LD (E_ins0),A Ei_form LD A,0 ;env_form LD (E_form+1),A AND A JR Z,temp Ei_frq LD HL,0 ;env_frq LD (E_frq+1),HL XOR A LD L,A LD H,A LD (Esl_frq+1),HL LD (Ei_form+1),A BUG_F2 JR BUG_F1 LD A,#18 LD (BUG_F2),A JR temp BUG_F1 LD (Esl_stp+1),A Обратите внимание, что длина плеера при этом немного увеличится. С уважением, Иван Рощин.




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Introduction - приложение к журналу.
Тест - Можете ли вы выйти сухим из воды.
Технология спрайтов - часть 9: печать спрайтов (координаты заданы в пикселях).
Свиток - подробное описание игры Chaos.
Прохождение - подробное описание игры WIZARD`S LAIR!

В этот день...   8 мая