Сейчас много появилось всякого апгрейда на Speccy. И один из них мы представляем вашему вниманию. Саму схе- му SounDrive 1 с пояснением вы найдете в приложении. А здесь мы поместили опи- сание музыкального редактора для So- unDrive 1 - Flash Tracker 2.0. Весь этот материал появился в филах нашего журнала с любезного согласия Flash Inc (Новосибирск) * * * ╔═════════════════════╗ ║FLASH TRACKER ver 2.0║ ║for SounDrive 1 only!║ ║Concepted and Written║ ║ by AMADEUS WAKSON ║ ║ 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 Клавиши: <Q> и <A> - указатель вверх/вниз <Ent> или <Space> - выбор опции LOAD SONG: ------------- Клавиши: <Q> и <A> - выбор файла <R> - перечитать каталог <Ent> или <Space> - загрузка модуля <CS+SS> - выход-отмена SAVE SONG: ------------- Вам предоставляется возможность выг- рузки с именем последнего выгруженного файла. Для этого просто нажмите на <En- ter>. Будет произведена автоматическая перезапись последнего модуля без потери дискового пространства. В остальных случаях - обычный OVER WRITE с потерей на удаленные файлы. Клавиши:<Enter> - подтверждение ввода. <CS+SS> - выход-отмена 4. Как же быть с редактором? (EDIT SONN) Очень просто! Не смотрите, что у него столь малые, (2048 байт), инструменты: С помощью встроенного осциллоскопа и зацикливания можно добиться и продолжи- тельного их звучания. (В PC-шных редак- торах встречаются семплы и по 16 байт.). Такой мелкий размер семпла выб- ран с целью повысить скорость работы проигрывателя, которая убьется попусту на щелканье страничками. В редакторе выполняются команды паузы -(RES) и кон- ца паттерна - (END). Благодаря послед- ней стало возможно абсолютно визуально указать длину паттерна не парясь над ее вычислением. Команда END работает только в канале "А", в остльных каналах она игнорируется. Также она не ставится на нулевую строку паттерна, ибо при этом длина паттерна становится нулевой и он вообще теряет какой-либо смысл. Запомните это и не говорите, что это глюки! :-) Клавиши: <Q>,<A>,<O>,<P> - перемеще- ние указателя. <Space> - выбор опции / вы- ход из опции (см.далее). Основное МЕНЮ: ----------------- >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 62 RES 0 c-4 2 63 --- 0 --- 0 00 >--- 0< >--- 0< 01 --- 0 --- 0 02 END 0 --- 0 03 --- 0 --- 0 -------Channel A---Channel B ----------------------------------- --- 0 --- 0 SMP: 0 --- 0 D#2 5 OCT: 1 --- 0 --- 0 SPD: 5 >--- 0< >--- 0< PAT: 01 --- 0 --- 0 + + - + --- 0 --- 0 flags --- 0 --- 0 ---Channel C---Channel D----------- 4.1. Список опций и их выполнение: HEAR PATTERN: Проигрывание текущего (редактируемого) паттерна без нотной протяжки. PLAY PATTERN: Проигрывание текущего (редактируемого) паттерна с нотной про- тяжкой. EDIT PATTERN: Редактирование текуще- го паттерна. Редактирование осуществля- ется нажатием тех кнопок, что и в Sound Tracker'е т.е выставляются следующие данные (O-текущая октава (1-5): <Z> C-O, <S> C#O, <X> D-O, <D> D#O, <C> E-O, <V> F-O, <G> F#O <B> G-O, <H> G#O, <N> A-O, <J> A#O, <M> B-O, <R> RES, <E> END <Enter> ---, <Space> выход из оп- ции, <L> промотка вперед, <I> промотка назад, <O>,<P> смена текущего семпла, <Y>,<U> установка длины зацикливания (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" приведет к редактированию орде- ра. Редактирование ордера выполняется нажатием на клавиши <О>,<P>,<Q>,<A>. POS-позиция в ордере, PAT-номер паттер- на в ордере, LEN-длина ордера, LPP-но- вая точка старта при зацикливании. Повторяю: ВЫХОД ИЗ ВСЕХ ВЫБРАННЫХ ОП- ЦИЙ ОСУЩЕСТВЛЯЕТСЯ КЛАВИШЕЙ <SPACE>! 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 #C000 00 00 00 00 ... note amplenote ample Channel A Channel B +4 +5 +6 +7 00 00 00 00 note amplenote ample Channel C Channel D Файл "FILENAME".O содержит имена и адреса инструментов, ордер и его пара- метры, скорость квантования. О его конкретном формате я распространяться не буду. Кому надо - тот разберется и в нем. Остается добавить что во время редак- тирования паттерна клавишами <1>-<5> перключают октавы (Только при нахожде- нии курсора в области нот). Клавишами <7>-<0> включают/выключают звучание со- ответственно ABCD каналов (Только при нахождении курсора в области нот и в главном меню редактора). Player находится с адреса #8000 и вполне будет работать на машине с раз- дельным полем памяти. Что касается ос- тальных процедур, то результаты их ра- боты мне не известны. Вектор прерывания стоит в #FEFF и обслуживается полной таблицей, поэтому здесь,вероятно, глю- ков не возникнет. Очень возможно, что далее будет на- писана COVOX'овая версия, но в ней не будет ABCD-масок для каналов. Далее проектируется два вида компи- лятора: с фиксированными двухкило- байтными инструментами и с загружаемыми базовыми инструментами произвольной длины. Вроде бы все. Помогать более нечем. И если я здесь кое-что упустил, то вы сами легко все найдете! ---------------------------------------- (C)1996 FLASH Inc. Amadeus Wakson