User Tag List

Показано с 1 по 10 из 10

Тема: Фоновое проигрывание AY/YM музыки в меню Aeon

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #4

    Регистрация
    13.03.2006
    Адрес
    Колпино
    Сообщений
    1,250
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    6 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    В AY_emul в хелпе есть описание.

    Скрытый текст

    Существуют как обычные PSG, так и расширенные EPSG. Кроме того, существуют PSG2-файлы, аналогичные ZX50-файлам (их описание можно найти на сайте RDOSPLAY), но поддерживать их в данном Эмуляторе автор не видит смысла. В интернете немало PSG файлов эмулятора БК, но они пока не поддержаны в Ay_Emul.

    PSG

    Данные файлы создаются эмулятором Speccy 'x128' by James McKay, а также эмулятором fMSX, которым пользоваться не приходилось. Что касается первого, то он при создании PSG файлов допускает ошибки. Поэтому лучше всего пользоваться эмулятором Speccy “Z80 Stealth” Кирилла Колпакова (Mr.Kirill). Кирилл в своё время охотно внедрил в свой эмулятор некоторые предложенные мной функции, сильно упрощающие процесс создания PSG файлов. Кроме того, последние версии Z80 Stealth позволяют с легкостью создавать PSG-файлы, используя возможности встроенного отладчика. Скачать эмулятор можно с http://z80.da.ru/.

    Ниже предложено всё, что удалось найти в Интернете.

    Смещение Число байт Описание

    +0 3 Идентификатор 'PSG'
    +3 1 Маркер, равный "1Ah"
    +4 1 Номер версии
    +5 1 Частота прерываний (для версий 10+).
    +6 10 Неизвестно

    Далее следуют строки байтов, начинающиеся с 0FFh или 0FEh. Байт 0FFh – маркёр начала прерывания. Если вслед за ним идёт байт от 0 до 15, то это номер регистра АY, в который произошёл вывод значения, следующего за этим байтом. Далее идёт следующая двойка байт, первый байт которой – номер регистра, а второй – значение. И так пока не встретится маркер следующего прерывания, конец файла или байт 0FEh. Байт, следующий за 0FEh, помноженный на 4 даст количество прерываний, в течении которых не было вывода на сопроцессор. Если в PSG-файле встретится номер регистра от 16 до 252 – не расстраивайтесь. Этот и следующий за ним байт можно просто проигнорировать (это вывод на другие устройства MSX).

    Согласно документации RDOSPLAY, байт 253 является маркером конца музыки, но данный маркер не поддержан в данном Эмуляторе.
    Немного дополнительной информации. Как удалось узнать, некоторые эмуляторы сохраняют более простой заголовок – только первые четыре байта, то есть вывод на AY начинает сохраняться уже со смещения +4. Данный же Эмулятор не приспособлен для загрузки PSG с таким заголовком, но в большинстве случаев такие PSG играются (конечно, теряются первые несколько выводов). Поэтому, если вы занимаетесь конвертированием модулей PSG, созданных с таким заголовком, в другие форматы (VTX или YM6) с помощью данного Эмулятора, вам нужно вручную подкорректировать заголовки этих PSG и привести их к описанному выше виду.

    EPSG

    Данные файлы создаются эмулятором Speccy “Z80 Stealth” Кирилла Колпакова (Mr.Kirill). В отличие от обычных PSG, EPSG хранит информацию не только о выводе в конкретные регистры, но и о времени вывода, в связи с чем, EPSG, также как OUT и ZXAY, может хранить вывод на AY с точностью до такта Z80.
    Далее слегка отредактированный текст из z80s.faq:

    Q: What is it - this EPSG format?
    A: It's PSG format improved just a bit to handle output of digitized samples

    Here's the description:

    Offset Length Value

    ============================

    Header

    ============================

    0 4 'EPSG'
    4 1 0x1A marker
    5 1 Machine type: 0x00 - ZX Spectrum 128 0x01 – Pentagon
    0xFF – Other machines
    6 4 Zero for machine type 0x00 and 0x01 or
    Number of Z80 tacts between interrupt markers
    for other machines
    10 6 zeroes

    ============================

    AY(YM) log during 1 frame

    ============================

    16 1 AY(YM) register number
    17 1 value written to this register
    18 3 T-state
    .....
    ?? 5 0xFFFFFFFFFF - interrupt marker
    [свернуть]
    Последний раз редактировалось molodcov_alex; 06.05.2009 в 08:34.
    ZX Spectrum forever!

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Aeon, v1.0
    от ILoveSpeccy в разделе Клоны на ПЛИС, МК и БМК
    Ответов: 167
    Последнее: 19.03.2010, 17:39
  2. AEON vs OldSpeccy concept.
    от Mad Killer/PG в разделе ZX Концепции
    Ответов: 16
    Последнее: 01.02.2009, 06:11
  3. AEON by triebkraft & 4th Dimension
    от diver в разделе Демо
    Ответов: 84
    Последнее: 31.01.2009, 17:51
  4. Сервисное меню Пентагона-1993
    от Sonic в разделе Оси
    Ответов: 6
    Последнее: 16.05.2007, 01:25
  5. Проигрывание SoundTrackerPro музыки
    от Jukov в разделе Программирование
    Ответов: 5
    Последнее: 26.02.2006, 05:49

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •