2016-03-12 3 views
4

Я хочу написать синтаксический анализатор для .sid-файлов (музыка для C64 chiptunes), чтобы извлечь некоторые шаблоны в заметки. Я ищу формат и нашел это: http://cpansearch.perl.org/src/LALA/Audio-SID-3.11/SID_file_format.txtSID формат файла синтаксический анализ

Я могу читать заголовок как в этом документе, но я не понимаю, как извлекать отдельные заметки и выводить их.

я искать готовых преобразователей и нашел их:

Это я нашел еще несколько, но StackOverflow говорит, что я не могу разместить более двух ссылок.

Пожалуйста, помогите. Извините за мой плохой английский. Спасибо за ваше внимание!

+7

Вы не можете разобрать SID-файл в заметках. SID-файлы в основном представляют собой программу в сборке 6510, напрямую доступ к микросхеме MOS6581 (иногда очень странно). Лучше всего будет запустить его в эмуляторе (например, [libsid] (http://sidplay2.sourceforge.net/)) и сбросить все, что происходит с эмулированным MOS6581. – GreyCat

ответ

2

Если я читаю this справа, если вас интересуют только примечания (например, тангаж), вы должны быть в состоянии обойтись, просто глядя на то, что записывается в $ d400/$ d401 для канала 1 и так далее на.

5

Помимо заголовка, содержащего различные мета-данные, остальные из .sid файла состоит из кода (рутина игрок) и данных (документов и данных заметок.) ​​

Формат данных ноты зависит по коду игрока и множеству разных игроков, любой из которых может иметь несколько версий с вариациями в коде и форматах данных. Есть даже много мелодий, которые содержат кодеки и форматы данных, разработанные специально для этой мелодии.

Это означает, что единственный способ определить формат данных примечаний - изучить код игрока (в мониторе машинного кода или отдельный инструмент дизассемблера), чтобы увидеть, что он делает и как организованы данные, который может быть довольно серьезным, даже если вы уже знакомы с машинным кодом 6510 и чипом SID.

+0

Неужели он просто запустил плеер в 6510 VM и записал, что записывается в регистры SID? – Cactus

Смежные вопросы