Перейти к содержимому

Рекомендуемые сообщения

это невероятно сложно! я признателен автору за разработку драйвера ибо это даёт огромный простор для хакинга!

особенно радует

возможность воспроизводить голоса в игре

и кстати, ты специально выбирал дату релиза(00:00)?

Изменено пользователем Aslan

Поделиться сообщением


Ссылка на сообщение

Маленькая поправка к первому посту:

 

В секции "Как воспроизводить голоса в игре" была небольшая ошибка.

В примере неправильно заданы флаги воспроизведения (в таблице).

 

Исправлено.

Поделиться сообщением


Ссылка на сообщение

Очень и очень круто! Я знал что ты когда-нибудь напишешь звуковой драйвер, но чтоб настолько крутой....

Теперь мне будет удобно обращаться с PCM, так как раньше вообще не знал как их подгружать.

Ну что же, ждем хороших хаков с голосом.

Поделиться сообщением


Ссылка на сообщение

Отличный гид, но я сделал все по твоему гайду и у меня вылезла вот такая ошибка:Sonic 1.asm(39880): Unexpected case option outside case statement. Что делать? На всякий случай. Пользовался S1Hacking Studio и Полноценным SC 0.9.

Поделиться сообщением


Ссылка на сообщение

Отличный гид, но я сделал все по твоему гайду и у меня вылезла вот такая ошибка:Sonic 1.asm(39880): Unexpected case option outside case statement. Что делать? На всякий случай. Пользовался S1Hacking Studio и Полноценным SC 0.9.

Впервые вижу такую ошибку. Я тоже вставлял свой драйвер в S1HS2, только обычный.

Покажи мне эту строку номер 39880 в sonic1.asm, потому что из описания ошибки ничего не ясно.

Поделиться сообщением


Ссылка на сообщение

Впервые вижу такую ошибку. Я тоже вставлял свой драйвер в S1HS2, только обычный.

Покажи мне эту строку номер 39880 в sonic1.asm, потому что из описания ошибки ничего не ясно.

Незнаю, твой ДизАСМ не прав. Строка 39880 - это суброутина "Obj09_Move" строчка где ничего даже нет.

 


...move.w #0,d0
- строка 39880.
loc_1BA94:
...

Сейчас еще попробую на обычном ДизАСМ'е Соника 1.

Поделиться сообщением


Ссылка на сообщение

Ничего не вышло. Это не у меня проблемы с кодом - а у тебя. Если тебе не трудно, дай полалуйста линк с чистым дисасемблом где вставлен твой драйвер.

Поделиться сообщением


Ссылка на сообщение
Это не у меня проблемы с кодом - а у тебя.

Очевидно, раз я выложил этот драйвер публично, значит он рабочий. То же относится и к предложенному гиду по его установке. Гид был составлен на примере того, как я сам внедрял этот драйвер в Соник 1. Разве мог я составить гид, если не добился бы полноценной работы драйвера в игре? Разве мог я выложить драйвер, если он не работает? если с кодом проблемы?

 

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

 

Ivan YO, а теперь еще раз касаемо гида. Как я уже сказал, я писал его по образцу того, как внедрял свой драйвер. Вначале внедрял, работал над кодом, добивался полноценной работы, и по результатам всех своих действий написал гид. Тут действительно могла закрасться ошибка -- когда пишешь такой массивный пост, можно что-то, да упустить (хотя когда я закончил пост, я был уверен, что ничего не забыл -- действий по большому счету в гиде немного).

 

Однако, я решил еще раз проверить свой гид, так как ты заявляешь о его полной неработоспособности. Скомпилировалось с первого раза. Теперь я точно могу сказать - в гиде ошибок нет!

 

* * * *

 

Прилагаю дизасембл Соник 1 со вставленным "Mega PCM":

https://dl.dropbox.com/u/44757401/Sonic_1_with_MegaPCM.7z

Заодно, тем кто раздумывает, можно посмотреть как оно выглядит и работает ;) Кстати, сразу хотел предоставить дизасембл, но поленился. Спасибо, что напомнили.

 

Все точно по гиду из первого поста, добавления/изменения в SMPS (по второму пункту гида) я пометил, их можно найти, вбив в поиске ';++', код, который нужно удалить я просто закомментировал, чтобы было видно где он.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение

