[Вопрос] Портирование FuSa_SD под 6.60
ErikPshat, прочитал тему и загорелся наконец-то желанием попробовать переписать плагин FuSa_SD под 6.60. Сам с программирование под PSP не знаком, но имею опыт "офисного" программирования на VBA И C#. Но как я понимаю принцип портирования сводится в общем случае к следующему:
-декриптовка prx на самой PSP -дисассембл через prxtools -правка кода (обновление команд старой прошивки новыми) -сборка нового prx Или я что-то пропустил? Еще интересует вопрос, есть ли критичные особенности в написании кода плагина при ориентации на PSPgo? |
GreeDi,
после дизасма ты получишь не исходный код, а псевдо-код. Который нельзя скомпилировать и который будет отдалённо похож на оригинальный. Так что плагин ты будешь писать практически с ноля. |
Yoti,
Очень жаль((( А я уж было понадеялся, что чудеса случаются. Придется разбираться самому, что да как работает) |
Цитата:
Нужно попросить исходники у автора http://foosa.do.am/load/1-1-0-29 |
Цитата:
|
Цитата:
Исходный код самому писать нет нужды, достаточно подать питание в верхнюю конечность. |
Цитата:
В итоге: 1. Декриптовал FuSa.prx на своей консоли. 2. Выдернул ниды с помощью PRXTools получил код 3. Как по инструкции "Удаляем все лишние строки со статическими функциями, т.е. у которых нет в названии функции суффикса с 4-значным НИДом". Итого остались: 0xADF12745 [0x00000180] - syslib_ADF12745 0x159AF5CC [0x000026E8] - SystemCtrlForKernel_159AF5CC 0x737486F2 [0x000026F0] - scePower_driver_737486F2 0x5B5AEFAD [0x00002700] - sceDisplay_driver_5B5AEFAD 0x3A622550 [0x00002708] - sceCtrl_driver_3A622550 0xD8779AC6 [0x00002710] - LoadCoreForKernel_D8779AC6 0x237DBD4F [0x000027C0] - SysMemForKernel_237DBD4F 0xB6D61D02 [0x000027C8] - SysMemForKernel_B6D61D02 0x9D9A5BA1 [0x000027D0] - SysMemForKernel_9D9A5BA1 0x3FC9AE6A [0x000027D8] - SysMemForKernel_3FC9AE6A 4. Начал сопоставлять ниды с libdoc'ами 5.00 и обнаружил, что начиная 5.00 по 6.60 все до единого совпадают. Быть может я не правильно дизасил эти прошивки? Скачивал их с этого сайта и подсовывал батнику "24. DISASM2HTML", который выдавал файл "24_DISASM_XDRSMW". В нем и смотрел. Предполагаю, что не сделал описанное в этой теме и дизас у меня вышел - непонятно что... Направьте на путь истинный, плиз! |
GreeDi, ты всё сделал правильно, с 1-го по 3-ий пункт включительно. Видимо с подачей питания проблем нет ;)
Но вот в 4-ом пункте мне не совсем верится, что ниды от 5.00 по 6.60 все сходятся. Либдоки последние есть на 5.00. Я так понял, что ты их правильно скачал из этой темы: https://www.pspx.ru/forum/showthread.php?t=104558 (последняя вкладка "PRX Libraries Documentation"
|
Цитата:
GreeDi добавил 31.07.2014 в 16:05 Перелапатил уже все либдоки и нашел всего одно полное совпадение в прошивке 3.52 по модулю sceDisplay_driver_5B5AEFAD. Выглядело так: код 3.52 Остальные так и не нашлись. Совпадают только хеши иногда, например хеш от scePower_driver_737486F2 можно найти в 5.00, но название функции там другое: код 5.00 Я немного в замешательстве. Чтобы понять из какой прошивки нид - нужно найти полностью совпадающую функцию или достаточно чтобы 4-битный хеш совпадал? |
Цитата:
|
Цитата:
|
GreeDi, нужно, чтобы точно совпадало название функции с хешем и искомое. Особо не опирайся на либдоки от 5.00, возможно в базе не все функции забиты. Ты сам должен отдизасмить соответствующие файлы прошивки 5.00 на полный комплект нмдов. Затем искать в них соответствия.
Возможно ниды использовались совсем даже не от 5.00, поэтому нужно лопатить другие прошивки, до достижения цели. Декриптованные PRX от всех прошивок лежат здесь: https://www.pspx.ru/forum/showthread.php?t=64180 FUSA SD вроде предназначался только для Слим моделей. |
LaKosta, спасибо! Буду лопатить) А то что фуса для слимок предназначался может стать проблемой при запуске на PSP go?
Я вроде слышал, что планировался автором ещё FUSA_HD, но он видимо дальше бета-теста не ушел. Или есть какая инфа по этому вопросу? GreeDi добавил 01.08.2014 в 18:45 Перелапатил все прошивки с 5.00 до 6.60 методом дизаса декриптованных prx'ов из прошивок. Ни в одной не нашел sceDisplay_driver_5B5AEFAD (все функции нет времени проверять). Смотрел как в 25_DISASM_ALL, так и отдельно в prx'ах display.prx. Похожие есть, но совпадения только этого уровня "sceDisplay_driver_5_____". |
GreeDi, начинай проверять с 3.71, 3.90, 4.01.
|
LaKosta, с 3.71 по 4.01 пока мимо(((
|
GreeDi, думаю ты что-то не так или не то искал в 5-ой прошивке, воспользуйся этим для поиска нужного в папке со всеми либдоками в подпапках: http://rsload.net/soft/cleaner-disk/...ce-studio.html
|
Вложений: 5
Цитата:
GreeDi,
Цитата:
http://foosa.do.am/.s/t/971/13.gif FuSa SD v1.0.50b :: NO MORE SLOW MOTION MOVIE :) [ Download from this server (107.6Kb) ] Код:
0xADF12745 [0x00000180] - syslib_ADF12745 === C:/pspsdk/doc/pspsdk/silverspring.lan.st/syslib.html = module_reboot_phase === Ещё примеры |
Портирование НИДов: Код:
0xADF12745 [0x00000180] - syslib_ADF12745 === не изменяемая системная библиотека. |
Ежели кто соберёт под 6.60 - потестю на 40" =)
И компонентный и композитный кабели у меня есть, второй только где-то в завалах, наверное. |
Вложений: 1
Цитата:
В архиве 3 файла: из сообщения выше "Портирования нидов" есть 2 пункта под вопросом и один пункт о прекращении экспорта функции LoadCoreForKernel_D8779AC6. Вот эти 3 вопросительных функции в коде: Код:
0x737486F2 [0x000026F0] - scePower_driver_737486F2 => в 6.60 не изменился (0xEBD177D6 ???) Поэтому я портировал 3 вида плагина:
Тема по плагину: FuSa SD - играем на TV с любым кабелем |
ErikPshat, первые 2 просто повесили запуск игры. То бишь PSP висла на последнем кадре геймбута. 3й так не делает, но что-то и менюшка не вызывается...
Само собой остальные плагины отключены. PSP-300X. Прошивка 6.60 LME-2.2 Кабель работает нормально. Компонентный. |
Вложений: 1
Подтверждаю, проверял на 6.60МЕ композитный кабель. Кроме того до этого побродив по интернетам нашел вариант плагина который немного кривит картинку но по крайней мере не подвешивает ПСП, хоть и позиционируется как тот же который был выпущен автором последним, не знаю просто котрую именно вы обсуждаете модификацию.
|
Я читал старую тему, но так и не понял. Как форсировать вывод на кабель заранее включения псп? (у меня одна без экрана, но рабочая)
т.е. что там надо прописать в ini, txt файл или куда чтобы всегда выводил на кабель в XMB, GAME и POPS? (компонентный) |
Код:
=> в 6.60 не изменился (0xEBD177D6 ???) По их версии почему-то эти ниды изменились. Нужно было делать проверку на прошивке PRO/PROMOD. А вообще, по моим данным, их менять не следовало. Нужно бы проверить всё заново... Цитата:
Цитата:
|
ErikPshat, проверил все версии. Как и ожидалось на Psp go никакой реакции((( Как будто бы и нет плагина. Версия проши 6.60 PRO-B.
|
Ну а кто-нибудь проверил ниды? Всё ли правильно в 6.60 или там какая-то ошибка в цифрах?
Русскоязычный сайт: http://foosa.my1.ru Список совместимости: http://foosa.my1.ru/publ/1-1-0-3 Ах да, нужно попробовать запустить плагин на 5.00M33-6 и сдампить ELF из памяти. Возможно проявятся скрытые импорты. |
Вложений: 1
Первые 3 пробы a,b,c провалились. Ещё пару проб d,e
Жду результатов... P.S. У меня только фатка, поэтому сам проверить не могу. |
d - виснет на геймбуте
e - 0 эмоций |
Цитата:
0xD8779AC6 [0x00002710] - LoadCoreForKernel_D8779AC6 => кликабельно sceKernelIcacheClearAll not exported any more Только не знаю, чем подменить этот экспорт. |
ErikPshat,
вот три однотипных функции: Код:
void sceKernelDcacheWBinvAll (void) |
Цитата:
Код:
sceKernelIcacheInvalidateAll(); |
видимо робота над плагином подвисла
mak_n70 добавил 08.03.2016 в 00:20 _FuSa_SD_1.0.48b работает на 6.60 но не во всех играх |
Цитата:
N1D G3N3R@T0R говорит, что sceCtrlPeekBufferPositive - это sceCtrl_driver_3A622550 |
Цитата:
|
Так и не портатировали плагин?
|
Глушняк... :cray:
|
MAN-biker, ну почему глушняк. Просто в тот раз упёрлись в отсутствие функции в прошивке. Были какие-то неопределённые подборы функций.
Позже Yoti подтвердил, что вроде правильно, нужно использовать функцию sceKernelIcacheInvalidateAll. Но было уже поздно, когда все наработки были удалены и забыты. А сейчас предлагаешь всё вспоминать и добить этот плагин? По-моему это уже никому не нужно. |
Цитата:
К сожалению, я в данном вопросе полный дуб и начинать разбираться только ради этого "нИАсилю". Тем не менее, до сих пор пользуюсь PSP-шкой в полном объёме, так же как и GBA-SP с флеш-картриджем, несмотря на имеющуюся Виту, к примеру. Эти консоли мертвы, но именно по-этому (библиотека фактически полна в том объёме что есть) они теперь вечны. Альтернативы пока практически нет (хотя Свитч делает потуги), но по энергонезависимости GBA и PSP - вне конкуренции. При этом, они дают все что нужно (лично мне) от мобильного гейминга. |
MAN-biker, балин, можно было конечно попробовать добить это дело. Просто заново всё вспоминать, в чём был затык, снова всё проверять, переписывать ниды - это как бы уже очень лениво. Хотя спортивный интерес конечно преобладает.
Ладно, если тебе это будет интересно, то уже опосля Нового года, если что, ты мне напомни начёт этого как-нибудь, если я вдруг про это сам не вспомню. |
Цитата:
|
Текущее время: 19:27. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.