|
ACNews
#12
07 октября 2002 |
|
Guide - Формат модуля Pro Tracker v3.x

▄▄▄▄ ▄ ▄ ▄▄▄ ▄▄▄ ▄▄▄▄
■▄░ ▓ ▄▄ ▓ ▓ ▓ ▓ ▒ ▓▄▄ ▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░ ■▄░
■▀ ░▄▄▓ ░▄▄░ ▄░▄ ░▄▄░ ░▄▄▄ ■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ■▀░ ■▀
Формат модуля Pro Tracker v3.x
Указаны смещения до областей в модуле и их длина в байтах
(десятичные числа).
+0 (13) "ProTracker 3." - идентификационная строка.
+13 (17) "5" (или "4", или даже "3" ) - номер подверсии.
Следует заметить, что для модулей PTv3.4x и ниже используется
другая, "несимметричная" таблица громкости, а в модулях PTv3.3x
используется альтернативная частотная таблица "Pro Tracker", не
совпадающая с одноименной современной!
+14 (16) " compilation of "
+30 (32) название модуля (ASCII, lat, неиспользованные символы
забиты пробелами).
+62 (4) " by "
+66 (32) имя автора (ASCII, lat, неиспользованные символы забиты
пробелами).
+98 (1) один пробел.
(то есть первые 99 байт модуля образуют соответствующую строку)
+99 (1) номер частотной таблицы: 0=Pro Tracker, 1=Sound Tracker,
2=ASM or PSC, 3=RealSound. Табличка занимает 192 байта и содер-
жит значения периодов для 96 нот,начиная с C-1 (ДО первой окта-
вы). Период - значение, обратное частоте ноты, помещаемое в со-
ответствующие регистры AY. Младшие байты (здесь и ниже,за одним
исключением,которое будет указано) хранятся первыми. Компилятор
PT сохраняет таблицу, соответствующую модулю, в тело плейера по
относительному адресу 512. Таблицу громкости он сохраняет в том
же теле плейера по относительному адресу 256.
+100 (1) значение темпа.
+101 (1) song end (1=в модуле всего одна позиция) - в плейере не
используется.
+102 (1) song loop (0=зацикливание на начало).
+103 (2) Psa_chn=смещение от начала модуля до таблицы паттернов.
+105 (32*2) смещения от начала модуля до сэмплов, начиная с ну-
левого сэмпла. По два байта на сэмпл. Нулевой сэмпл в текущих
версиях редактора не используется. Для всех неиспользованных
сэмплов смещение равно нулю.
+169 (16*2) смещения от начала модуля до орнаментов, начиная с
нулевого. По два байта на орнамент.Нулевой орнамент - это отсу-
тствие орнамента,поэтому данные этого орнамента (см.ниже) соде-
ржат 0,1,0 (можно использовать этот орнамент по своему усмотре-
нию,НО тогда в сонге нельзя будет использовать сэмплы без орна-
ментов).Для всех неиспользованных орнаментов смещение равно ну-
лю.
+201 (?) список позиций (ордер). Содержит номера паттернов
(0...84), умноженные на 3. Таблица завершается кодом #ff. Pro
Tracker v3.3x-v3.5x не поддерживает больше 42 паттернов.
+Psa_chn (?*6) указатель паттернов. Содержит для каждого из име-
ющихся паттернов смещения:
++0 (2) до блока данных канала (трека) A
++2 (2) до блока данных канала (трека) B
++4 (2) до блока данных канала (трека) C.
Данные по смещению шума (отдельная колонка в редакторе) компи-
лируются в канал B.
+? (?*?) блоки данных каналов, то есть треки.
Трек содержит следующие данные:
================================================================
#00 - конец трека.
#01, delay, Lsl, Hsl - эффект Gliss(Slide) вверх или вниз. Delay
- время в пятидесятых долях секунды, по истечении которого к
периоду ноты будет прибавлена величина Lsl+256*Hsl. Смещение
накапливается плейером в соответствующей переменной и прибавля-
ется после формирования частоты ноты, т.е.сначала обрабатывает-
ся строчка орнамента, а уже потом...
#02, delay, Lmax, Hmax, Lsl, Hsl - эффект Tone Portamento вверх
или вниз.Delay - время в пятидесятых долях секунды,по истечении
которого к периоду ноты будет прибавлена величина Lsl+256*Hsl.
Lmax+256*Hmax - максимальное смещение (беззнаковое), после на-
копления которого следует прекратить Portamento.
#03, offset - sample offset. Сэмпл начинает играть не сначала.
#04, offset - ornament offset. Орнамент начинает играть не сна-
чала.
#05, YEStime, NOtime - vibrate. нота то звучит, то не звучит.
#08, delay, Lsl, Hsl - эффект slide envelope. К значению периода
огибающей время от времени прибавляется Lsl+256*Hsl.
#09, tempo - указание темпа (в прерываниях на строку). Стандарт-
ный плейер меньше tempo=3 не играет.
#1x, Henv, Lenv, smp*2 - изменить номер сэмпла и включить огиба-
ющую типа x-1 с периодом Lenv+256*Henv. При включении огибающей
она инициализируется, т.е. начинается новый период!
#20-#3f - указать смещение шума (бывает только в канале B)
#4x - указать орнамент номер x.
#50-#Af - указать высоту ноты и ЗАКОНЧИТЬ анализ текущей строки
канала.
#B0 - выключить Envelope.
#B1, lines - не анализировать канал в течение lines строк.
(lines=1 соответствует одной строке)
#Bx, Henv, Lenv - то же, что #1x, но без сэмпла. То есть просто
включить огибающую типа x-1 с указанным периодом.
#Cv - указать громкость.(v=0 - пауза и ЗАКОНЧИТЬ анализ строки.)
#D0 - ЗАКОНЧИТЬ анализ строки.
#D1-#Ef - указать номер сэмпла.
#Fx, smp*2 - указать номер орнамента (x) и номер сэмпла.
NB: параменты эффектов (#0x) лежат не сразу после кода номера
эффекта, а ПОСЛЕ КОНЦА СТРОКИ!!! Если используется несколько эф-
фектов на одну ноту (на самом деле так не бывает),то сначала ле-
жат параменты последнего эффекта, потом предпоследнего и так да-
лее...
================================================================
+? (?*(?*4+2)) - сэмплы.
++0 (1) - loop
++1 (1) - end (1=сэмпл из одной строчки)
++2 (?*4) - данные:
+++0 (1) sv +- N4 N3 N2 N1 N0 Em
+++1 (1) Nm ts ns Tm V3 V2 V1 V0
sv=1 - признак съезжания громкости, +- =1 соответствует её уве-
личению; N4-0 - частота шума ИЛИ смещение огибающей (зависит от
наличия маски шума): смещение огибающей 0-15 - вниз, 16-31 -
вверх (N4 интерпретируется как знак); V3-0 - громкость; Tn, Nm,
Em - маски тона, шума и огибающей соотв., причём если маска ра-
вна единице,то соответствующий элемент звука выключен; ts, ns=1
- признаки того, что текущее смещение тона или шума/огибающей
будет запомнено.
+++2 (2) смещение периода тона (положительное - вверх, от-
рицательное - вниз).
+? (?*(?+2)) - орнаменты.
++0 (1) - loop
++1 (1) - end (1=орнамент из одной строчки)
++2 (?) - данные: смещения в полутонах (0=нет смещения, поло-
жительное смещение - вверх, отрицательное - вниз).
жду дополнений!
Дополнения от 10.xi.02:
1. (Sergey Bulba): Таблица ASM or PSC не имеет отношения к соот-
ветствующим редакторам. Модули из этих редакторов следует импо-
ртировать с таблицей Sound Tracker. Таблица ASM or PSC рассчита-
на так,чтобы при тактовой частоте AY 1.7744 MHz ноты в редакторе
совпадали с одноименными нотами фортепиано. (Таблица Real Sound
- аналогично, но для 1.75 MHz.)
2. В модуле может использоваться и 0-й сэмпл, если в треке он
хранится вместе с орнаментом (можно нулевым). Итого 32 сэмпла.
3. Проверена информация по поводу Portamento, Loop и #B1.
4. Исправлена информация по поводу сэмплов.
Другие статьи номера:
Похожие статьи:
В этот день... 25 ноября