Очевидно, раз я выложил этот драйвер публично, значит он рабочий. То же относится и к предложенному гиду по его установке. Гид был составлен на примере того, как я сам внедрял этот драйвер в Соник 1. Разве мог я составить гид, если не добился бы полноценной работы драйвера в игре? Разве мог я выложить драйвер, если он не работает? если с кодом проблемы?

 

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

 

Ivan YO, а теперь еще раз касаемо гида. Как я уже сказал, я писал его по образцу того, как внедрял свой драйвер. Вначале внедрял, работал над кодом, добивался полноценной работы, и по результатам всех своих действий написал гид. Тут действительно могла закрасться ошибка -- когда пишешь такой массивный пост, можно что-то, да упустить (хотя когда я закончил пост, я был уверен, что ничего не забыл -- действий по большому счету в гиде немного).

 

Однако, я решил еще раз проверить свой гид, так как ты заявляешь о его полной неработоспособности. Скомпилировалось с первого раза. Теперь я точно могу сказать - в гиде ошибок нет!

 

* * * *

 

Прилагаю дизасембл Соник 1 со вставленным "Mega PCM":

https://dl.dropbox.c...with_MegaPCM.7z

Заодно, тем кто раздумывает, можно посмотреть как оно выглядит и работает ;) Кстати, сразу хотел предоставить дизасембл, но поленился. Спасибо, что напомнили.

 

Все точно по гиду из первого поста, добавления/изменения в SMPS (по второму пункту гида) я пометил, их можно найти, вбив в поиске ';++', код, который нужно удалить я просто закомментировал, чтобы было видно где он.

Все, спасибо огромное, щас испробую))))

Поделиться сообщением


Ссылка на сообщение

Значит, записав звук в формате wav, я могу вставить его в игру? А как можно заменить звук Сэй-Га (Say-Ga)?

Поделиться сообщением


Ссылка на сообщение

Ну написано же:

 

WAV-файл должны быть в формате "8-bit unsigned PCM". PCM звук может также быть представлен файлом с расширением 'RAW' (звуковой поток без заголовка)

 

GoldWave в помощь.

Поделиться сообщением


Ссылка на сообщение

Мне кажется, или я один вообще не понял, что это, и с чем его едят. Я понял лишь, что это очень полезная штука, и что это звуковой драйвер

Поделиться сообщением


Ссылка на сообщение

Почему? Я вставил эти нужные мне сэмплы (сэмпли я использовал уже. Они нормальные, нужного формата)

Но они в музыке не воспроизводятся.

Вот код:


; ---------------------------------------------------------------
; DAC Samples Table (Таблица DAC сэмплов)
; ---------------------------------------------------------------

DAC_Entry			 $06, Kick, dpcm ; $81 - Kick
DAC_Entry   		  $08, Snare, dpcm ; $82 - Snare
DAC_Entry   		  $1B, Timpani, dpcm ; $83 - Timpani
DAC_Entry			 $0A, V_Hurt, pcm+pri ; $84 - Звук БОЛИ
dc.l 0,0   				;$85 - Clap S3
DAC_Entry   		  $05, Tom, dpcm ; $86 - Mid Tom S3
dc.l 0,0   				;$87 - MidBongo S2
DAC_Entry   		  $12, Timpani, dpcm ; $88 - Hi-Timpani
DAC_Entry   		  $15, Timpani, dpcm ; $89 - Mid-Timpani
DAC_Entry   		  $1B, Timpani, dpcm ; $8A - Mid-Low-Timpani
DAC_Entry   		  $1D, Timpani, dpcm ; $8B - Low-Timpani
dc.l 0,0
dc.l 0,0
DAC_Entry   		  $08, Crash, dpcm ; $8F  - Kick Crash Сymbal S3
DAC_Entry   		  $1A, CSnare, dpcm ; $90  - Credits Snare S3
DAC_Entry   		  $1A, CNormKick, dpcm ; $91  - Credits Normal Kick S3
DAC_Entry   		  $18, CCrash, dpcm ; $92  - Credits Crash S3
DAC_Entry   		  $0E, CHey, dpcm ; $93  - Credits "Hey" Kick S3
dc.l 0,0
dc.l 0,0
dc.l 0,0
dc.l 0,0
dc.l 0,0
dc.l 0,0
DAC_Entry   		  $0F, GoSnare, dpcm ; $9A  - "Go" Snare S3
DAC_Entry   		  $10, Tom, dpcm ; $9B  - Low Mid Tom S3


