Плеер MTC контейнеров для реала

Всем привет!

Рад сообщить, что представленный в предыдущей статье формат треков MTC (Multi Track Container) теперь можно (с некоторыми ограничениями) слушать и на реале.


В репозиторий выложен исходник плеера mtc.asm, поддерживающий следующие типы потоков:

  • PT2
  • PT3 (включая TurboSound треки)
  • TurboSound контейнеры (2 склеенных трека с футером)
  • TFC

Имеющиеся ограничения:
  • При наличии нескольких потоков одного вида берется последний
  • Но два PT3 потока склеиваются в TurboSound контейнер
  • Если они оба сами по себе TurboSound треки, то будет плохо
  • Связка PT2+PT3 не поддерживается (ибо нефиг)
  • TFC потоки играются с частотой 50Гц
  • Потоки неподдерживаемых типов пропускаются

Бонусом идет набор самостоятельных плееров всех вышеперечисленных типов (pt2.asm/pt3.asm/ts.asm/tfc.asm), а также универсальный плеер с автоматическим детектом формата (uni.asm).

Как пользоваться.

В папке players/test находятся тестовые программки для всех поддерживаемых форматов, а вместе с исходными файлами распространяются бинарные сборки:

      org #6000
      di
      call init
      ld iy,#5c3a
      ld hl,10072
      exx
      ei
.loop halt
      call play
      ld a,#7f
      in a,(-2)
      rra
      jr c,.loop
      call mute
      jr $

      org #8000
player
init=player
play=player+5
mute=player+8
      include "mtc.asm"
      ;incbin "mtc_8000.bin"
      incbin "test.mtc"


Тонкости использования

  1. Инициализация портит все регистры, включая IY и HL', так что их надо сохранять и восстанавливать самостоятельно
  2. Воспроизведение может портить HL'
  3. Для работы плееров AY форматов на звуковой карте TSFM крайне желательно объявление дефайна ONtfm (автоматически объявлен для mtc/universal плееров)
  4. Дефайн NoPrologue отключает генерацию стандартного пролога (точек входа +0/+5/+8). Вместо них можно пользоваться метками XXX.Init/XXX.Play/XXX.Mute, где XXX- имя плеера (PT2/PT3/MTC/TFC/TS/UNI)

Credits

  • Universal PT2'n'PT3 Turbo Sound player for ZX Spectrum (c)2004-2007 S.V.Bulba <vorobey@mail.khstu.ru>
  • Переработанный плеер TFC от Alone Coder

P.S. Помогите, люди добрые. Сами мы не местные, карман с деньгами оторвало...

3 комментария

avatar
Vitamin жажду подробностей.
Интересует среднее/пиковое потребление тактов проигрывания обычного 1хАУ РТ3

И, теперь главное:
возможность отслеживания позиций в паттерне, паттернов
возможность чтения проигрываемых инструментов

есть такое?

пока в плеер не лез, не успел :)
avatar
извиняюсь, поспешил с комментарием.
вопрос снят.
PTSPlay.asm
avatar
Если что, это далеко не оптимальный по скорости плеер. Просто он универсальный- а это то, что мне нужно.
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.