User Tag List

Страница 18 из 24 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя
Показано с 171 по 180 из 234

Тема: YM2203 = AY8910+FM

  1. #171

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

    По умолчанию

    Цитата Сообщение от Dexus
    в код дохрена изменений пришлось внести.. И с этими переинициализациями потоков.. без этого вообще иногда при переключении - подвисон какой-то образуется... Пока выкладывать не буду - потому как предвижу море глюков из-за этой возможности смены частоты налету, причем ДЛЯ КАЖДОГО AY НЕЗАВИСИМО.А в Unreal изначально это не было предусмотрено вовсе
    подожди, а разве в MAME не было кода эмуляции нижних регистров YM? может проще взять полностью FM+SSG?

  2. #172

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,086
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    подожди, а разве в MAME не было кода эмуляции нижних регистров YM? может проще взять полностью FM+SSG?
    Там эмулятор AY8910 - отдельный. Там вообще много каких процессоров есть эмуляции. Но они все через извратную систему драйверов (хотя на самом деле куда более удобно чем у Вас, потому как разрабатывалось унифицировано, и ради расширябельности свободной).
    Конкретно AY8910 подключается по указателю, как практически отдельный эмулятор, и просто на него ссылается, и передаются ему регистры. Так же как и передается ему просто текущая его частота.. "налету". Но вообще они в совсем разных местах
    Кроме того - этот новый не будет обладать возможностями ваших разных уровней громкостей, или диджитал сэмплов, или стерео-раскладки.
    Я хочу вносить _минимум_ для того чтобы по максимуму похоже эмулировалось.
    Последний раз редактировалось Dexus; 26.08.2005 в 16:22.

  3. #173

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

    По умолчанию

    вообще вся эта переинициализация - лишние тормоза. ведь на самом деле это регистры делителя (а внешняя частота AY постоянна), и нужно всего лишь поправить расчёт fa,fb,fc,fn,fe в функции AY::write, умножив эти периоды на текущий делитель частоты

    digital samples можно выкинуть (сам это собираюсь сделать, точнее найти более забавную замену)

  4. #174

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,086
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    вообще вся эта переинициализация - лишние тормоза. ведь на самом деле это регистры делителя (а внешняя частота AY постоянна), и нужно всего лишь поправить расчёт fa,fb,fc,fn,fe в функции AY::write, умножив эти периоды на текущий делитель частоты
    Даже если не происходит никаких записей в регистры - частота должна меняться.
    С изменением периодов fa/fb/fc/fn/fe - спасибо за мысль. Попробую такой алгоритм внедрить.

    Диджитал самплес - интересная штука (порой слушал), но к сожалению кривовато реализовано. То ли буффер криво ставится, то ли еще что - но щелчки постоянно прут (с частотой 50 гц)...

  5. #175

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

    По умолчанию

    Цитата Сообщение от Dexus
    Даже если не происходит никаких записей в регистры - частота должна меняться
    да, тут облом - придётся расчитывать текущий fa в начале AY::flush и использовать его

  6. #176

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,086
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от SMT
    да, тут облом - придётся расчитывать текущий fa в начале AY::flush и использовать его
    Ну есть один способ. Частота меняется как 1/2х, 1х, 2х. Т.е. кратно двум. Делить частоту - самое простое. А вот умножать...
    Поэтому наверно придется работать с умноженной частотой.. и даже 3.5Мгц превратится в 7...
    Да и вообще.. частота эта меняется не так часто, поэтому расчеты всяких этих temp.mult_const2, temp.mult_const3, ay.mult_div, temp.ay_div2, последующим c restart_sound() не приведет ни к чему критичному.

    Выкладываю новую версию (с работающим прескейлером) http://inatix.com/spool/unreal031b_YM2203.zip .

  7. #177

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

    По умолчанию

    Делить частоту - самое простое. А вот умножать
    по моему, одинаково просто как делить, так и умножать на степени двойки (да, ты же в десятичной системе думаешь )

  8. #178

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,086
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    http://inatix.com/spool/unreal031b_2203_full.zip
    с конфигом и с ромами..
    http://inatix.com/spool/2203test2.zip
    хобетовский файлик, для теста (внутри кодовый фрагментик в 6 килобайт с адреса 30000).. не очень конечно качественный. короткий.. тут расширенная версия (типа эхо сделано за счет задержки и перекидывания на второй чип с меньешй громкостью).
    лучшего теста-примера пока нету по причине отсутствия нормального инструментария..

    Добавление: Почему то при компиляции с оптимизацией (особенно под п4) наблюдается странный эффект - звуки совсем запортаченные.. как будто без операторов вовсе... голимая синусоида.
    Последний раз редактировалось Dexus; 29.08.2005 в 08:54.

  9. #179

    Регистрация
    04.08.2005
    Адрес
    Nizhnevartovsk
    Сообщений
    1,086
    Спасибо Благодарностей отдано 
    102
    Спасибо Благодарностей получено 
    151
    Поблагодарили
    99 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати вот попробовал сделать стерео (нулевой чип направо 0.8 правый 0.6 левый и наоборот) - намного прикольней звучит, и сильного стерео разнобоя нету.
    Последний раз редактировалось Dexus; 30.08.2005 в 19:20.

  10. #180

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

    По умолчанию

    Цитата Сообщение от Dexus
    "Даже если не происходит никаких записей в регистры - частота должна меняться"
    да, тут облом - придётся расчитывать текущий fa в начале AY::flush и использовать его
    что-то я не подумал: можно пересчитывать при записи в регистр делителя

    Цитата Сообщение от Dexus
    с оптимизацией (особенно под п4) наблюдается странный эффект - звуки совсем запортаченные
    ищи глюк у себя. я раз 20 на такое нарывался: ну всё думаю, точно глюк ms-компилятора. и каждый раз (кроме одного случая, причём глюк исправили в 7-й версии без моего участия) оказывалось, сам дурак
    хотя, бывает, переменная хитро меняется вне функции в обход поля видимости оптимизатора - попробуй компильнуть без /Oa

Страница 18 из 24 ПерваяПервая ... 141516171819202122 ... ПоследняяПоследняя

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

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

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

Ваши права

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