Inferno #05
30 апреля 2004
  Софт  

Sofтинка - Пакет CacheVox v1.0 для импорта и проигрывания с дискет цифровой музыки.


Программное обеспечение Описание Музыкальные проигрыватели

       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 - выход. 
 

   Как я понял, развитие этого проекта па-
хнет  непредставимыми затратами времени... 
Очень нужен (как никогда) человек, который 
взял  бы  на себя программу. Я могу только 
подкидывать  исходники движков, на большее 
меня не хватит! 

                           А. Кодер, автор                                         UTUTUTP UTP UTP                 ┐■┐·┐■°>°>┐·°>                №№№p №p ¤|}                °>°>■■                uTuuTp uTp u}|                ° °>° °>° °>°>?°                p up uuPp p         GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG        ° ° °>°> р                p up uuP||p                 ° °>° °>° ╛·°>?°                uTp uTp uT№u}|                °>°>?°■■                №p №p № Ё¤|}                ┐■°>┐■°> а┐·°>                UTP UTP UT @UTP         GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Инструментарий - Инструкция по эксплуатации программы "XPLAYER 78".
Pusher - Pusher v6.01p программа для выдирания и проигрывания музыки.
Программы - Описание музыкального плеера MMC Player.

В этот день...   21 ноября