|
C-Net Week
#08
17 января 1998 |
|
Infa #2 - Структура модулей редактора Pro Sound Creator.

┼─────────────┼ KVA ┼─> I N F A # 2 <──────────────────────────────────────────────┼ ┼─────────────┼ MDM 318-721 / 500:0152/1.07 Структура модулей редактора PSC. ( ** - для PSC 1.04, * для PSC 1.03, остальное - общее ) ──────────────────────────────────────────────────────────────── 1. Структура самого файла. 00..24 - байты "PSC V1.00 COMPILATION OF " 25..44 - 20 байт имени музыки 45..48 - байты " BY " 49..66 - 18 байт автора музыки 67..68 - зарезервировано (всегда #20,#20) 69..70 - логический адрес начала Sample'ов (считается от начала модуля) 71..72 - логический адрес начала таблицы Positions 73..73 - начальный Delay (скорость музыки) 74..75 - логический адрес таблицы лог.адресов орнаментов 76.. - лог.адреса самих Sample'ов (по 2 байта) (* - считается от начала модуля, ** - считается от начала данных адресов) .. - лог.адреса самих Ornament'ов (по 2 байта) (* - считается от начала модуля, ** - считается от начала данных адресов) .. - собственно Sample'ы : номер Sample'а (1 байт) в редакторe, сам Sample номер Sample'а в редакторе, сам Sample ... номер Sample'а в редакторе, сам Sample байт #FF .. - собственно Ornament'ы : номер Ornament'а в редакторе, сам Ornament номер Ornament'a в редакторе, сам Ornament ... номер Ornament'а в редакторе, сам Ornament байт #FF .. - собственно Pattern'ы длина Patterna'а, номер Pattern'а в редакторе, канал A, #FE, канал B, #FE, канал C, #FE длина Patterna'а, номер Pattern'а в редакторе, канал A, #FE, канал B, #FE, канал C, #FE ... длина Patterna'а, номер Pattern'а в редакторе, канал A, #FE, канал B, #FE, канал C, #FE байт #FF .. - собственно Positions номер Position (важен токьто для декомпиляции), длина Pattern'a, adr of A, adr of B, adr of C номер Position, длина Pattern'а, adr of A, adr of B, adr of C ... номер Position, длина Pattern'a, adr of A, adr of B, adr of C на какую посицию зациклено, байт #FF, лог. адрес в таблице Positions на нужную позицию ──────────────────────────────────────────────────────────────── 2. Строение Sample'а. Каждая "строка" Sample'а состоит из шести байт: 0..1 - tone add (смещение для чистого тона) 2 - noise add (смещение для шумов) 3 - volume (громкость звука в Sample'е - локальная громкость) 4 - свободный байт (для быстроты Player'a) 5 - Флаг: биты:0 - чистый тон (0-есть, 1-нету) 1 - увеличить на 1 глобальную громкость (1-да, 0-нет) 2 - уменьшить на 1 глобальную громкость (1-да, 0-нет) 3 - шум (0-есть ,1-нет) 4 - огибающая (0-да ,1-нет) 5 - закончить Sample (0-да ,1-нет) 6 - перейти на начало цикла (0-да ,1-нет) 7 - начало цикла (0-да ,1-нет) ──────────────────────────────────────────────────────────────── 3. Строение Ornament'а. Каждая "строка" Ornament'а состоит из двух байт: 0 - Флаг + noise add биты:0..4 - noise add 5 - закончить Ornament (0-да ,1-нет) 6 - перейти на начало цикла (0-да ,1-нет) 7 - начало цикла (0-да ,1-нет) 1 - note add (смещение для ноты) ──────────────────────────────────────────────────────────────── 4. Строение каналов Pattern'ов. #00..#56 - нота #57..#66 - volume (#57=envel,#58=1,#59=2,...,#66=F) #67 + 2 bytes of ADR - адрес тела Sample'а (см.пункт 5) #68 + 2 bytes of ADR - адрес тела Ornament'a (см.пункт 5) #6A..#79 + 1 byte of value - встроенные команды: #6B - glis.dn #6C - glis.up #6D - port. #6E - del. #6F - hld.orn #70 - sldv. #71 - rls orn #7A + 2 bytes of envelope - огибающая (4 старших бита - номер огиб. ,остальные - значение задержки #7B + 1 byte of noise add - смещение шума после каждой ноты (присутсвует ТОЛЬКО на канале B) #7C - pause #7D - rls #80..#9F - номер Sample'а (номер в таблице адресов) #A0..#BF - номер Ornament'а (номер в таблице адресов) #C0..#FF - пауза между следующей командой (нотой) в нотах. #C0 - 1 нота, #C1- 2 ноты, ..., #FF - 64 ноты. В каждой "ноте" сначала идут какие-то параметры, а затем идет пауза до следующей ноты ( после этой команды пропустится нужное количество нот, а затем уже будет все обрабатываться дальше) ──────────────────────────────────────────────────────────────── 5. Некоторые дополнительные возможности декомпилятора. (Player'ом не поддерживаются) Если по адресу 74 модуля (адрес на Sample'ы) находится число #0000, то декомпилятор переходит во второй режим работы : 1. По адресу 74 лежат уже собственно Sample'ы, т.е. адресов Sample'ов и Ornament'ов уже не существует. 2. Команд с #80 по #BF здесь уже не существует. Место них команда пауза между нотами (т.е. она смещается, #81=1 нота, #82=2 ноты, #83=3 ноты,#C0=64 ноты , а команд с #C1 по #FF не существует) 3. Для задания нужного Sample'а или Ornament'а используются команды #67 и #68,где нужно задавать адрес на тело блока. Этот режим был введен для более быстрого написания конвертеров. ──────────────────────────────────────────────────────────────── KVA from E-mage 1998 (c)
Другие статьи номера:
Похожие статьи:
В этот день... 1 января
SibNews #08,
Woot! #01,
Spectrum Magazine #01,
ACNews #25,
Psychoz #14,
ACNews #14,
Last 128 #08,
Last 128 #06,
Last 128 #05,
Last 128 #04,
Last 128 #03,
Last 128 #02,
Last 128 #09,
Last 128 #3.5,
Last 128 #8.025,
Sinclair Club #05,
Last 128 #M!R 01,
Fantadrom #01,
Buzz #20,
Last 128 #01,
DonNews #13,
Nicron #120,
Promised Land #01,
Inferno #01,
Marazm #25,
Ultimathum #01,
Marazm #21,
Hooy Mag #02,
KrNews #11,
Marazm #22,
Marazm #23,
ZX Football 2000 #01,
Codemania #01,
Always #03,
Bugs #02,
IzhNews #08,
Virtual Worlds #01,
Listok #04,
Scenergy #02,
Flash Info #18,
Marazm #16,
Marazm #17,
Zed #01,
Balagan #02,
ZX Format #08,
ZX Power #03,
Shock #01,
Impulse #02,
Deja Vu #03,
ZX Club #08,
ZX Club #06,
Numberology #01,
Marazm #13,
Marazm #12,
Marazm #14,
Gorodok #02,
Zodiac #01,
Marazm #15,
Deja Vu #07,
Marazm #11,
Deja Vu #07,
Playboy #03,
Crazy News #2,
Crazy News #4,
ZX Light #01,
Crazy News #5,
Playboy #02,
ZX News #03,
ZX Review #1-2,
Read Me #02,
Crazy News #3,
Nicron #13,
Read Me #01,
Public Spirit #01,
Faultless #06,
Faultless #05,
ZX Software #01,
Stump #04,
Speccy #07,
Возраждение #0,
Speccy #03,
On-Line #17,
Scene+ #01,
Welcome Press #01,
ZX Konig #04,
Adventurer #01,
Faultless #05,
Faultless #04,
Di Halt #01,
Faultless #01,
Playboy #01,
Crazy News #1,
Faultless #03,
Pioneer #03,
Sinclair Town #02,
ZX Magazine #01,
Eldorado #01,
ZX Magazine #02,
Spectron #01,
ZX News #01,
ZX Konig #02,
200 #W,
Welcome Press #00,
Dune #07,
Subliminal Extacy #01,
Subliminal Extacy #02,
ZX Konig #01,
Subliminal Extacy #00,
Muchomor #01,
Spectrofon #01,
ZX Revija #02,
Outlet #01,
Outlet #1-3