VTX

О формате

Данный формат был разработан Романом Щербаковым (V_Soft). Это формат с подробным заголовком для хранения объёмных дампов регистров квантованной музыки и для AY, и для YM в файлах небольшого размера.

Выдержка из оригинального README.RU

---------------------------cut here-------------------

Смещение        Размер  Тип             Описание
00 dec          2 байта Word            Идентификатор VTX файла (ay or ym)
                                        является типом чипа по умолчанию:
                                        что есть 7961h или 31073 dec (ay)
                                        что есть 6D79h или 28025 dec (ym)
02              1       Byte bit        Режимы проигрывания по умолчанию:
                                        Биты 0–2 отвечают за стерео режим:
                                        0 – MONO, 1 – ABC, 2 – ACB, 3 – BAC,
                                        4 – BCA, 5 – CAB, 6 – CBA (dec)
03              2       Word            Номер кванта цикла (начиная с нуля =
                                        начала мелодии). Отключаемо в плеере
05              4       Dword           Частота чипа AY для данной мелодии
                                        (введена для совместимости мелодий,
                                        перенесенных, например с Atari)
                                        Стандартные значения:
                                        ZX_Spectrum: 1773400 (или 001B0F58h)
                                        Atari: 2000000 (или 001E8480h)
                                        Amstrad CPC: 1000000 (или 000F4240h)
09                      Byte            Частота плеера. Т.е. число квантов в
                                        секунду. Стандартное значение, 50 =
                                        1/50 секунды (20ms).
10              2 байта Word            Год написания композиции
12              4       Dword           Размер неупакованных данных. Нужен
                                        для разархивации.
16              1–255   NTString        Строка, содержащая название мелодии
                                        (1–254 символов), должна обязательно
                                        заканчиваться нулем даже если запись
                                        отсутствует!
??              1–255   NTString        Строка, содержащая имя автора (cм.^)
??              1–255   NTString        Программа, откуда мелодия (cм.^)
??              1–255   NTString        Название муз. редактора (cм.^)
??              1–255   NTString        Строка комментария (cм.^)
??              ??      Array           Сжатый пакет данных...

---------------------------cut here-------------------

Замечания

  1. Данные упакованы методом LHA типа 5. Можно паковать тем же LHA.EXE, что и YM файлы, только необходимо отрезать заголовок и последний нулевой байт полученного архива. Заголовок LHA-архива находится в самом начале, его длина равна значению первого байта заголовка плюс 2.
  2. В распакованном виде пакет данных аналогичен блоку данных YM3-файла.

Встречаются старые версии VTX файлов (поддерживаемые плагином Vortex версий младше 2.00), Ay_Emul также умеет их проигрывать.

До недавнего времени формат VTX был наиболее оптимальным и, по сути, единственным подходящим для хранения записанной из эмуляторов квантованной музыки (когда оригинал не доступен, а AY-файл по каким-либо причинам не создаётся).

Однако в последнее время начала появляться музыка, не укладывающаяся в рамки формата. Слабым местом оказалось поле "Частота плеера", в котором невозможно сохранить значение более 255 Гц. Для такой музыки приходится использовать формат YM6.

Более того, в это поле невозможно сохранить нестандартные частоты таких клонов ZX Spectrum как Pentagon (примерно 48,828 Гц): после округления скорость проигрывания будет немного отличаться от оригинала.

Как создавать

VTX файлы могут быть получены из соответствующих звуковых форматов эмуляторов компьютеров с AY или YM на борту (для ZX Spectrum и MSX это в основном PSG, которые достаточно большие по размерам и по существу являются промежуточным форматом).

Однако есть эмуляторы, которые могут создавать VTX непосредственно. Один из них – Unreal Speccy by SMT, правда есть существенный недостаток – в режиме максимальной скорости запись в VTX не производится.

Для скоростной записи PSG или EPSG с последующим конвертированием в VTX (или ZXAY) можно порекомендовать эмулятор Z80 Stealth by Mr.Kirill.