Автор Тема: NES DMC - тайминг для семплов  (Прочитано 5888 раз)

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

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
NES DMC - тайминг для семплов
« : 03 Март 2011, 20:28:14 »
Вопрос достаточно интересный.
Известно, что не все разрабы использовали стандартные дельта-модуляционные однобитные семплы (DPCM), наиболее простые в обработке и не отнимающие много процессорного времени. Некоторые задействовали еще и способность APU играть 7-битные семплы формата Linear PCM (ну или Raw PCM, различия не знаю).
Озвучивание таких 7-битных семплов отнимает наоборот почти все процессорное время и несовместимо с просчетом коллизий, движением объектов да плюс еще и опросом джоя. Поэтому мы слышим их в основном на титульных экранах и в сопровождении десятков кадров лага.

* Big Bird's Hide and Speak (vocal prompts)
* Sesame Street Countdown (various incidental speech, not nearly as critical as the speech in Big Bird)
* Wheel Of Fortune (title screen voice)
* The Three Stooges (title screen voice)
* Skate Or Die 2 (title screen music)
* Battletoads (various sound effects)
* Blades of Steel (various speech, when the action freezes)
* Ski or Die (title screen voice)
* Gauntlet 2 (various incidental speech)
* Joshua (various sound effects)
* SCAT (cut scene speech)
* Action 52 (title screen music)

Метод проигрывания этих семплов называют "ручным" поскольку требуется специальный таймер для того чтобы доставать байты семпла из РОМа по несколько десятков раз в кадр. Такой таймер можно встроить на плату картриджа (зачастую идёт вместе с маппером). Когда игра хочет сыграть сэмпл, она инициализирует таймер, и он уже периодически вызывает IRQ-процедуру ручной подачи байтов в DMC.

Внимание вопрос.

Как действует IRQ при подаче однобитных семплов? С каким таймером сверяется? (Про прямой доступ к памяти знаю)
« Последнее редактирование: 05 Март 2011, 22:55:22 от feos »

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
Re: NES DMC - тайминг для семплов
« Ответ #1 : 02 Июнь 2011, 20:30:08 »
А кстати,почему титульная музыка из Action 52 спокойно играет в NSF-плеере?Он же не рассчитан на это.Значит,там,видимо,не RPCM,а DPCM.Я вот откуда-то брал эту музу,и она спокойно запускалась на плеере.
Также,дамп BT,BT&DD с RPCM лично у меня не звучит в FCEU,насчёт Фубара согласен,там он действительно звучит.
« Последнее редактирование: 02 Июнь 2011, 20:34:57 от Ryukenden1 »

Оффлайн Sprill

  • Пользователь
  • Сообщений: 991
  • Пол: Мужской
  • Вескер никогда не снимает свои очки.
    • Просмотр профиля
Re: NES DMC - тайминг для семплов
« Ответ #2 : 02 Июнь 2011, 20:54:09 »
А кстати,почему титульная музыка из Action 52 спокойно играет в NSF-плеере?Он же не рассчитан на это.
Кстати да, тоже интересно стало, также например заставочная музыка из Skate Or Die 2 тоже спокойно играет в VirtualNES.

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
Re: NES DMC - тайминг для семплов
« Ответ #3 : 02 Июнь 2011, 20:59:36 »
Значит,ошибочка вышла,не все указанные выше игры содержат RPCM.Blades of Steel содержит DPCM.Для Joshua-что-то тоже качество звука хромает=>DPCM.SCAT,ИМХО,то же самое.Вот если слухануть High Speed на заставке-вот там точно RPCM,мне и Санчез подтвердил.
« Последнее редактирование: 02 Июнь 2011, 21:06:10 от Ryukenden1 »

Оффлайн Sprill

  • Пользователь
  • Сообщений: 991
  • Пол: Мужской
  • Вескер никогда не снимает свои очки.
    • Просмотр профиля
