1
Ромхакинг и программирование / [Стрим] Реверсим Snow Bros на сегу
« : 07 Апрель 2021, 14:25:44 »
Будут ли еще стримы по PS1? Туториалы какие-нибудь по реверсу? Очень интересна данная тема, надеюсь не только мне.
В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.
что-то не сходится, у вас не хватает 1 байтаФайл взят напрямую из семплов gsKit, это не мой файл. И только он работал нормально из тех шрифтов что там были.
Я могу написать скрипт позжеЕсли не затруднит, буду очень благодарен Вам.
у вас может быть свой конвертерМне проще будет заголовок присобачить, чем пересобирать чужой конвертер или свой писать. Не разбираюсь увы в конвертировании звука как таковой.
у некоторых игр нет стандартных заголовков, а отдельная таблица со смещениями, размерами и частотами дискретизации (например, [PS2] RE4 файл title.snd).В таком случае мы сами формируем vag заголовок из полученных данных? К примеру есть архив, в начале указано к-во звуков и его размер, дальше идут друг за другом инфо о звуках - 4 байта (частота семплирования и тд), после них идут друг за другом через сигнальную последовательность байт данные звука (пусть будет последовательность 10 байт нулей).
Немного отредактировал своё сообщение, чтобы было чуть понятнее. Интересно как PSound распознаёт Sony PSX ADPCM, и почему он не нашёл все, для этого придётся формат разбирать.С Vigilante 8 тоже есть местами такая фигня. В архиве объявлено 8 звуков, а программа только 5 читает.
Использовал USA версию.Спасибо за интересные мысли. Это помогло мне некоторые вещи понять которые не мог понять раньше, когда читал только сухую документацию.
Голоса в DATA/SOUND, в стандартном формате .XA.
Звуки в DATA/WAD.WAD хранятся как стандартный Sony PSX ADPCM он же VAG. Формат там, вероятно, как в Mortal Kombat Shaolin Monks и распаковывается с помощью QuickBMS (скрипт: Mksm Ewdf . Mortal Kombat Shaolin Monks EWDF (script 0.1.6) . ewdf . deflate . EWDF . wad . PWF . deflate_compress . crc). Только куча файлов нам мало что даёт.
Ленивые могли бы использовать PSound (есть в наборе Psx Hack Tools, нужно выбрать совместимость с XP), который автоматически сканирует, но, за исключением 24 файлов, он будет использовать стандартную частоту дискретизации, а подбирать на слух для 635 файлов утомительно.
24 файла имеют магическое число VAGp, поэтому их легко найти, остальные имеют такой же заголовок, но с нулями, кроме частоты дискретизации и размера, поэтому пришлось искать по байтам частоты + нули. Я предполагаю, что это стандартный VAG, там размер заголовка 0x30 и остальная часть равна размеру в заголовке (смещение 0x10: 4 байта Big-Endian). Я добавлял VAGp в начало для распознания. Проблем в том, что там используются не только стандартные частоты дискретизации, поэтому искал конец файлов, так как часто они идут подряд, чтобы узнать используемые частоты. Я мог пропустить мало используемые частоты, тогда придётся разбирать формат .WAD полностью. Кстати, Sony PSX ADPCM имеет похожую структуру, в данных каждые 16 байт равны нулю, а в конце обычно много семёрок, здесь для многих это 07 00 77 77 77 77 77 77 77 77 77 77 77 77 77 77, но могут быть 07 07 07 ... .
Короче
Я написал скрипт, который извлекает .vag файлы и конвертирует. PSound нашёл 659, у меня 668, вроде все воспроизводятся и ложных файлов не было.
1. Установить Python 3, последнюю версию для Windows 8+, а 3.8.7 для Windows 7.
2. Для конвертирования можно использовать ffmpeg, но лучше думаю vgmstream. Поэтому скачать test.zip. Рядом с файлом WAD.WAD создать папку vgmstream, в которую положить файлы из test.zip.
3. Скачать мой скрипт extract_vag.py и положить его рядом с WAD.WAD. Запустить.
Если всё правильно, в WAD_unpack будет 1 336 файлов, .vag.wav - WAV и .vag. Если не найден vgmstream, то 668 файлов .vag. В корне WAD_unpack 24 файла, которые были с заголовком VAGp, остальные в папках разложены по частотам: 11025, 22050 и т. п.
Привет всем,Новый проект от маэстро это всегда приятно, спасибо тебе за труды.
Хочу официально объявить, что отладчику снесовских ромов для IDA - быть (мне наконец-то удалось завести отладку)! Проект трудный, приходится воротить множество костылей:) Но должно получиться годно.
Основываюсь на ныне заброшенном автором эмуляторе Mesen-S.
Когда точно будет релиз сказать пока сложно (хочу успеть до НГ), поэтому выложу когда будет готов.
Вот пока небольшая затравка:)
(Ссылка на вложение)
Кто хочет внести какие-то предложения, или о чём-то спросить - милости прошу.
что-то такая проблема возникла, аж интересно стало... вот krocki выкладывает тут Hex-читы для PS1. Я меняю данные в образе по этим адресам и в игры появляется бессмертие. но сегодня обратил внимание, что программы считают этот образ "битым". CDmage сообщает об ошибках. Alcohol 120% заявляет о битых секторах и предлагает удалить образ. в ePSXe может появиться сообщение "Error reading CD: 0,7,0" и зависнуть на каком-нибудь загрузочном экране.Есть еще такая вещь, но не знаю насколько она полезнее hex кодов будет
если в CDmage запустить "Восстановить образ", то читы пропадут, а игра снова грузится.
И какая температура для простоя, тогда нормальная?В пределах 40-50 с некоторой погрешностью, в зависимости от условий.
Всем привет!Ку
Показывает такие результаты: 126-130 по фаренгейту (55-60 C) в простое.Есть повод задуматься что сделано не так, ибо разнится температура с той что должна быть. В игре пиковая температура какая? Если пересекает порог 70 градусов, это как бы уже тревожный звоночек (если планируешь ему долгую и счастливую жизнь).
Мне кажется эти значения должны быть пониже без нагрузки или это ок? Очень много разной инфы на этот счет.Нет, это не совсем ок. Хотя может это и из-за термопасты, ибо с завода там идет что-то наподобие термоклея (привет экран PS2 которых хрен снимешь без прогрева).