MegaPCM_End:

; ---------------------------------------------------------------
; DAC Samples Files (Файлы DAC сэмплов)
; ---------------------------------------------------------------

IncludeDAC Kick, bin
IncludeDAC Snare, bin
IncludeDAC Timpani, bin
IncludeDAC V_Hurt,wav ;++
IncludeDAC Crash, bin
IncludeDAC CSnare, bin
IncludeDAC CNormKick, bin
IncludeDAC CHey, bin
IncludeDAC GoSnare, bin
IncludeDAC Tom, bin
IncludeDAC CCrash, bin
even

Может я что-то делал не так?

Изменено пользователем Ivan YO

Поделиться сообщением


Ссылка на сообщение

Ivan YO, в этом коде все верно, тем более если это компилируется. Макросы (DAC_Entry и IncludeDAC) в любом случае настроят файлы и таблицу без ошибок.

 

Это ты уже в своем хаке пытаешься делаешь? Если да, то два вопроса:

Не забыл заменить функцию SoundDriverLoad?

Не был ли до этого как-то модифицирован сам движок SMPS?

Поделиться сообщением


Ссылка на сообщение

Ivan YO, в этом коде все верно, тем более если это компилируется. Макросы (DAC_Entry и IncludeDAC) в любом случае настроят файлы и таблицу без ошибок.

 

Это ты уже в своем хаке пытаешься делаешь? Если да, то два вопроса:

Не забыл заменить функцию SoundDriverLoad?

Не был ли до этого как-то модифицирован сам движок SMPS?

1. Я (потом уже) сделал саунд тесты по $FF.

2. Я немного поэкспериментировав, сконвертил свои сэмплы в формат pcm. И все зароботало. Незнаю, но dpcm он не принимал.

3. Я все делал по инструкции.

Поделиться сообщением


Ссылка на сообщение

1. Я (потом уже) сделал саунд тесты по $FF.

2. Я немного поэкспериментировав, сконвертил свои сэмплы в формат pcm. И все зароботало. Незнаю, но dpcm он не принимал.

3. Я все делал по инструкции.

Интересно, почему не работал DPCM. Если не сложно, скинь мне в личку MegaPCM.asm и сэмплы (нерабочие DPCM и сконверченные PCM), хотелось бы их проверить и установить причину проблемы.

Поделиться сообщением


Ссылка на сообщение

Драйвер крутой! Только вот, можно как-нибудь программно увеличить громкость PCM?

Изменено пользователем KameKAgZZe

Поделиться сообщением


Ссылка на сообщение

Драйвер крутой! Только вот, можно как-нибудь программно увеличить громкость PCM?

Если не поправит меня Vladickomper, я на 90% думаю что нельзя никак через АСМ. Но можно ее увеличить в любом музыкальном редакторе. Я увеличивал громкость сэмплов через GoldWave.

Поделиться сообщением


Ссылка на сообщение

Почему? Я вставил эти нужные мне сэмплы (сэмпли я использовал уже. Они нормальные, нужного формата)

Но они в музыке не воспроизводятся.

Я немного поэкспериментировав, сконвертил свои сэмплы в формат pcm. И все зароботало. Незнаю, но dpcm он не принимал.

 

Вобщем, я основательно изучил файлы, которые ты мне скинул в личку и выявил, что было на самом деле. Пожалуй, отвечу здесь.

 

Честно говоря, твои объяснения меня немало запутали, и я ожидал нечто невообразимое. Как оказалось, под "сконвертил свои сэмплы в формат pcm" ты имел ввиду что просто сменил флажок dpcm на pcm в таблице, а под "в музыке не воспроизводятся" имелось "воспроизводятся, но звук битый". Только когда сам это увидел, все встало на места.

 

Объясняй по-нормальнее. Плиз?

 

Вобщем, все в порядке. А сэмплы действительно были не в том формате. Они были PCM, а ты хотел воспроизвести их как DPCM. Ну и естественно, звук был битый. И правильно ты сделал, что потом исправил в таблице формат. Когда сэмплы стали играть в правильном формате, все заработало. Так что, все в порядке, драйвер работает исправно.

 

