Из дистрибутива программы FLASH TRACKER ver 2.0 for SounDrive 1 only! Concepted and Written by AMADEUS WAKSON from FLASH Inc. (C)1996 --------------------------------------------------------------- 1.Вступление --------------------------------------------------------------- Наконец то настало время для появления хорошего муз.редакто- ра для нашего детища, называемого SounDrive 1! Было очень много писем с просьбой выслать сей продукт. Но редактор в те времена имел настолько непотребное состояние, что не имел: А) Дисковой системы, Б) Ордера сонга. Так что все операции по компиляции готового к применению файла складывалось на руки и были они так трудоемки,что в них разобраться было бы не проще, чем в ассемб- лере I486, не говоря о том, что выгрузка рабочего фаила произ- водилась также - вручную. Новый редактор освобожден от всех не- достатков, имеющухся в старом, и заслуживает особого внимания, тем более, что это - единственный редактор на SounDrive... --------------------------------------------------------------- 2.Параметры --------------------------------------------------------------- Количество каналов:...............................4 Объем паттернов (31 паттерн),байт (Кбайт):........16384 (16) Объем семплов (13 семплов),байт (Кбайт):..........26624 (26) Частота дискретизации на F(tact)=3.5MHz, KHz:.....11.5 Размер отгружаемого модуля, секторов:.............169 Редактируемый диапазон, октав:....................5 Размер паттерна, строк:...........................от 1 до 64 Диапазон квантования, прерываний:.................от 1 до 15 Расширения на диске: О-Config, P-Patterns, S-Samples Размеры ордера, паттернов:........................64 --------------------------------------------------------------- 3. Дисковая оболочка --------------------------------------------------------------- Редактор обладает дисковой оболочкой, обеспечивающей заг- рузку и выгрузку (автоматическое удаление) музыкальных модулей. Музыкальный модуль не компрессирован и с целью легкого досту- па до его составляющих разбит на три функциональные части: А) FILENAME.O 27675,229 В этом файле находятся параметры модуля: Ордер, Скорость... Б) FILENAME.P 49152,16384 В этом файле находятся все паттерны, которые вы редактируете. В) FILENAME.S 36864,26624 В этом файле находятся нужные вам инструменты. МЕНЮ: ------------- >EDIT SONG< LOAD SONG SAVE SONG Клавиши: и - указатель вверх/вниз или - выбор опции LOAD SONG: ------------- Клавиши: и - выбор файла - перечитать каталог или - загрузка модуля - выход-отмена SAVE SONG: ------------- Вам предоставляется возможность выгрузки с именем последнего выгруженного файла. Для этого просто нажмите на . Будет произведена автоматическая перезапись последнего модуля без по- тери дискового пространства. В остальных случаях - обычный OVER WRITE с потерей на удаленные файлы. Клавиши: - подтверждение ввода. - выход-отмена --------------------------------------------------------------- 4. Как же быть с редактором? (EDIT SONN) --------------------------------------------------------------- Очень просто! Не смотрите, что у него столь малые, (2048 байт), инструменты: С помощью встроенного осциллоскопа и зацикливания можно добиться и продолжительного их звучания. (В PC-шных ре- дакторах встречаются семплы и по 16 байт.). Такой мелкий размер семпла выбран с целью повысить скорость работы проигрывателя, которая убьется попусту на щелканье страничками. В редакторе выполняются команды паузы -(RES) и конца паттерна - (END). Благодаря последней стало возможно абсолютно визуально указать длину паттерна не парясь над ее вычислением. Команда END работает только в канале "А", в остльных каналах она игнорируется. Также она не ставится на нулевую строку пат- терна, ибо при этом длина паттерна становится нулевой и он во- обще теряет какой-либо смысл. Запомните это и не говорите, что это глюки! :-) Клавиши: ,,,

- перемещение указателя. - выбор опции / выход из опции (см.далее). Основное МЕНЮ: ----------------- >HEAR PATTERN< CLEAR PATTERN PLAY PATTERN CLEAR CHANNEL EDIT PATTERN ECHO DIVISION RESTORE POS CHANGE SPEED CHANGE SAMPLE LOAD SAMPLE <- (Edit order if SMP=0) CHANGE PATTERN UNDO PATTERN MOVE TEXT CLEAR SONG --------------------------------------------------------------- Sample name: ---NO--- Replen: 0000 --------------------------------------------------------------- POS: 00 PAT: 01 Место для просмотра осциллограмм если SMP>0 LEN: 00 <- Вывод ордера только если SMP=0 LPP: 00 --------------------------------------------------------------- 61 | --- 0 | --- 0 | --- 0 | --- 0 | SMP: 0 62 | RES 0 | c-4 2 | --- 0 | D#2 5 | OCT: 1 63 | --- 0 | --- 0 | --- 0 | --- 0 | SPD: 5 00 | >--- 0< | >--- 0< | >--- 0< | >--- 0< | PAT: 01 01 | --- 0 | --- 0 | --- 0 | --- 0 | + + - + 02 | END 0 | --- 0 | --- 0 | --- 0 | flags 03 | --- 0 | --- 0 | --- 0 | --- 0 | -------Channel A---Channel B---Channel C---Channel D----------- --------------------------------------------------------------- 4.1. Список опций и их выполнение: --------------------------------------------------------------- HEAR PATTERN: Проигрывание текущего (редактируемого) паттер- на без нотной протяжки. PLAY PATTERN: Проигрывание текущего (редактируемого) паттер- на с нотной протяжкой. EDIT PATTERN: Редактирование текущего паттерна. Редактирова- ние осуществляется нажатием тех кнопок, что и в Sound Tracker'е т.е выставляются следующие данные (O-текущая октава (1-5): C-O, C#O, D-O, D#O, E-O, F-O, F#O G-O, G#O, A-O, A#O, B-O, RES, END ---, выход из опции, промотка вперед, промотка назад, ,