Re: NES DMC - тайминг для семплов
« Ответ #4 : 02 Июнь 2011, 21:06:58 »
Хотя что самое интересное когда я попытался вытащить сэмплы из Skate Or Die 2 и Action 52 через NSFLive, то он показывает что там их нет.

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
Re: NES DMC - тайминг для семплов
« Ответ #5 : 02 Июнь 2011, 21:08:10 »
Интересно!
Видимо,он не воспринимает сэмплы,если это голос или музыка.Впрочем,американцев фиг поймёшь,у них свои технологии.
« Последнее редактирование: 02 Июнь 2011, 21:12:12 от Ryukenden1 »

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Re: NES DMC - тайминг для семплов
« Ответ #6 : 02 Июнь 2011, 21:28:00 »
В NSF физически можно впихнуть Raw семплы, как это сделал собсна Quietust.
Следовательно в дамп скейт о дай их впихнули.
Просто это сложнее сделать, чем если бы НСФ заведомо был заточен под них, а так приходится корячится с таймингом.
FCEU более старое поколение, в FCEUX должно все работать.


Добавлено позже:
Цитата: Ryukenden1
не воспринимает сэмплы,если это голос или музыка
шутка такое?

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
Re: NES DMC - тайминг для семплов
« Ответ #7 : 03 Июнь 2011, 04:42:13 »
Можно впихнуть,но тогда нужно дорабатывать NSF-плеер,что Quietust и сделал,модернизировав свой Нинтендулятор под такое дело.Конечно,если использовать Фубар с нужным плагином для проигрывания,то дорабатывать ничего не надо. :)
Должно в теории,но на практике всё иначе.Ну ни один из NSF-плееров как в эмуляторе,так и самостоятельный,не рассчитан на воспроизведение RPCM,кроме Нинтендулятора.Попробуй в FCEU его дампы БЖ проиграть-полный молчок только услышишь.

Оффлайн feos

  • Пользователь
  • Сообщений: 785
  • Пол: Мужской
    • Просмотр профиля
Re: NES DMC - тайминг для семплов
« Ответ #8 : 03 Июнь 2011, 07:22:25 »
Ryukenden1, это видимо и связано с тем, что он в ручную дорабатывал сам файл.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #9 : 26 Март 2017, 12:01:38 »
Sprill, а если я нашёл в игре не задействованный сэмпл? Как его включить?
P. S.: в Экшн 52 в Billy Bob при вскарабкивании наверх и при получении урона должны были звучать сэмплы. Но это реализовано только в двух отдельных кусках этой игры. Вот как их включить, хотелось бы узнать.

Оффлайн CaH4e3

  • Пользователь
  • Сообщений: 3587
    • Twitter
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #10 : 26 Март 2017, 17:33:59 »
научиться программировать на денди, дизассемблировать ром, собрать его заново и исправить ошибки в игре лол

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #11 : 26 Март 2017, 18:03:31 »
научиться программировать на денди, дизассемблировать ром, собрать его заново и исправить ошибки в игре лол
А легче нельзя? Типа найти, где эту функцию включить надо? :D
Я вот полазил на днях в одном из этих ромов, и смог разобраться в строении блоков, нашёл карту свойств и карту врагов, где их можно задать. И ещё выяснил, что во всех играх этого сборника можно включить HUD. Просто когда их спустя 3 месяца стали торопить, типа "давайте уж поскорее заканчивайте" - им ничего не осталось сделать, кроме как собрать все свои наработки в образ, сделав так, чтобы он вообще работал. Те, кто хоть немного в них ковырялся, поняли бы, что все эти игры - СЫРЫЕ.
P. S.: во всех этих играх можно включить HUD, но только в тех, где есть свободные тайлы в первой половине банка.
А в Билли Бобе я смог только найти сам сэмпл (он зеленым цветом отмечен и много весит).

