Автор Тема: Эмуляция Sunsoft 5B audio (NES/Famicom)  (Прочитано 4018 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 70
  • Пол: Мужской
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« : 11 Январь 2019, 18:33:51 »
Всем доброго дня!
Не подскажет ли уважаемый all, существуют ли в природе эмуляторы, умеющие в полноценную поддержку звука на маппере 5b? Я пробовал punes, fceux, mesen, nintendulator и nestopia, из которых только nestopia более-менее корректно проиграла огибающую, но чувствуется, что поддержка чипа явно не допилена. Может есть какие-то неофициальные сборки других эмуляторов?
Спасибо.

Оффлайн CaH4e3

  • Пользователь
  • Сообщений: 3589
    • Twitter
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« Ответ #1 : 11 Январь 2019, 20:55:01 »
а ты с чем сравнивал? Мойша напел?

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 70
  • Пол: Мужской
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« Ответ #2 : 11 Январь 2019, 21:17:37 »
а ты с чем сравнивал? Мойша напел?

Нет, не Мойша. Напел nsf, который я выгружал из 0CC Famitracker'a. Для чистоты эксперимента я удалял все инструменты для базовых каналов, т.е. оставлял исключительно 5b инструменты. Результаты (трекер и Nestopia) разные.
Т.е. кто-то из них говорит неправду. Либо эмулятор, либо трекер.
На всякий случай приложу архив, в котором находятся 0CC трек и выгруженный из него nsf.
Для чего всё это? Есть некоторые мысли по использованию звука на этом маппере, но прежде чем взяться писать код, хотелось бы убедиться, что это будет работать. Вариант с тестированием на реальном железе оставлю как план Б.

UPD. Потыркал в регистры AY-шки, шум, тон в Нестопии работают. Уже неплохо. В любом случае, буду рад любой инфе по звуку на 5b.
« Последнее редактирование: 11 Январь 2019, 22:45:21 от mr287cc »

Оффлайн CaH4e3

  • Пользователь
  • Сообщений: 3589
    • Twitter
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« Ответ #3 : 13 Январь 2019, 14:56:36 »
мне каца ты немного не понимаешь сути
nsf - это не формат музыки. это выдранный из денди рома кусок драйвера звука с его данными. и играет все это эмулятор.
я хз какой мулятор пользует твой плейер нсф (и фамитрекер в частности) и какие там твики сделаны для лучшего звучания, но имхо сравнивать мумулятор с мумулятором - это делать из говна пулю.

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

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

опять же, я например не музыкант, и на слух отличить разницу огибающей не могу. приведи конкретный пример того, что и где по-твоему "не так".
« Последнее редактирование: 13 Январь 2019, 15:03:25 от CaH4e3 »

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« Ответ #4 : 13 Январь 2019, 18:26:23 »
В любом случае, буду рад любой инфе по звуку на 5b.
на несдеве вроде более чем подробно описано https://wiki.nesdev.com/w/index.php/Sunsoft_5B_audio
в двух словах - там Yamaha YM2149F на частоте проца NES (1.789773 MHz) / 2.
это не AY, в YM огибающая отличается немного, плюс есть опциональный делитель тактовой частоты, и говорят в данном случае он включен потому и /2.

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

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 70
  • Пол: Мужской
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« Ответ #5 : 14 Январь 2019, 03:20:48 »
мне каца ты немного не понимаешь сути
nsf - это не формат музыки. это выдранный из денди рома кусок драйвера звука с его данными. и играет все это эмулятор.

Я это отчётливо понимаю, в описанном мною выше случае косячил трекер, формируя какой-то одному ему известный код.
В остальном разобрался, в Нестопии есть что допиливать в плане эмуляции YM-ки. Тон и шум проигрываются более-менее корректно. К огибам есть вопросы.

В приципе, пожалуй, вопрос исчерпан.

Добавлено позже:
на несдеве вроде более чем подробно описано https://wiki.nesdev.com/w/index.php/Sunsoft_5B_audio
в двух словах - там Yamaha YM2149F на частоте проца NES (1.789773 MHz) / 2.
это не AY, в YM огибающая отличается немного, плюс есть опциональный делитель тактовой частоты, и говорят в данном случае он включен потому и /2.

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

Да, похоже, так и оказалось, спасибо за инфу!
« Последнее редактирование: 14 Январь 2019, 12:15:47 от mr287cc »

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9386
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« Ответ #6 : 14 Январь 2019, 15:54:16 »
ну и хорошо.
сказанное выше на счёт фамитрекера было о оригинальной/старой версии, там какое-то непотребство вместо эмуляции AY/YM.
глянул 0CC - там уже что-то более похожее на правду, так что может оно играет и правильно.

Оффлайн Smalkoff

  • Пользователь
  • Сообщений: 1
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« Ответ #7 : 24 Январь 2019, 21:08:45 »
Какая-то битая Nsf-ка. Вот в архиве нормальная + еще один проигрыватель.
Видео с проигрыванием на приставке https://www.youtube.com/watch?v=nWbLw8swfcI

Оффлайн mr287cc

  • Пользователь
  • Сообщений: 70
  • Пол: Мужской
    • Просмотр профиля
Эмуляция Sunsoft 5B audio (NES/Famicom)
« Ответ #8 : 02 Май 2019, 04:29:21 »
Что ж, похоже, забавы с 5b закончены, дописан плеер упакованных дампов для звукового чипа YM2149f на этом замечательном Sunsoft 5b.
Что сделано?
- написан упаковщик дампа;
- написаны плееры для трёх платформ (изначально для ZX Spectrum, затем Motorola 6809 и MOS 6502).
Какие плюшки?
- проигрывается музлишко, написанное под данный звуковой чип;
- музыку можно брать непосредственно с ZX Spectrum (очень большой музыкальный архив);
- можно писать с нуля в Vortex Tracker (скоро релиз, где будет реализован взаимный обмен Clipboard с Famitracker'ом а также поддержка таймингов NES/Famicom).
Для чего это всё? Прежде всего для быстрого проигрывания трека в демо/интро на Спектруме. Vectrex и Famicom наверное для того же, а также just for fun.
Ром в аттаче, исходники и документация со всеми нюансами чуть позже, вместе с релизом.
P.S. Три демо-трека в роме адаптированы под NTSC. Работает только в эмуляторе Nestopia.

Забыл самое важное. Если здесь бывают господа программисты, причастные к wip разработке эмуляторов, просьба поддержать все регистры AY8910 (aka YM2149f). Был бы рад видеть это в fceux. Может будет полезно посмотреть в исходники эмуляторов Спектрума, там это сделано неплохо, например в UnrealZX.
« Последнее редактирование: 02 Май 2019, 04:36:03 от mr287cc »