Кстати, если кто хочет достать все оригинальные сэмплы из S3K и даже S2, их можно найти в SK-драйвере от flamewing'а: http://www.mediafire...hje7jbl3ux090ab

 

В этой таблице перечислены названия всех сэмплов S3K: http://info.sonicret...FSonic_3D_Blast

 

Вот еще хороший топик: http://forums.sonicr...showtopic=18619

(Правда должен предупредить, сэмплы в некоторых играх используют немного модифицированный формат DPCM, тогда звук будет искаженным)

 

Драйвер крутой! Только вот, можно как-нибудь программно увеличить громкость PCM?

 

Программно кстати можно. На будущее, если я задумаю выпустить новый Mega PCM, возможно, там будет функция изменения громкости.

 

Чтобы изменить громкость звука, нужно домножить выдаваемый PCM-сигнал на некий коэффициент:

a*k, где k - коэффициент, а - PCM-сигнал.

При k>1 звук станет громче.

При k<1 звук станет тише.

 

Придется модифицировать код драйвера. В случае с Z80 реализация такого алгоритма осложняется тем, что в процессоре банально отсутствуют команды умножения и деления, так что придется ограничиться командами побитового сдвига, реализующими умножение/деление на одну из степеней двойки (2, 4, 8, 16 и т.д.)

Другое препятствие -- стоит нагрузить код дополнительной логикой, сразу же падает скорость воспроизведения звука, т.е. увеличивается интервал между отправлением сигнала в DAC (напомню, что эта работа лежит на суровых плечах Z80, очень неудобно!)

 

Впрочем, я хочу реализовать эту идею и новом переиздании Mega PCM. Может быть. Если оно случится. Можно будет динамически управлять уровнем громкости.

 

 

 

Думаю, уровнем громкости тебе управлять не нужно, ты хочешь просто сделать погромче и оставить все как есть. В таком случае сделай как говорит Ivan YO ;)

Поделиться сообщением


Ссылка на сообщение
Программно кстати можно. На будущее, если я задумаю выпустить новый Mega PCM, возможно, там будет функция изменения громкости.

 

Чтобы изменить громкость звука, нужно домножить выдаваемый PCM-сигнал на некий коэффициент:

a*k, где k - коэффициент, а - PCM-сигнал.

При k>1 звук станет громче.

При k<1 звук станет тише.

 

Придется модифицировать код драйвера. В случае с Z80 реализация такого алгоритма осложняется тем, что в процессоре банально отсутствуют команды умножения и деления, так что придется ограничиться командами побитового сдвига, реализующими умножение/деление на одну из степеней двойки (2, 4, 8, 16 и т.д.)

Другое препятствие -- стоит нагрузить код дополнительной логикой, сразу же падает скорость воспроизведения звука, т.е. увеличивается интервал между отправлением сигнала в DAC (напомню, что эта работа лежит на суровых плечах Z80, очень неудобно!)

 

Впрочем, я хочу реализовать эту идею и новом переиздании Mega PCM. Может быть. Если оно случится. Можно будет динамически управлять уровнем громкости.

tumblr_lltzgnHi5F1qzib3wo1_400.jpgНУ ТОГДА... ФЛАГ ТЕ В РУКИ =) .

Вобщем, я основательно изучил файлы, которые ты мне скинул в личку и выявил, что было на самом деле. Пожалуй, отвечу здесь.

 

Честно говоря, твои объяснения меня немало запутали, и я ожидал нечто невообразимое. Как оказалось, под "сконвертил свои сэмплы в формат pcm" ты имел ввиду что просто сменил флажок dpcm на pcm в таблице, а под "в музыке не воспроизводятся" имелось "воспроизводятся, но звук битый". Только когда сам это увидел, все встало на места.

 

Объясняй по-нормальнее. Плиз?

"Сконвертил в pcm", это значит что я не просто поменял флажок, а засунул сэмпл в GoldWave, импортировав его как формат RAW, 8000 KHz8 bit и экспортировав уже в формате 8 bit Unsigned Mono pcm в ту же папку с тем же именем, а потом уже поменял флажок в драйвере. И кстати, сэмплы там были изначально формата dpcm. Я пробовал просто поменять флажок, но это ничего не дало. Там в архиве лежали сэмплы оригинальные и сконверченные в pcm.

Поделиться сообщением


Ссылка на сообщение

