| Эмуляция > Эмуляторы портативных консолей |
| JPCSP - эмулятор PSP |
| << < (150/262) > >> |
| BlackDaemon:
Anonymous, гм, в исходниках я не рылся, да и знаю только Си, хреново Си++ и очень хреново вижуал Си++, многое позабывал, вспоминать надо. :) На оф. форуме с разрабами поговори, они точно подскажут. Добавлено позже: Посмотрел я дебаг лог, судя по этому эмуль где-то застопорился на семафоре...буду методом тыка искать ревизию на которой игру сломали --- Код: ---... 40500 [mix sound thread] DEBUG hle.sceAudio - pspChannelInfo.play: written 2048 bytes (pspChannelInfo[8](playing 18432 of 20480 ,Waiting 0, Ended false, OutputBlocking false, Reserved true)) 40500 [mix sound thread] DEBUG hle.sceCtrl - hleCtrlExecuteSampling 40500 [mix sound thread] DEBUG hle - Triggering Interrupt VBLANK(0x1E) 40500 [mix sound thread] DEBUG hle - Calling InterruptHandler 0x08A079C8(0x0000000F,0x00000000) 40500 [mix sound thread] DEBUG runtime - Start of Callback 0x8a079c8 40500 [mix sound thread] DEBUG runtime - End of Callback 0x8a079c8 40500 [mix sound thread] DEBUG hle - End of Interrupt 40500 [mix sound thread] DEBUG runtime - syncThread currentThread=mix sound thread, currentRuntimeThread=mix sound thread 40500 [mix sound thread] DEBUG runtime - syncEmulator immediately=false 40500 [mix sound thread] DEBUG hle.sceUmdUser - sceUmdGetDriveStat return:0x32 40500 [mix sound thread] DEBUG runtime - syncThread currentThread=mix sound thread, currentRuntimeThread=mix sound thread 40500 [mix sound thread] DEBUG runtime - syncEmulator immediately=false 40500 [mix sound thread] DEBUG hle - hleKernelWaitSema(id=0x70,signal=1,timeout=0x0) callbacks=false 40500 [mix sound thread] DEBUG hle - hleKernelWaitSema - 'SoundSema' fast check succeeded 40516 [mix sound thread] DEBUG runtime - syncThread currentThread=mix sound thread, currentRuntimeThread=mix sound thread 40516 [mix sound thread] DEBUG runtime - syncEmulator immediately=false 40516 [mix sound thread] DEBUG hle.sceSasCore - __sceSasCoreWithMix 08bc5680 08c3f4c0 00000061 00000061 40516 [mix sound thread] DEBUG runtime - syncThread currentThread=mix sound thread, currentRuntimeThread=mix sound thread 40516 [mix sound thread] DEBUG runtime - syncEmulator immediately=false 40516 [mix sound thread] DEBUG hle - sceKernelSignalSema id=0x70 name='SoundSema' signal=1 40516 [mix sound thread] DEBUG hle.sceCtrl - hleCtrlExecuteSampling 40516 [mix sound thread] DEBUG hle - Triggering Interrupt VBLANK(0x1E) 40516 [mix sound thread] DEBUG hle - Calling InterruptHandler 0x08A079C8(0x0000000F,0x00000000) 40516 [mix sound thread] DEBUG runtime - Start of Callback 0x8a079c8 40516 [mix sound thread] DEBUG runtime - End of Callback 0x8a079c8 40516 [mix sound thread] DEBUG hle - End of Interrupt 40516 [mix sound thread] DEBUG runtime - syncThread currentThread=mix sound thread, currentRuntimeThread=mix sound thread 40516 [mix sound thread] DEBUG runtime - syncEmulator immediately=false 40531 [mix sound thread] DEBUG hle.sceAudio - sceAudioSRCOutputBlocking[not blocking] pspChannelInfo[8](playing 20480 of 20480 ,Waiting 0, Ended true, OutputBlocking false, Reserved true) 40531 [mix sound thread] DEBUG hle.sceAudio - pspChannelInfo.play: written 2048 bytes (pspChannelInfo[8](playing 18432 of 20480 ,Waiting 0, Ended false, OutputBlocking false, Reserved true)) ... --- Конец кода --- --- Код: --------------------------------------------------------------- Thread ID - 0x00000005 Th Name - idle1 zr:0x00000000 at:0x00000000 v0:0x00000000 v1:0x00000000 a0:0x00000000 a1:0x00000000 a2:0x00000000 a3:0x00000000 t0:0x00000000 t1:0x00000000 t2:0x00000000 t3:0x00000000 t4:0x00000000 t5:0x00000000 t6:0x00000000 t7:0x00000000 s0:0x00000000 s1:0x00000000 s2:0x00000000 s3:0x00000000 s4:0x00000000 s5:0x00000000 s6:0x00000000 s7:0x00000000 t8:0x00000000 t9:0x00000000 k0:0x08803F00 k1:0x00000000 gp:0x08BB1D60 sp:0x08803E00 fp:0x00000000 ra:0x08000020 0x88000000: 0x24040000 - addiu $a0, $zr, 0 <=> li $a0, 0 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thread Name: 'idle0' ID: 0x0004 Module ID: 0x0000 Thread Status: 0x00000002 PSP_THREAD_READY Thread Attr: 0x00001000 Current Priority: 0x7F Initial Priority: 0x7F Thread Entry: 0x88000000 Stack: 0x08800000 - 0x08802000 Stack Size: 0x00002000 Thread Run Clocks: 577149 Exit Code: 0x800201A4 Thread Wait Type: None Us: 0 Forever: false ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thread Name: 'mix sound thread' ID: 0x0072 Module ID: 0x0001 Thread Status: 0x00000008 PSP_THREAD_SUSPEND Thread Attr: 0x80004000 Current Priority: 0x10 Initial Priority: 0x10 Thread Entry: 0x08AABC24 Stack: 0x09FC7400 - 0x09FCF400 Stack Size: 0x00008000 Thread Run Clocks: 769351 Exit Code: 0x800201A4 Thread Wait Type: None Us: 0 Forever: false ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thread Name: 'idle1' ID: 0x0005 Module ID: 0x0000 Thread Status: 0x00000001 PSP_THREAD_RUNNING Thread Attr: 0x00001000 Current Priority: 0x7F Initial Priority: 0x7F Thread Entry: 0x88000000 Stack: 0x08802000 - 0x08804000 Stack Size: 0x00002000 Thread Run Clocks: 508859 Exit Code: 0x800201A4 Thread Wait Type: None Us: 0 Forever: false ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thread Name: 'UmdStreamThread' ID: 0x0043 Module ID: 0x0001 Thread Status: 0x00000004 PSP_THREAD_WAITING Thread Attr: 0x80004000 Current Priority: 0x20 Initial Priority: 0x20 Thread Entry: 0x08938E78 Stack: 0x09FCF400 - 0x09FD7400 Stack Size: 0x00008000 Thread Run Clocks: 192851 Exit Code: 0x800201A4 Thread Wait Type: EventFlag (0x0041) Us: 0 Forever: true ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thread Name: 'threadmain' ID: 0x000C Module ID: 0x0001 Thread Status: 0x00000004 PSP_THREAD_WAITING Thread Attr: 0x80004000 Current Priority: 0x38 Initial Priority: 0x38 Thread Entry: 0x08936880 Stack: 0x09FD7400 - 0x09FF7400 Stack Size: 0x00020000 Thread Run Clocks: 489549886 Exit Code: 0x800201A4 Thread Wait Type: None (delay) Us: 1000 Forever: false ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Thread Name: 'SysManager' ID: 0x000E Module ID: 0x0001 Thread Status: 0x00000004 PSP_THREAD_WAITING Thread Attr: 0x80004000 Current Priority: 0x6F Initial Priority: 0x6F Thread Entry: 0x08B3ACBC Stack: 0x09FFF000 - 0x0A000000 Stack Size: 0x00001000 Thread Run Clocks: 8690 Exit Code: 0x800201A4 Thread Wait Type: None (delay) Us: 10000 Forever: false ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Allocated memory: 017EAA9C 25078428 bytes [XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX] Fragmented memory: 00023000 143360 bytes [ X] ------------------------------------------------------------ --- Конец кода --- |
| Anonymous:
BlackDaemon, аналогично, впрочем С уже тоже порядком подзабыл :). Надеюсь gid сможет разобрать продукт кунг-фу с гуглотранслятом. >>Посмотрел я дебаг лог, судя по этому эмуль где-то застопорился на семафоре...буду методом тыка искать ревизию на которой игру сломали Хм... LCS никогда дальше intro не уходила. |
| Vivi the Black Mage:
BlackDaemon, можешь проверить на играбельность N+? И с какими настройками надо. |
| BlackDaemon:
Anonymous, это тогда что? :lol: minimog, попробую скачать, возможно сегодня вечером. з.ы. блин, следы поломки уходят куда-то ниже 1575 (!) ревизии, увы...придется просто лог выложить. |
| Anonymous:
BlackDaemon, а это Vice City Stories :) |
| BlackDaemon:
minimog, проверил - к сожалению ничего хорошего...сраная защитка сработала - говорит что диска в UMD приводе нет и просит его вставить. Добавлено позже: Anonymous, oops, перепутал, Liberty City не работает. :) Тем не менее узнал что Vice City сломано. :lol: |
| evgeny1:
Anonymous, я прочитал твою надпись но так и не понял как ставить разрешение 1600 на 1200 и как звук привести в нормальный формат... сильно заумным языком пишешь итак начнем --- Цитата: Anonymous от 30 Август 2010, 13:26:39 ---для хайреза юзаю кустомный билд эмуля (основан на билде со старым videoengine r1694, но с последующими апдейтами звука и рекомпилятора). --- Конец цитаты --- вот здесь вообще ничего не понятно что ты используешь далее как вообще декодировать звук через Sound Forge, в каком формате он хранится в игре, как и чем его выдрать из игры, что такое loop's? |
| Pain:
--- Цитата: EdHell от 28 Август 2010, 09:51:58 ---Playable вообще означает, что полностью проходима ВСЯ игра, если частично, то это всего лишь ингейм. --- Конец цитаты --- Если частично, то Half-Playable. |
| ~Scorpion-:
В Soul Calibur действительно такая некрасивая графика, как недавно показывали здесь в ролике, или на самой консоли намного лучше? Что-то цвета не очень, мягко говоря... Хотя, с другой стороны, у железки всего 1мб видеопамяти, на этом сильно не разгуляешься... |
| sanyaprog:
--- Цитата: GTScorpion от 30 Август 2010, 18:43:30 ---В Soul Calibur действительно такая некрасивая графика, как недавно показывали здесь в ролике, или на самой консоли намного лучше? Что-то цвета не очень, мягко говоря... Хотя, с другой стороны, у железки всего 1мб видеопамяти, на этом сильно не разгуляешься... --- Конец цитаты --- Шейдеры и вертексный кэш отключен просто. Эмулятор их не обрабатывает. С вертексным кэшем черный экран, а с шейдерами виснет. Ну и некоторые спрайты эмулятор не понимает (непрозрачные). Добавлено позже: Ну а видео память консолям особо не важна, там все по-другому устроено, уже давно разжевано))) Добавлено позже: Вот скрин с шейдерами, правда игра вылетает прямо перед показом игроков. Добавлено позже: Как видишь спрайты на фонариках непрозрачные. |
| ~Scorpion-:
sanyaprog, Ну вроде получше чуть-чуть выглядит на скрине, хотя всё равно, чёт не то <_< Подождём... ведь когда-нибудь пофиксят же ;) Всё-таки интересная для разрабов (и не только) консоль... |
| sanyaprog:
--- Цитата: GTScorpion от 30 Август 2010, 22:48:02 ---sanyaprog, Ну вроде получше чуть-чуть выглядит на скрине, хотя всё равно, чёт не то <_< --- Конец цитаты --- Сглаживания нет) А так круче SC2 выглядит)) Добавлено позже: Хотя бы глянь какие крутые и детализированные текстуры)) Да и полигончиков хватает. ^_^ |
| ~Scorpion-:
--- Цитата: sanyaprog от 30 Август 2010, 22:50:50 ---....... Хотя бы глянь какие крутые и детализированные текстуры)) Да и полигончиков хватает. ^_^ --- Конец цитаты --- До уровня PS2 всё равно далеко... ;) Помню, когда только консоль вышла, знакомый купил и хвалился что графа на ней как на PS2. А когда я сам посмотрел (многим позже), то оказалось всё по-другому... Смотрел, кстати, сравнение графики в GOW, угадай, кто выиграл? З.Ы. Но, всё же, я думаю, со временем на этом эмуляторе появится возможность сделать графику лучше, чем на консоли, это вполне реально ;) |
| BlackDaemon:
sanyaprog, отпишусь немного по поводу тестов на твоем портале... God of War: Chains of Olympus - требуется аргумент "-Xss10m" для увеличения стека чтобы эмуль не падал в начале игры. (релиз God_of_War_Chains_of_Olympus_USA_PSP-PSN) Dante's Inferno - чтобы попасть в ингейм нужен лишь один аргумент "-Xmx768m". (релиз Dantes_Inferno_USA_UMD_PSP-PLAYME) Никаких опций совместимости включать не нужно. |
| Anonymous:
--- Цитата: evgeny1 от 30 Август 2010, 17:55:50 ---Anonymous,вот здесь вообще ничего не понятно что ты используешь далее как вообще декодировать звук через Sound Forge, в каком формате он хранится в игре, как и чем его выдрать из игры, что такое loop's? --- Конец цитаты --- Окей: в ревизии r1695 помимо добавления полезных ништяков, была выпилена возможность отказаться от использования Viewport, и старый трюк с разворотом окна эмулятора во весь экран перестал работать окончательно. Несколько ревизий спустя, прозошло весьма радикальное изменение структуры videoengine, и чтобы не лишаться возможности играть в нормальном разрешении, пришлось вручную добавлять из основной ветки эмулятора особо вкусные ништяки. Впринципе можно было остаться на изначальной r1694, но в последующх ревизиях правились ошибки эмуляции звука и процессора, так что я перенёс некоторые апдейты себе. Что касается звука: лежит он в *.wav, и вся озвучка может быть выдернута из изошки любой граббилкой игровых ресурсов (я использую стырый добрый Dragon unpacker)... только вот сами звуковые данные в *.wav лежат вовсе не в PCM формате, а в Atrac3 либо Atrac3+. Так уж получилось, что опенсорс декодеров atrac3+ не существует, и эмуль может выдать голоса\музыку только, если подхватит из вне уже декодированные файлы. Для этого нужно решить 2 задачи: собственно декодировать звук, и заставить эмуль его подцепить. Обе эти задачи решаются через задницу :D Начну со второй: По умолчанию, при каждой попытки игры проиграть звук, эмуль высчитывает уникальное имя ему, на основе положения файла внутри изошки и его размера. Если стоит опция "Use jpcsp connector" то этот нерасшифрованый звук сбрасывается на диск в виде файла с тем самым именем. Дальше по идее ты его можешь декодировать в обычную вавку(вообще-то raw pcm), и если в следуюий раз эмуль наткнётся на этот звук в игре, и найдёт декодированный файл уникальное_имя.at3.decoded - ты его и услышишь. Сам понимаешь, попахивает мазохизмом: чтобы играть полностью со звуком, нужно сначала вдоль и поперёк излазить игрушку в тишине. А вот если выдернуть всю озвучку из изошки, декодировать, и автоматически переименовать... Пришлось подправить исходники эмуля (чтобы он выдавал имена в нужном виде) и написать утилитку. Задача решена, правда под каждую конкретную игру нужно немного править исходники эмуля, но меня это устраивает. Теперь декодирование: Глобальным и надёжным официально признаётся декодирование на железной psp... только вот тут 2 проблемы. Нужна большая флэшка и туева хуча времени (за сутки работы psp, было декодировано порядка 30% звука второй дисгайи)... Второй метод - использование кодека от Sony Sonic Stage + небольшой утилиты (на офф форуме всё разжевано)... только вот Sonic Stage - программа для кодирования\декодирования музыки, специально для Соневских плееров. А так-как it's a Sony, то какой-то светлой голове там пришла в голову мысль "моно ненужен". Сказано - сделано, и сабжевый кодек физически не может декодировать монофонический звук. А это фактически вся озвучка окромя музыки... Осталась последняя из доступных реализаций кодека Atrac3+ - собственно плагин импорта у Sound Forge... но и тут it's a Sony. Пережевывает он только собственный формат *.oma, а wav с at3 звуком не жрёт принципиально. Конвертеров нет. Внятных спецификаций *.oma также нет. Однако волею случая, наткнулся на один интересный тред: http://forum.xentax.com/viewtopic.php?f=17&t=3917&start=0&st=0&sk=t&sd=a. Там лежит и пустой oma хидер, и quickBMS скрипт, который довольно успешно привёл почти весь звук в читабельный Sound Forge'м формат. Звук есть, голоса говорят и музыка играет... правда недолго. Эмулятор не зацикливает музыку (loop) и очень скоро саундтрек заканчивается. Решение проблемы в лоб: так-как звук в виде RAW PCM, то можно тупо скопировать тем же Far'ом файл в конец уже существующего файла, и оно будет играть уже в 2 раза дольше. Повторив для музыки эту процедуру несколько раз, получились саундтреки длиной порядка часа (длительности хватает всегда) и общим обьёмом порядка 20 гигов. |
| BlackDaemon:
minimog, r1751 - n+ ушла в ингейм, походу Playable. |
| sanyaprog:
BlackDaemon, этого нет по умолчанию в эмуляторе, поэтому изменять на такое не буду (когда-то ведь исправят), просто запутаю пользователей (половина которых нубы и не справятся с редактированием bat файла). Нужно придумать способ.... скорее всего нужный bat файл прикреплять придется (и то спросят куда его пихать). |
| Goingl:
А литл биг планет, на новых ревах кто то пробовал? :blush: sanyaprog,а куда его пихать? :D |
| BlackDaemon:
sanyaprog, эти настройки относятся к параметрам виртуальной машины, и править их придется в любом случае, эмулятор - лишь поедатель ресурсов этой виртуальной машины. Как вариант - можешь отдельно выложить ссылку на ревизию JPCSP с этим батником. :D |
| sanyaprog:
--- Цитата: BlackDaemon от 31 Август 2010, 01:12:16 ---sanyaprog, эти настройки относятся к параметрам виртуальной машины, и править их придется в любом случае, эмулятор - лишь поедатель ресурсов этой виртуальной машины. Как вариант - можешь отдельно выложить ссылку на ревизию JPCSP с этим батником. :D --- Конец цитаты --- Может и придется, но вполне возможно эти функции добавят в сам эмулятор в настройки. Или они действуют только перед запуском? Добавлено позже: --- Цитата: Goingl от 31 Август 2010, 01:02:53 ---А литл биг планет, на новых ревах кто то пробовал? :blush: --- Конец цитаты --- Не работает как обычно)) |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |