|
Info Guide
#05
30 апреля 2004 |
|
CacheVox - Пакет программ для импорта и последующего проигрывания с дискет цифровой музыки.

CacheVox v1.0
памяти
Real Audio Player for GS
посвящается...
Этот пакет программ вам не нужен, если:
- вы не имеете Pentagon 128 и выше;
- этот Pentagon не содержит кэша (вариант:
мегабайта);
- на этом Pentagon'е не реализован Covox;
- ваши друзья-пцшники не пускают вас нажи-
мать на писюковские кнопки.
CacheVox НЕ РАБОТАЕТ под эмуляторами.
Пакет предназначен для импорта и после-
дующего проигрывания с дискет (двойной
плотности) цифровой музыки среднего и вы-
сокого качества (mono). Музыка различных
форматов (MP3 не рекомендуется ) перед ко-
нверсией в формат программы должна пройти
преобразование в WAV поток.Формат програм-
мы включает сжатие в 2 раза (ровно) с ми-
нимальными потерями. Концепция сжатия сос-
тоит в восстановлении из каждого байта
двух отсчётов с опорой на предыдущий отс-
чёт.Таблицы преобразования,которые вы смо-
жете найти в прилагаемых исходниках, пост-
роены на основе статистики и дополнительно
скорректированы на слух.Поэтому данный фо-
рмат сжатия полностью закончен. Возможные
новые форматы сжатия будут работать с бо-
лее сложной арифметикой.
Как правило, оптимальная громкость при-
близительно соответствует удвоенной гром-
кости нормализованного звука - то есть вы
подсовывается моему конвертору нормализо-
ванный звук,а конвертор его удвоит. Но вы-
бирать вам... 8-битный звук при надлежащей
конверсии значительно чище того, к чему вы
психологически приготовлены!
Битрейт поддержан всего один: 22kHz. В
наименее ресурсоёмких циклах 22kHz интер-
полируется до 44kHz. Базовая частота не 11
kHz, потому что инвадеры не любят грязный
саунд :) В ранних версиях она использова-
лась, поэтому может быть возвращена наряду
со стандартной, разумеется,по многочислен-
ным просьбам :)
Музыка хранится на дисках объёмом 640k
(файлы на TR-DOS диске), 800k (MS-DOS) или
960k (5760x170). 0-я дорожка не используе-
тся,на неё можно записать плейер. Формати-
рование дисков 800k следует производить
только здесь. Форматирование и заполнение
дисков 960k производится с двух 640k дис-
кет копировщиком в составе CacheVox. Подо-
зреваю, что такие диски не будут пользова-
ться большой популярностью :(
Форматёру и рестореру требуется для ра-
боты 48k; копировщику 2x640k->960k требуе-
тся 128k; плейеру - либо 48k+Cache, либо
1024k.
- Формат позволяет обойти некото-
рые царапины, какие, я сейчас рас-
скажу...
один программист
Не секрет,что больше 5760 форматирован-
ных байт на дорожку DD диска не поместит-
ся, если,конечно,вы не укрутите движок ва-
шего дисковода до 280 об/мин :) И уместить
их туда можно одним-единственным способом
- в 7 секторов, 5 из которых по 1k. С кон-
троллером шутки не шутят,поэтому все упра-
вляющие поля дорожки сведены к минимуму
для создания индексного запаса, который
даст возможность записи на последний сек-
тор без нарушения его структуры и повреж-
дения первого. При этом дисковод, вращаю-
щийся на 1% быстрее стандартного,не сможет
записать на 960k диске даже нулевую дорож-
ку.
По этой и многим другим причинам 960k
диск для ZX не может быть создан на пц.
Создание 960k дисков проверялось на ди-
сководах 5,25" и 3,5".
Программа может перемещать сектора на
дорожке за счёт 7 необязательных байт вну-
три межсекторных промежутков, 4 необязате-
льных байт в поле пробела (после заголовка
сектора) и последовательности расположения
самих секторов.Вся работа происходит авто-
матически, однако успешность результата не
гарантирована :(
Копирование происходит из файлов разме-
ром 255 секторов (smp.s, smp.0, smp.1...).
Их можно разбрасывать по 640k дискам как
вам угодно. Наплодить их способен Spectrum
Navigator: для этого надо скопировать
smp.smp в .scl, потом из этого .scl сде-
лать два, которые и записываются на TR-DOS
диски.
Форматирование для надёжности происхо-
дит с большой задержкой после позициониро-
вания,с записью и двойной проверкой читае-
мости. Читаемость проверяется в условиях,
близких к боевым - перед чтением делается
перепозиционирование. Но, тем не менее, на
одной из моих дискет запись на определён-
ной дорожке где-то в районе середины диска
успевает улетучиться между форматированием
и чтением.
Безусловно, в копировщике вам придётся
подиджействовать. Но поменьше, чем при за-
писи ролика "Locomotion" :) У меня весь
процесс занял 11 минут 45 секунд.Была идея
формировать 960k диск из MS-DOS'ного с фа-
йлом в Rar'е.
Предусмотрено восстановление подсевшей
записи на 800k и 960k дисках. Для 960k это
особенно долгий процесс,поскольку работает
аналогично форматированию,- более 7 минут.
Пакет содержит:
1. CacheVox.B - плейер в оболочке, в нём
же рестореры дисков 800k и 960k, а также
опция создания дисков 960k из длинного-
длинного файла на двух дисках 640k.
2. wavpk2pi.pas - конвертор из WAV (по
умолчанию 44 kHz stereo, можете откоммен-
тировать другие варианты) в мой формат.Ну-
жно откомпилировать эту программу в Turbo
Pascal, найти в текущем каталоге достаточ-
но длинный WAV и ткнуть в него.В результа-
те получается smp.smp длиной 4096*255 (мо-
жете исправить это число, например, на
4096*159 или 5120*159). Теперь программой
Spectrum Navigator или другими программами
этот smp.smp следует скопировать на чистую
дискету/дискеты, смотря какого сорта носи-
тель вы проготовили для композиции.
3. CVoxPlay.H - плейер в исходниках. Ну-
жен,если плейер в оболочке на вашем компь-
ютере не заработал,а вы знаете,что ваш ко-
мпьютер может играть музыку с дисков.(При-
сылайте исправления под свои компьютеры.)
Он же нужен, чтобы сгенерировать из вашего
(! например, с настройкой 11 kHz или с не-
стандартным количеством дорожек !) вариан-
та плейера бейсик-плейер для размещения на
0-х дорожках любых CacheVox-дискет. Старая
0 дорожка при этом форматируется насмерть.
Даже если диск был MS-DOS'ный,он превраща-
ется в TR-DOS'ный.
Грустные мысли.
Для написания этого чуда,вроде бы,небо-
льшого по размерам,понадобилось 10 месяцев
и 3 разных компьютера. Или 4, если считать
отдельно старую конфигурацию моего пц и
новую,без HDD. Ещё пришлось тестировать на
друх чужих машинах и задействовать для ко-
нверсии комп на работе. Как будто всё в
программе правильно.Но я отнюдь не уверен,
что на других дисководах всё будет так же,
как у меня...
Форматирование и восстановление дисков
640k я не реализовал, потому что не прете-
ндую на лавры создателей FUT (точнее, FUCK
Utility, которому FUT обязан 90% кода) и
особенно AIDS. Ведь я знаю, что стоит сде-
лать такой ресторер - и какой-нибудь умник
начнёт ресторить на нём единственную (ра-
зумеется) копию своего рабочего диска. И
запорет, потому что "алгоритмы (ц) я" ещё
умнее этого бедняги...
Не по назначению здесь имеет смысл ис-
пользовать только форматёр на 800k. Потому
как я приличных форматеров этого дела во-
обще в природе не видел... Сначала я хотел
сделать на MS-DOS диске 166 дорожек, но
оказалось,что мой пц при записи на послед-
ние дорожки их физически порет.Ну и хрен с
ними, подумал я. На диске 960k последние
дорожки тоже могут прокиснуть,но это почти
не важно, т.к.чтение всегда можно прервать
Break'ом. А играться будет ровно столько,
сколько прочиталось. На всякий случай во
всех режимах чтения (кроме кэшевого) есть
кнопка Caps - перепозиционирование. Ещё
кнопки в проигрывателе: F - промотка впе-
рёд (в случае чтения в реальном времени
почти не помогает), Enter - смена диска,
Break - выход.
Как я понял, развитие этого проекта па-
хнет непредставимыми затратами времени...
Очень нужен (как никогда) человек, который
взял бы на себя программу. Я могу только
подкидывать исходники движков, на большее
меня не хватит!
А. Кодер, автор
Другие статьи номера:
Похожие статьи:
В этот день... 2 ноября