"Сконвертил в pcm", это значит что я не просто поменял флажок, а засунул сэмпл в GoldWave, импортировав его как формат RAW, 8000 KHz8 bit и экспортировав уже в формате 8 bit Unsigned Mono pcm в ту же папку с тем же именем, а потом уже поменял флажок в драйвере. И кстати, сэмплы там были изначально формата dpcm. Я пробовал просто поменять флажок, но это ничего не дало. Там в архиве лежали сэмплы оригинальные и сконверченные в pcm.

Еще до этого я взял оригинальные сэмплы S3K по первой ссылке, которую давал в прошлом посте. Все они заведомо в формате DPCM. Для проверки поставил их вместо тех же сэмплов формата PCM. Воспроизводилось как и должно.

Кстати, а архиве я оригинальные сэмплы не нашел. У тебя часть сэмплов, что в BIN-файлах записаны в формате PCM, а в MegaPCM.asm числятся как DPCM-сэмплы. Я думаю, ты просто перепутал форматы. Сейчас же все работает?

 

 

Если хочешь могу скинуть тебе твой измененный набор сэмплов, где С3-сэмплы в оригинальном DPCM-формате. Но это завтра, сегодня уже нет сил раздобыть и заменить некоторые сэмплы (для проверки я менял не все, а лишь часть из них).

Поделиться сообщением


Ссылка на сообщение

Для тех, кто не понял как конвертить PCM в DPCM (или наоборот) конвертером от Jman'а, который был выклан сюда Vladikcomper'ом:

 

(-d/-c) <input file> <num of bytes> <output file>

 

-c - PCM конвертировать в DPCM.

-d - DPCM конвертировать в PCM.

<input file> - путь к файлу, который Вы хотите конвертировать.

<num of bytes> - количество байтов в DEC (писать значение не в HEX!) в файле, который Вы собираетесь конвертировать.

<output file> - путь к файлу, на который Вам надо сохранить сконвертированный файл.

 

Все это прописывается в командной строке. И да, не забудьте ввести с самого начала в командной строке запуск самого конвертера (т.е. ввести путь к самому конвертеру, чтобы его запустить.).

 

Пример:

 

D:\S1HackingStudio_v20\S1SNDCOMP\s1sndcomp.exe -c D:\S1HackingStudio_v20\SourceCode\dac\V_Hurt.wav 12332 D:\S1HackingStudio_v20\SourceCode\dac\V_Hurt.bin

 

Тут показана конвертация голоса Соника в DPCM.

 

P.S.: можно сделать при помощи батника конвертацию автоматизированным, чтобы не прописывать каждый раз пути и размер. (Я, к сожалению, не знаю как сделать, чтобы батник автоматически распознавал размер и путь PCM файла, который был перетащен мышкой к нему.)

Поделиться сообщением


Ссылка на сообщение
Я, к сожалению, не знаю как сделать, чтобы батник автоматически распознавал размер и путь PCM файла, который был перетащен мышкой к нему

 

Одним батником тут не обойдешься.

Поделиться сообщением


Ссылка на сообщение

1. Как узнать правильную скорость воспроизведения сэмплов?

2. Sonic 1 "Mega PCM" позволяет воспроизводить сэмлы по их номерам. КАК сделать так, чтобы на Scap Brain 3 играла мелодия pcm? Я уже неделю над этим бьюсь.

Поделиться сообщением


Ссылка на сообщение

1. Как узнать правильную скорость воспроизведения сэмплов?

2. Sonic 1 "Mega PCM" позволяет воспроизводить сэмлы по их номерам. КАК сделать так, чтобы на Scap Brain 3 играла мелодия pcm? Я уже неделю над этим бьюсь.

1. Об этом Vladikcomer не подумал или забыл. Думаю, он сделает это в следующем релизе, чтобы можно было ставить стандартные скорости воспроизведения, типо 8000 hz, 16000 hz, 22050 hz, 32000 hz, и т.д. (на счет следующих, которые после последнего, не знаю, если только он еще глубже оптимизирует драйвер, чтобы играть сэмпл с такой скоростью)

2. С самого начала Level_GetBgm поставь:

cmpi.b #1,($FFFFFE10).w ; SBZ уровень?

beq.s Level_PlayBgm4 ; перейти, если да

 

Весь код Level_PlayBgm3 замени на:

bsr.w PlaySound