смена текущего семпла, , ус- тановка длины зацикливания (Replen): 0000-весь инструмент, 07F8-инстртумент не зациклен. (То есть - сколько отступить от начала инструмента.) При SMP=0 зацикливание игнорируется. RESTORE POS.: Установка нулевой строки паттерна. CHANGE SAMPLE: сменить инструмент (клавиши <О>,<Р>). Если SMP=0, то выводится на показ ордер. Если SMP>0, то показывается осциллограмма установленного инструмента, его имя и длина за- цикливания. Если текущий инструмент отсутствует, то на экран выводится надпись "SAMPLE ABSENT". CHANGE PATTERN: сменить текущий паттерн (клавиши <О>,<Р>). MOVE TEXT: переслать некоторый блок нотного текста. Эта оп- ция абсолютно сходится с Sound Tracker'ом. Однако блок может переноситься с некоторым загибом вначале. (В Sound Tracker'e это не сделано, хотя и нужно бы!) CLEAR PATTERN: стереть текущий (редактируемый) паттерн. Вы- водится предложение к подтверждению (ARE YOU SURE?). CLEAR CHANNEL: стереть в текущем паттерне один из каналов в котором находится курсор редактора. Выводится предложение к подтверждению. ECHO DIVISION: Уменьшить громкость текущего инструмента в 2 раза для достижения эхо-эффекта при написании музыки. Выводится предложение к подтверждению. CHANGE SPEED: изменить скорость квантования (клав. <О>,<Р>) LOAD SAMPLE: загрузка инструмента. Файл должен иметь расши- рение "C" и старший ниббль начального адреса быть равен #80. Инструмент загружается, если SMP>0. Если SMP=0, то выбор "LOAD SAMPLE" приведет к редактированию ордера. Редактирование орде- ра выполняется нажатием на клавиши <О>,

,,. POS-пози- ция в ордере, PAT-номер паттерна в ордере, LEN-длина ордера, LPP-новая точка старта при зацикливании. Повторяю: ВЫХОД ИЗ ВСЕХ ВЫБРАННЫХ ОПЦИЙ ОСУЩЕСТВЛЯЕТСЯ КЛАВИ- ШЕЙ ! UNDO PATTERN: позволяет восстановить ошибочно введеные дан- ные при редактировании паттерна. При смене паттерна или пере- сылки текста функция UNDO утрачивает свою способность восста- новления данных. Подтверждается запросом. CLEAR SONG: удаляет все паттерны без возможности UNDO. Подт- верждается запросом. Осторожно с этой функцией! --------------------------------------------------------------- 5. Формат музыкального модуля --------------------------------------------------------------- Музыкальный модуль состоит из трех отдельных файлов, на ко- торые возложены по отдельности разные обязанности: Файл: "FILENAME".Sample #9000,#6000 содержит играемые редак- тором инструменты. Инструменты располагаются следующим образом: Page: 0 SMP: 0. пустой инструмент. 1. #9000,#07F8 последние 8 байт - нули! 2. #9800,#07F8 3. #A000,#07F8 4. #A800,#07F8 5. #B000,#07F8 6. #B800,#07F8 7. #C000,#07F8 8. #C800,#07F8 9. #D000,#07F8 A. #D800,#07F8 B. #E000,#07F8 C. #E800,#07F8 D. #F000,#07F8 При загрузке инструмента выполняются некоторые условия: 1. Перед загрузкой область его посадки заполняется кодами #80 для того, чтобы инструмент короче 2040 байт не имел щелчков и не прослушивался бы конец старого инструмента. 2. Инстумент длиной более 8 секторов отсекается до нужного размера. 3. Инструмент длиной 1 сектор игнорируется. 4. Инструмент длиной менее 8 секторов,но более 1 сектора заг- ружается на 1 сектор меньше, так как последний сектор содержит не только нужный инструмент,но и кучу разнообразного барахла. 5. После загрузки инструмента проводится его проверка на 0 и установка последних 8и нулей. Файл "FILENAME".Pattern #c000,#4000 содержит редактированние вами (или не вами :-) паттерны. Их 31 штука, занимают они 512 байт каждый и хранятся в 1 странице 128 ОЗУ с адреса #C000. Формат паттерна: +0 +1 +2 +3 +4 +5 +6 +7 #C000 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | 00 | ... | note |sample| note |sample| note |sample| note |sample| | Channel A | Channel B | Channel C | Channel D | Файл "FILENAME".O содержит имена и адреса инструментов, ор- дер и его параметры, скорость квантования. О его конкретном формате я распространяться не буду. Кому надо - тот разберется и в нем. Остается добавить что во время редактирования паттерна клави- шами <1>-<5> перключают октавы (Только при нахождении курсора в области нот). Клавишами <7>-<0> включают/выключают звучание со- ответственно ABCD каналов (Только при нахождении курсора в об- ласти нот и в главном меню редактора). Player находится с адреса #8000 и вполне будет работать на ма- шине с раздельным полем памяти. Что касается остальных процедур, то результаты их работы мне не известны. Вектор прерывания сто- ит в #FEFF и обслуживается полной таблицей, поэтому здесь,веро- ятно, глюков не возникнет. Очень возможно, что далее будет написана COVOX'овая версия, но в ней не будет ABCD-масок для каналов. Далее проектируется два вида компилятора: с фиксированными двухкилобайтными инструментами и с загружаемыми базовыми инст- рументами произвольной длины. Вроде бы все. Помогать более нечем. И если я здесь кое-что упустил, то вы сами легко все найдете! --------------------------------------------------------------- (C)1996 FLASH Inc. Amadeus Wakson