;FAST TRACKER 1.o7 (beta 6) release: 05.03.2018 ;config values for tr-dos version starts from #5e5e aka 24158 ;u can change it from basic or hex editor ;if u wanna change defal theme to dark, push down SS when load ;attributes order (default #val.) / (dark #val) main option window (#68) / (#45) main option header (#45) / (#60) windows backgnd (#4f) / (#4f) windows header (#78) / (#78) sample & image editor backgnd (#28) / (#04) sample & image editor header (#60) / (#60) composer info (#60) / (#72) module editor backgnd (#28) / (#04) module editor step4 (#28) / (#06) module editor step16 (#38) / (#05) disk menu backgnd (#28) / (#45) disk menu header (#05) / (#60) border (#05) / (#00) ---------------------------------------------------------------- FAST TRACKER v1.07 (beta 6, rel: 05.03.2018) (based on FTRv1.00) _____ ___ ___ ___ / __/___________/ /_ / /_________________/ /___,_,_______ / __/ _, '(__ ./ __/ / __/ __/ _, '/ __/ '_/ /__) __/ /__/ \____/_____/\___/ \___/__/ \____/\___/__/\__\____/__/ Programming, design & engine by Orion/DR Fully disassembled, recompiled & modified by Sand/MhM some info about tracker patterns: 32 positions: 256 height: 0-255 (global for pattern) samples: 32 images: 32 pattern lenght: 01-64 sample lenght max.: 80 image lenght max.: 80 sample mask: noise, tone, envelope sample accum.mode: noise, tone, envelope sample auto-volUp/volDn: present image accum.mode: tone, noise commands: 6 tempo: 3-255 max lenght of compiled module w/o player: 16384 bytes __ __ __________ __ __ _ _ _ ___ /_/_MAIN MENU_/_/__ _ hotkeys: [CURSOR] - moves cursor (anywhere) [CS+SPACE] or [BREAK], [CS+1] or [EDIT] - exit from any menu [ENTER] - select option [B] - beeper on/off [T] - tone-table exchange ("1.75mhz+"/Classic) [O] - positions & height list editor [U] - play module from start position (with height value) [L] - play module from current position (with height val.) [P] - play current patter (w/o height val.) [A] - sample editor [I] - image (ornament) editor [K] - save/load options [R] - autorscroll on/off [E] - autoenvelope on/off [SPACE] or [EXTEND] - edit current pattern [CS+2] - solo mode in pattern-editor on/off [SS+1] - [SS+3] - channels A, B, C on/off __ __ _______________ __ __ _ _ _ ___ /_/_PATTERN EDITOR_/_/__ _ hotkeys: [CS+SS], [EXTEND MODE] - jump to next channel [CS+3], [CS+4] - fast scrolls up/down [ENTER] - play pattern/channel from cursor [CS+1], [EDIT], [SPACE] - back to main menu [SS+1], [SS+2], [SS+3] - channels A, B, C on/off [CS+2] - solo mode on/off [SS+T] - change table [SS+B] - beeper on/off [SS+E] - auto envelope on/off [SS+R] - auto step on/off [SS+I], [SS+U] - autoenv inc/dec [SS+P], [SS+O] - autoscroll inc/dec [SS+K], [SS+J] - delay inc/dec [SS+G], [SS+F] - pattern size inc/dec [SS+M] - previous pattern [SS+N] - next patterns next keys works from cursor to end of pattern: [SS+C] - copy channel or env. [SS+V] - paste channel or env. [SS+W] - insert noteplace in channel or env. [SS+Q] - delete noteplace from channel or env [SS+X] - transpose channel at 1 semitone up [SS+Z] - transpose channel at 1 semitone down [CS+9] aka [GRAF.MODE] - clear under cursor and this keys works from note-tab only: [Z], [S], [X], [D], [C], [V], [G], [B], [H], [N], [J], [M]- note [1] - [8] - set octave [L] - clear note [CS+L] - clear note with parameters [R] or [A] - mute channel aka R-- .---------------------------------------------. Nu'EPer'Not'SEIV Cpp'Not'SEIV Cpp'Not'SEIV Cpp' 05|....|D-5 1F2F 1.3|--- .... ...|--- .... F..| 06|..3F|--- .... ...|C-4 .C.. ...|--- .... ...| 07|....|--- .... ...|--- .... ...|E-5 ...F ...| '---------------------------------------------' (Nu) - number (EPer) - Envelope Period (Not) - Note (C-1...B-8) (S) - Sample (0 - keep, 1-9 & A-W - set) (E) - Envelope Form (0, 1-F - set) (8,C,A,E,D,F) (I) - Image (0 - keep, 1-9 & A-W - set) (V) - Volume (0 - keep, 1-F set) (Cpp) - command 1pp - slide up 2pp - slide down 3pp - portamento 4pp - noise Fpp - tempo (F03 min, FFF max) F00 - set volume 0 (to realise just set value 1-F in Volume) p.s. make sure that all patterns you need are placed to Position List. If not - pattern not be saved! __ __ _________________________ __ __ _ _ _ ___ /_/_POSITIONS & HEIGHTS LIST_/_/__ _ hotkeys: [W] - inc. number of pattern or height value [S] - dec. number of pattern or height value [SPACE] or [GRAF.MODE] - clear value [1] - set begin of loop [2] - set end of loop __ __ _________________________ __ __ _ _ _ ___ /_/_SAMPLES / IMAGES MANAGER_/_/__ _ hotkeys: [SS+N] or [0] - rename sample/image [1] - [9], [A] - [W] - fast select sample/image [ENTER] - select sample/image under cursor [SS+C] - copy image/sample in bufer [SS+V] - paste image/sample from bufer __ __ ________________________ __ __ _ _ _ ___ /_/_SAMPLES / IMAGES EDITOR_/_/__ _ hotkeys: [SS+W] - clone position [SS+Q] - cut position [W], [S] - slow inc/dec value [E], [D] - fast inc/dec value [SPACE] or [GRAF.MODE] - clear value [1] - set begin loop [2] - set end loop [Z], [X], [C] - play (w/o env.) and set note C-4, D-4 or E-4 [ENTER] - play (C-4, D-4 or E-4) with env.form 'E' [B] - accumulation on/off [N] - mask on/off [M] - change sign or volume dec/inc __ __ __________ __ __ _ _ _ ___ /_/_DISK MENU_/_/__ _ hotkeys: [L] - load module [S] - save module __ __ _______________ __ __ _ _ _ ___ /_/_DISK CATALOGUE_/_/__ _ hotkeys: [R] or [SS+R] - reread disk catalogue [N] or [SS+N] - change file name (for save/load) [ENTER] - select file under cursor (so, use [N] before saving!) ---------------------------------------------------------------- thanx & greats: lvd for koding konsultations siril for technikal konsultations & freq.tables diskussions sam style for koding diskussions nq for musika support splin7er for musika support karbo for musika support riskej for musica support sauron, joe, riskej & others dudes who wrote tracks in ftr 1.00 orion & sauron for best tracker-format on speccy tmk, quite, ea, factor6, x-agon, yerzmyey, gasman & others guys for good non-ftr musika! and of coz greats to all guys who wrote musika on real hardware! hopy u'll enjoy this version of Fast Tracker! :) ---------------------------------------------------------------- (C) 1998 Digital Reality (R) 2018 MAYhEM sandrowski[mayHem] / 27.dec.2017-05.mar.2o18;-------------------------------------------------------------- p.s. некоторые интересные факты :) пока занимался исследованием разных табличек тональности обнаружилось следующее: / таблица в SoundTracker позаимствована bzyk'ом у Дэвида Виттакера, который впервые использовал ее еще в 1986 году. Роб Хаббард так же использовал эту таблицу с 1987 года. Аллистер Бримбл по крайней мере однажды использовал эту таблицу. Да вообще много кто из именитых музыкантов "того времени" использовал именно эту табличку. Будем считать ее классической для Zx-Spectrum :) / одна из самых первых табличек была замечена в играх Fairlight (music routines by pennsoft) и LodeRunner в 1985 году, чуть более расширенную версию этой таблы использовал в своих произведениях Тимоти Фоллин и другие композиторы. Следы данной таблицы ведут на Amstrad. / вариант таблицы, которую использовал Тим Фоллин (см.выше) я нашел в музыкальном редактре The Music System by Rainbird Software (1986) на Amstrad. Возможно, Фоллин писал свои шедевры именно там. Не проверял. / таблица в Protracker2 и Protracker3 позаимстована Nick'ом видимо из SoundTracker, НО имеет две ошибки, из-за чего и "фальшивит" нота B-2 (имеет значение #03FD вместо #03F0). Также нота А#4 имеет значение #010A вместо #010B - на слух распознать сложновато :) (забавно то, что плеер vortex зачем-то корректирует нормальную таблицу внося эти баги. Иными словами сонги написанные в саундтракере после конвертирования вортексом (или пт2, пт3) будут играть эти две ноты не так, как сам st!). / таблица в demo-версии Fast Tracker (demorealize) была позаимствована из плееров фирмы Players Premier (есть мнение что эта таблица берет корни с MSX1), но в полной (если так, конечно можно выразиться) версии релиза заменена автором на более "привычную" из pt2. / таблицу в своем ASC Sound Master Андрей Сендецкий сделал очень похожей на таблицу от тех же Players Premier (скорее всего он просто ее взял из плееров данной компании) (в ASM она сдвинута на одну ноту и слегка подкорректирована) / таблица в ProSoundCreator позаимствована kva из ASM, так же как и Дратовым в ProSoundMaster (но, в PSM таблица слегка урезана - убрана субконтроктава). / похоже, что McAlby в сво м CompactEditor использовал таблицу Виттакера, но слегка подкорректированную. / подведя итоги, можно сказать что на спектруме наибольшее распространение получили три таблицы (и их производные). Это таблицы от pennsoft и tim follin (1985) (AMSTRAD CPC), david whittaker (1986) (возможно, именно он ее автор) (ftr100-, ftr107+, st+, stp+, pt2xx-, pt3xx-, gtr), players premiers (1989)(предположительно сдернута с MSX1) (asm, psc, ftrdemo, psm). Конечно есть и другие, например от Lyndon Sharp, но они широко не распространились. / вот еще вспомнил, есть на Amiga такой замечательный музыкальный редактор под названием SoundMon2. Так вот Allister Brimble в игре SlightlyMagic (zx-spectrum) использует плеер, который свободно играет моды созданные в SoundMon2 на Amiga, естественно играются только 3 канала вместо четырех. Лично проверял несколько трэков с Амиги - всепоет :) Также трэк из самой игры вполне играет на Амиге. Вот она - мультиплатформенность :) sandrowski/mayHem o5.jan.2o18 -------------------------------------------------------------- ;changes, bugfixes & limitations ;FAST TRACKER 1.o7 (release: 05.03.2018) -------------------------------------------------------------- ! убран редкий, но досадный баг. Если вы написали трэк, который в скомпилированном виде занимал больше одной банки, то после записи его на диск последующее использование этого модуля было невозможным, а при загрузке его в трэкер, убивался код самого трэкера ! команда 4xx (noise) почему-то не учитывалась компилятором. Теперь учитывается. ! поставил "заплатку" в компилятор на родной баг с именами сэмплов и орнаментов, что позволило более-менее решить проблему с порчей пустых имен орнаментов и сэмплов ! исправлен баг курсора в меню выбора файлов + показывает длинну модуля при записи на диск + добавлена транспозиция при редактировании паттерна (с учетом положения курсора) + сделано корректное соотношение автоогибающей, добавил соотношения (раньше все они работали как 2:1 и рассчитывались одинаково для всех форм огибающей, что некорректно) + раздельный copy/paste канала или огибающей (с учетом позиции курсора) (ах да, тут используется два буфера: один под канал, второй под огибающую, что удобно) + insert и cut строки + быстрое перемещение по паттерну (nq захотел) + copy/paste сэмплов и орнаментов (в списках сэмплов и орнаментов) + редактируемый сэмпл или имедж теперь играет в канале B + добавлен соло-режим при редактировании паттерна (nq захотел) + нули заменил на точки (nq захотел) + теперь есть две таблички. Одна из музыкальной инжины от David Whittaker (так же известна как SoundTracker, номер 1 в "вортахе", назовем е "Classic"), другая - "1.75мГц+" (стоит по-дефолту) (кстати данная таблица рассчитатна по методу Виттакера, так что вы получите вс теже самые "незабываемые" огибающие, в отличии от всех остальных таблиц, где с огибающими имеются определ нные нюансы) + таблицы определяются при загрузке модуля (смещение от начала модуля +64(#32) - если #01 или что-то отличное от #02, то таблица "Classic" (str), если #02 - таблица "1.75mHz+") + если сразу же после загрузки (во время депакинга) нажать и удерживать SS, то тема интерфейса изменится на ту, которая была в demo версии редактора (назовем ее dark) (зачем я это сделал?))) + вообще настройки можно изменить либо хекс-редактором, либо из бейсика через POKE (см. config_info.txt) + добавлено раздельное удаление паттернов, сэмплов и имеджей (раньше все грохалось скопом и без подтверждения) + теперь преждевременно не грохается модуль в памяти, если формат загружаемого модуля некорректный + влючение/отключение beeper'а (включен по-дефолту) + что-то по мелочам :) - удален пт2-фтр декомпилер, так надо :) - т.к. таблицы тональности "Classic" и мой вариант "1.75мГц+" рассчитаны на 8 октав, девятая - не задействована (полагаю, изначально задумывалсь как субконтроктава, правда подход изначально был неверный, но не суть). Если кто-то изъявит реальное желание писать в 9 октавах - дайте знать, так сказать :) + плеер переделан на две таблицы (размер плеера стал #0BB0(2992) байта, раньше был #0B65(2917). Исходники прилагаются. -------------------------------------------------------------- p.s. !!! паттерны, которые не прописаны в списке позиций, не будут записаны в module! Имейте это ввиду. !!! а вот неиспользуемые сэмплы и орнаменты автоматически не удаляются. Это тоже имейте ввиду :)