Оффлайн CaH4e3

  • Пользователь
  • Сообщений: 3587
    • Twitter
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #12 : 26 Март 2017, 20:48:27 »
https://tcrf.net/Action_52_(NES) давно уже поковырялись и давно все поняли...

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #13 : 26 Март 2017, 21:48:40 »
https://tcrf.net/Action_52_(NES) давно уже поковырялись и давно все поняли...
Нету там того, о чём я тут говорил. Ни про альтернативные ромы игры Билли Боб, ни про отсутствующий HUD, ни про альтернативную версию French Baker. То, что там написано, можно найти в ютубе, и я это уже находил.

Оффлайн Zopizixa

  • Пользователь
  • Сообщений: 4
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #14 : 27 Март 2017, 01:13:03 »
Хотя что самое интересное когда я попытался вытащить сэмплы из Skate Or Die 2 и Action 52 через NSFLive, то он показывает что там их нет.

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #15 : 27 Март 2017, 04:03:48 »
Гарантированно вытащить через NSFLive можно только DPCM-сэмплы...

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #16 : 27 Март 2017, 07:02:46 »
Гарантированно вытащить через NSFLive можно только DPCM-сэмплы...
А в Экшн 52 что тогда, если не DPCM?

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #17 : 27 Март 2017, 09:11:16 »
Там raw PCM. Также, как и в Battle Toads, Ultimate Stuntman и пр. Ведь можно по качеству звука отличить DPCM от raw PCM!
И, естественно, их вытащить через плеер нельзя. Впрочем, и в FT нет возможности их использовать, хотя было бы неплохо.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #18 : 27 Март 2017, 14:24:47 »
Там raw PCM. Также, как и в Battle Toads, Ultimate Stuntman и пр. Ведь можно по качеству звука отличить DPCM от raw PCM!
И, естественно, их вытащить через плеер нельзя. Впрочем, и в FT нет возможности их использовать, хотя было бы неплохо.
В Stuntman вроде бы нет голоса. В Rod Land есть.
К слову, когда я ломал Экшн 52 на бессмертие, звук в титульной музыке почему-то портился, помехи какие-то появлялись. Хотя я не трогал сами сэмплы.

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #19 : 27 Март 2017, 14:37:36 »
А я говорил о голосе? Сырыми сэмплами может быть и голос, и музыкальные инструменты. В Стантмене - это ударные, в Боевых Жабах - это ударные на титульнике и в паузе, в Большой Птице - это голос. И т.д.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #20 : 27 Март 2017, 14:44:59 »
А я говорил о голосе? Сырыми сэмплами может быть и голос, и музыкальные инструменты. В Стантмене - это ударные, в Боевых Жабах - это ударные на титульнике и в паузе, в Большой Птице - это голос. И т.д.
А в Гиммике сэмплы есть?

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #21 : 27 Март 2017, 14:45:15 »
Есть. Басуха и ударный в DPCM. Извлечь - раз плюнуть.
P.S. Однобитными сэмплами тоже могут быть и музыкальные инструменты, и голос. Но их качество звучания отличается от семибитных сэмплов.

Оффлайн lancuster

  • Пользователь
  • Сообщений: 4256
  • Пол: Мужской
  • A nullo diligitur, qui neminem diligit...
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #22 : 27 Март 2017, 17:11:23 »
Есть. Басуха и ударный в DPCM. Извлечь - раз плюнуть.
P.S. Однобитными сэмплами тоже могут быть и музыкальные инструменты, и голос. Но их качество звучания отличается от семибитных сэмплов.
А в Экшн 52, получается, однобитные?

Оффлайн Ryukenden

  • Пользователь
  • Сообщений: 1013
  • Пол: Мужской
  • Хрю-хрю
    • Просмотр профиля
NES DMC - тайминг для семплов
« Ответ #23 : 27 Март 2017, 18:59:37 »
Я просто для примера привёл.
А в А52: коли их нельзя извлечь через NSFLive - значит, не однобитные, да и качество звучания их выше.