Цитата Сообщение от Spectre
Лучше наоборот:
CALL START
LD A,(PLAYER+10)
BIT n,A ;Тип Модуля 0 - PT3, 1 - PT2
Не, плеер я готов написать, а вот детектор - это пусть внешняя программа занимается, все равно она после загрузки файла анализирует его и решает, вызывать или не вызывать. Задача детекта неоднозначна, я за такое не возьмусь

Цитата Сообщение от Spectre
Для проигрывания и вывода инфы о мелодии нужно:
1. Адрес таблицы громкости. Если плэйер будет единый эта таблица будет располагаться по фиксированному адресу (сейчас по разным).
Не факт, но если надо именно так, то сделать можно.

Цитата Сообщение от Spectre
2. Адрес с позициями мелодии. Он нужен для вычисления длины мелодии в позициях и текущей позиции (для LD HL,(START+11):LD DE,-PT2ModuleAddress-131: ADD HL,DE). Можно сделать как длина мелодии в (PLAYER+11) и счетчик (PLAYER+12,13).
Длину мелодии брать из формата (тут плеер не причем), а в +11 можно сделать просто счетчик позиций, хотя это тоже лишне. Я хочу написать плеер, а детект, визуализация и прочее - это уже каждый по своему все равно будет делать. Тебе достаточно счетчика позиций, кому-то нужно отслеживать сэмплы, кто-то хочет сделать счетчик строк - можно множество подобных идей реализовать. Мне хочется заниматься только проигрыванием.

Цитата Сообщение от Spectre
3. Бит отображающий какой PT (2,3) у нас мелодия определилась (в PLAYER+10). Это нужно для вывода информации о мелодии.
Определяка внешняя, тут я уже высказался. Как сделаешь, так и будет В PLAYER+10 будет просто копия того, что внешняя программа и так уже знает.