bra.s Level_PlayBgm5 ; обойти воспроизведение сэмпла уровня SBZ

; ===========================================================================

 

Level_PlayBgm4:

moveq #$FFFFFFE4,d0 ; остановить заранее звучание мелодии тайтл-скрина, чтобы не остановилось воспроизведение сэмпла

jsr PlaySound

move.b #2,($FFFFF62A).w; выполнить в VBlank роутину 2, чтобы выполнить UpdateSound, т.е. там и остановится мелодия

bsr.w DelayProgram ; запустить VBlank

moveq #$FFFFFF??,d0 ; ?? - номер твоего семпла

jsr PlaySample ; воспроизвести этот семпл

 

Level_PlayBgm5: move.b #$34,($FFFFD080).w ; загрузить объект тайтл-кард

 

Это только отдельно для SBZ.

 

P.S.: можно сделать так, чтобы можно было играть для всех уровней сэмплы. Но это уже нужно писать совсем другой код, и придется составить таблицу где будут записаны номера семплов для каждого уровня.

Изменено пользователем Алмаз
  • Лайк 2

Поделиться сообщением


Ссылка на сообщение

1. Об этом Vladikcomer не подумал или забыл. Думаю, он сделает это в следующем релизе, чтобы можно было ставить стандартные скорости воспроизведения, типо 8000 hz, 16000 hz, 22050 hz, 32000 hz, и т.д. (на счет следующих, которые после последнего, не знаю, если только он еще глубже оптимизирует драйвер, чтобы играть сэмпл с такой скоростью)

2. С самого начала Level_GetBgm поставь:

 

 

Весь код Level_PlayBgm3 замени на:

 

 

Это только отдельно для SBZ.

 

P.S.: можно сделать так, чтобы можно было играть для всех уровней сэмплы. Но это уже нужно писать совсем другой код, и придется составить таблицу где будут записаны номера семплов для каждого уровня.

Я вставил твой код, заработало на 3 - ем акте SBZ, а на остальных актах SBZ - illegular instruction. Что делать? Ну SBZ это-ж вроде еще LZ4?

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение

Я вставил твой код, заработало на 3 - ем акте SBZ, а на остальных актах SBZ - illegular instruction. Что делать? Ну SBZ это-ж вроде еще LZ4?

Ой, ошибся, поторопился.

Замени весь код в Level_GetBgm на:

tst.w ($FFFFFFF0).w

bmi.w loc_3946

moveq #0,d0

move.b ($FFFFFE10).w,d0

cmpi.b #5,($FFFFFE10).w ; is level SBZ?

bne.s @skip ; if not, branch

cmpi.b #2,($FFFFFE11).w ; is level FZ?

bne.s Level_PlayBgm4 ; if not, branch

bra.s Level_BgmNotLZ4 ; if yes, branch

@skip cmpi.w #$103,($FFFFFE10).w ; is level SBZ3?

beq.s Level_PlayBgm4 ; if yes, branch

  • Лайк 3

Поделиться сообщением


Ссылка на сообщение

Спасибо огромное. Все заработало. Только мне нужно было поставить pcm только на SB3 а не на весь SPZ, но я уже это поставил. + 2 балла тебе.

 

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

Поделиться сообщением


Ссылка на сообщение

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

 

Дело в SMPS. Как было написано в первом посте про флаги:

 

Если флаги панорамирования не заданы (panLR/L/R), "Mega PCM" не будет настраивать панорамирование, сохраняя настройки, сделанные SMPS.

 

"Настройки, сделанные SMPS". А если SMPS ничего не воспроизводит, то он панорамирование DAC он настраивать не будет, то есть после паузы аудио на самом деле будет играть, но оно останется заглушенным.

 

Исправить это просто: нужно сделать так, чтобы Mega PCM сам настраивал панорамирование. Для этого достаточно добавить panLR к флагам твоей DAC-песни.

 

Кстати, скоро я напишу свой гид про воспроизведение DAC-песен с Mega PCM, где постараюсь реализовать это наиболее удобным способом и без "костылей". Перед этим будет еще один важный гид "как улучшить качество воспроизведения сэмплов". Для песен это критично. Из-за того, как часто Соник 1 прeрывает Z80, качество звука заметно падает, появляются шумы. Зато если усовершенствовать SMPS и исправить процедуры VBlank'а, результат получится достойный.

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×