Цитата:
Можешь сам сравнить папки от 6.60 и от 6.61 с помощью Araxis Merge Professional. Слева наверху в меню выбираешь сравнение папками и указываешь в окнах на папки. Делаешь сравнение и сразу прога покажет какие файлы различаются и в каком месте. Цитата:
Цитата:
Цитата:
|
Цитата:
пользуюсь и с Notepad и с emeditor но emeditor как то больше нравится :) а как насчет в строках где написано if fw = 500 их тоже надо менять на 600/661? |
В посте syspatch.c подсвечивается не текстовым редактором, а BB-кодом [CODE] на форуме :D
А в EmEditor или Notepad++ есть точно такая же подсветка синтаксиса, там в настройках выбирается тема и подсвечивается синтаксис в зависимости от формата файла и расширения. Почитай про установку Тем в EmEditor, скачай Theme.Pack.zip и установи по инструкции. Цитата:
Ниже добавляешь точно такой же код, как выше и получается дополнительная поддержка 661:
|
ErikPshat, я думал это картинка:D
ладно лучше поменяю, все равно вряд ли сейчас кто то пользуется старыми прошами :) |
karenjan99, ОК, ты пеши если чо. Заведи себе текстовик или в сообщении на форуме, где записывай найденные NID-ы, например:
Цитата:
И потом, имей в виду, что НИД-ы не только в syspatch.c, а и в других файлах тоже нужно искать и проверять. Я нашёл ещё зеркало с исходниками: https://github.com/Saner2oo2/hostcor...aster/HostCore Обрати внимание на подобные комментарии к файлам и папкам: Код:
launcher add 4.01 iso/cso support, add wifi capability, disable savedata searc… |
запутался немного некоторые нид-ы трудно найти вот теперь остановился на этом строка 123 в syspatch находится она в файлах init и modulemgr
вот мои файлы http://rgho.st/7H9kKGPZZ, пока что нашел несколько нидов в my change мои изменеия то что нашел пока. передние цифры строка в syspatch.c потом уже найденные ниды от 6.61 и в каких файлах их надо искать вот нид с 123 строки не могу найти оно находится в файлах init modulemgr проверял оба файлов но там окружение у нидов разное и не понятно где найти его в остальных что нашел тоже 100% не уверен что это правильные но скорее всего правильные :) karenjan99 добавил 15.06.2016 в 19:47 500 661 Files 0x919215D7 -> 0xBE30CED0 -> ctrl.prx 0x6B247CCE -> 0x2BA616AF -> ctrl.prx 0x94A1C627 -> 0xD4B49C4B -> loadexec_01g.prx ; vshbridge 0x71F9FB1B -> 0x24114598 -> loadexec_01g.prx ; loadexec_02g.prx 0x2E96EDF8 -> 0xB57D0DEC -> impose.prx ; loadexec_01g.prx ; loadexec_02g.prx 0xB8E49712 -> xxxxxxxxxx -> init.prx ; modulemgr.prx 0xD8D2FD35 -> 0xFBB369FD -> display_01g.prx 0xFBDA7A1E -> 0xFE5884EF -> display_01g.prx ну вот вроде это всё в файле syspatch правда ту одну не смог найти но как я понимаю просто йзаменой нидов палги не заработает? ведь там есть строки if fw = 500 add offset 0xXXXXXXX их ведь тоже надо заменить чем то но как? |
karenjan99, ну да, тяжелый случай, там идёт перечисление нидов и все секции практически схожи.
Ну я посмотрел через хекс эти файлы modulemgr.prx и в той позиции сидит такой код 955D6CB2 (в хексе он записывается задом наперёд побайтово). Ну конечно код может сдвинуться, т.к. в 6.61 нидов добавилось. Тут нужно будет методом подбора действовать.
Цитата:
Цитата:
|
ErikPshat, ModuleMgrForKernel в init от 500 начинается с строки 2370 и заканчивается на 2522 сам B8E49712 в строке 2458
а в 661 ModuleMgrForKernel начинается с 2416 и зканчивается на 2616 (всего 26) а в 500 всего 20 ну а добавились они либо сверху либо снизу да? в 500 B8E49712 12-ый если посчитать сверху т.е в 661 оно должно находится в строке 2504 (76F0E956) а если снизу то 9ый и 661 должен быть в строке 2552 (955D6CB2) |
Допустим вот такой код...
Код:
unsigned int getFindDriverAddr( void ) Тут понятно, что это файл IOFileManager.prx. Тут есть известные смещения у разных прошивок FW_371, FW_380/FW_390, FW_401, FW_500/FW_550. Можешь отдизасмить этолт файл от разных прошивок и вбить в поиск адресацию соответственно 0x00002844, 0x00002808, 0x000027EC, 0x00002838. Ты увидишь, что этот адрес будет попадать в одно и то же место. |
Цитата:
|
Цитата:
Цитата:
|
ну ладно этот нид пускай пока останется найду все остальные что смогу то что не получилось запишу в файлик
karenjan99 добавил 15.06.2016 в 20:49 Цитата:
собираю палгин для псп НЕ ЗНАЯ что именно я делаю:D:lol: |
Цитата:
Главное не останавливаться, копать, анализировать и разбираться, тогда всё получится. |
Цитата:
else if ( fw_version == FW_500 || fw_version == FW_550 ) threadman_offset = 0x000121E0; вот например надо искать в файле threadman ну да открыл я его name="loc_00012190">loc_00012190:</a> ; Refs: <a href="#0x00012174">0x00012174</a> <a name="0x00012190"></a> addiu $s4, $s4, -0x20 ; 0x00012190: 0x2694FFE0 '...&' <a name="0x00012194"></a> li $t5, 0x10 ; 0x00012194: 0x240D0010 '...$' <a name="0x00012198"></a> lui $t4, 0x0 ; 0x00012198: 0x3C0C0000 '...<' <a name="0x0001219C"></a> move $a0, $s2 ; 0x0001219C: 0x02402021 '! @.' <a name="0x000121A0"></a> move $a1, $s4 ; 0x000121A0: 0x02802821 '!(..' <a name="0x000121A4"></a> jal <a href="#SysMemForKernel_940FCB99">SysMemForKernel_940FCB99</a> ; 0x000121A4: 0x0C005CE6 '.\..' <a name="0x000121A8"></a> sw $t5, 0x6D0($t4) ; 0x000121A8: 0xAD8D06D0 '....' <a name="0x000121AC"></a> bnez $v0, <a href="#loc_00012494">loc_00012494</a> ; 0x000121AC: 0x144000B9 '..@.' <a name="0x000121B0"></a> move $fp, $v0 ; 0x000121B0: 0x0040F021 '!.@.' <a name="0x000121B4"></a> lw $t6, 0x14($s0) ; 0x000121B4: 0x8E0E0014 '....' <a name="0x000121B8"></a> bltzl $t6, <a href="#loc_0001247C">loc_0001247C</a> ; 0x000121B8: 0x05C200B0 '....' <a name="0x000121BC"></a> lw $t8, 0xC($s4) ; 0x000121BC: 0x8E98000C '....' <a name="0x000121C0"></a> lw $fp, 0xC($s4) ; 0x000121C0: 0x8E9E000C '....' <a name="0x000121C4"></a> andi $t9, $fp, 0x3 ; 0x000121C4: 0x33D90003 '...3' <a name="0x000121C8"></a> bnez $t9, <a href="#loc_0001245C">loc_0001245C</a> ; 0x000121C8: 0x172000A4 '.. .' <a name="0x000121CC"></a> srl $a1, $s3, 22 ; 0x000121CC: 0x00132D82 '.-..' <a name="loc_000121D0">loc_000121D0:</a> ; Refs: <a href="#0x00012484">0x00012484</a> <a name="0x000121D0"></a> xori $a0, $a1, 0x1 ; 0x000121D0: 0x38A40001 '...8' <a name="0x000121D4"></a> lui $v0, 0x0 ; 0x000121D4: 0x3C020000 '...<' <a name="0x000121D8"></a> andi $a2, $a0, 0x1 ; 0x000121D8: 0x30860001 '...0' <a name="0x000121DC"></a> addiu $a1, $v0, 0x6F0 ; 0x000121DC: 0x244506F0 '..E$' <a name="0x000121E0"></a> move $a0, $s2 ; 0x000121E0: 0x02402021 '! @.' <a name="0x000121E4"></a> move $a3, $s5 ; 0x000121E4: 0x02A03821 '!8..' <a name="0x000121E8"></a> jal <a href="#SysMemForKernel_5630F321">SysMemForKernel_5630F321</a> ; 0x000121E8: 0x0C005CE2 '.\..' <a name="0x000121EC"></a> move $t0, $zr ; 0x000121EC: 0x00004021 '!@..' <a name="0x000121F0"></a> blez $v0, <a href="#loc_00012388">loc_00012388</a> ; 0x000121F0: 0x18400065 'e.@.' <a name="0x000121F4"></a> move $v1, $v0 ; 0x000121F4: 0x00401821 '!.@.' <a name="0x000121F8"></a> lw $a2, 0x14($s0) ; 0x000121F8: 0x8E060014 '....' <a name="0x000121FC"></a> bltz $a2, <a href="#loc_00012454">loc_00012454</a> ; 0x000121FC: 0x04C00095 '....' <a name="0x00012200"></a> sw $v0, 0x12C($s0) и как же его найти в threadman от 661:dash: голова уже болит:D отдохну немного:D:D:D |
Вложений: 5
Цитата:
Код:
unsigned int getFindDriverAddr( void ) Смотри скриншоты шестерёнкой... Открой все в браузере, потом щёлкай по очереди вкладки:
Есть ещё простой вариант, чтобы не копаться с PRXTool... Разархивируй прогу в корень любого диска или на рабочий стол CTFtool GUI v5 Beta 3 (в ней тоже есть PRXTool, только работает на лету)
|
этот я тоже нашел а вот другие чет не получается
например вот этот tSceModule * pMod = ( tSceModule * )sceKernelFindModuleByName( "sceThreadManager" ); //a0 = 4, change partition id to 4 if ( fw_version == FW_371 ) threadman_offset = 0x00010B30; else if ( fw_version == FW_380 || fw_version == FW_390 ) threadman_offset = 0x00010CB8; else if ( fw_version == FW_401 ) threadman_offset = 0x00012154; else if ( fw_version == FW_500 || fw_version == FW_550 ) threadman_offset = 0x000121E0; _sw( 0x34040004, pMod->text_addr + threadman_offset ); sceThreadManager что это за файл? threadman.prx? в нем то такой код есть 0x000121E0 и оно находится в таких строках <a name="loc_000121D0">loc_000121D0:</a> ; Refs: <a href="#0x00012484">0x00012484</a> <a name="0x000121D0"></a> xori $a0, $a1, 0x1 ; 0x000121D0: 0x38A40001 '...8' <a name="0x000121D4"></a> lui $v0, 0x0 ; 0x000121D4: 0x3C020000 '...<' <a name="0x000121D8"></a> andi $a2, $a0, 0x1 ; 0x000121D8: 0x30860001 '...0' <a name="0x000121DC"></a> addiu $a1, $v0, 0x6F0 ; 0x000121DC: 0x244506F0 '..E$' <a name="0x000121E0"></a> move $a0, $s2 ; 0x000121E0: 0x02402021 '! @.' <a name="0x000121E4"></a> move $a3, $s5 ; 0x000121E4: 0x02A03821 '!8..' <a name="0x000121E8"></a> jal <a href="#SysMemForKernel_5630F321">SysMemForKernel_5630F321</a> ; 0x000121E8: 0x0C005CE2 '.\..' <a name="0x000121EC"></a> move $t0, $zr ; 0x000121EC: 0x00004021 '!@..' <a name="0x000121F0"></a> blez $v0, <a href="#loc_00012388">loc_00012388</a> ; 0x000121F0: 0x18400065 'e.@.' <a name="0x000121F4"></a> move $v1, $v0 ; 0x000121F4: 0x00401821 '!.@.' <a name="0x000121F8"></a> lw $a2, 0x14($s0) ; 0x000121F8: 0x8E060014 '....' <a name="0x000121FC"></a> bltz $a2, <a href="#loc_00012454">loc_00012454</a> ; 0x000121FC: 0x04C00095 '....' <a name="0x00012200"></a> sw $v0, 0x12C($s0) ну это явно не то что мне нужно там же таких строк более 20000 это же невозможно найти в threadman от 661, другой файл с похожим названием не нашел karenjan99 добавил 15.06.2016 в 23:01 Цитата:
ну и открываются через пр. клик emedit проблем с этим нет :) |
Цитата:
а ну ладно теперь я понял, просто тогда я думал что обязательно надо искать типа в таком строке Subroutine sceAudio_driver_324BA73D - Address 0x00000578 - Aliases: sceAudioOutput а prx-ы лучше в текстовик перегоняю а то неразбериха html в редакторе:lol: |
karenjan99, а чо браузер тупит? Поставь Google Chrome, он вроде память не кушает много и быстро открывается.
С Оперы и Мазилы я спрыгнул давно, т.к. память у них утекает в бесконечность. Цитата:
А если уж так приспичило через PRXTool, тогда придётся по одному PRX таскать в папку. Юзай первый "17_DISASM_w.txt", там по-моему самый удобный код. В EmEditor в настройках для всех конфигураций выставь на вкладке "Вид" подсветку синтаксиса из темы (там есть выбор тем, они идут в комплекте по дефолту несколько штук) А я пойду спать, уже башка набекрень отваливается... |
ErikPshat, funday СЛУЧАЙНО :D в браузеры попал лень удалить:D
да ладно завтра разберусь:dash: я тоже пойду спасибо за помощ :) karenjan99 добавил 16.06.2016 в 14:03 sceNet_Service sceNetInterface_Service sceNet_Library что за prx-ы? что то не могу определится |
Цитата:
Код:
void wifiModulesPatch2() Если перевести //module renamed to sceNet_Service in 5.50 - получается //модуль sceNet_Service переименован в прошивке 5.50 А до этого он назывался sceNetInterface_Service в прошивках //for 3.71, 3.80, 3.90, 4.01, 5.00 Поэтому берём Replace Studio и ищем название sceNetInterface_Service в файлах *.XML в папке C:\pspsdk\doc\pspsdk\silverspring.lan.st Там записана коллекция NID-ов до прошивки 5.00. А так как название модуля изменилось в прошивке 5.50, значит в 6.61 оно тоже будет иметь новое название sceNet_Service и возможно даже название файла может измениться. Поэтому, берём Replace Studio и ищем это название sceNet_Service в файлах *.PRX прошивки 6.61. То есть, не забываем сменить "Маску файла" со *.xml на *.prx и указываем путь к папке с декриптованными файлами PRX прошивки 6.61. |
вообщем то получилось вот так вот
500 661 Files 0x3FC9AE6A -> 0x3FC9AE6A -> sysmem.prx 0x00002838 -> 0x00002A4C -> iofilemgr.prx 0x919215D7 -> 0xBE30CED0 -> ctrl.prx 0x6B247CCE -> 0x2BA616AF -> ctrl.prx 0x94A1C627 -> 0xD4B49C4B -> loadexec_01g.prx ; vshbridge 0x71F9FB1B -> 0x24114598 -> loadexec_01g.prx ; loadexec_02g.prx 0x2E96EDF8 -> 0xB57D0DEC -> impose.prx ; loadexec_01g.prx ; loadexec_02g.prx 0xB8E49712 -> xxxxxxxxxx -> init.prx ; modulemgr.prx 0x7C8A2B62 -> 0xC2A5E6CA -> modulemgr.prx ; init.prx не уверен 0xf8170fbe -> 0xf8170fbe -> clockgen.prx 0xD8D2FD35 -> 0xFBB369FD -> display_01g.prx 0xFBDA7A1E -> 0xFE5884EF -> display_01g.prx 0x00001304 -> 0x00001B94 -> sysmem.prx 0x00003AA8 -> 0x00004184 -> sysmem.prx 0x00001F3C -> 0x00002464 -> loadexec_01g.prx не уверен 0x000121E0 -> 0x00012F90 -> threadman.prx (661 23932 line) не уверен 0x00007C84 -> 0x00008398 -> modulemgr.prx 0x3C070001 -> 0x3C0A0001 -> ??? 0x34050004 -> xxxxxxxxxx -> ifhandle.prx??? 0x00001440 -> 0x00001780 -> ifhandle.prx (line 2015 661) не уверен 0x00002348 -> 0x000024E0 -> ifhandle.prx ((line 3119 661)??? не уверен) и есть в pspnet.prx в обеих и от 500 и от 661 не изменено 0x00002348 0x34020002 -> xxxxxxxxxx -> pspnet.prx нет оффсета } 0xAFA20000 -> xxxxxxxxxx -> pspnet.prx нет оффсета } 0x3C020000 -> xxxxxxxxxx -> pspnet.prx нет оффсета }Либо не тот файл 0x34074000 -> xxxxxxxxxx -> modulemgr.prx нет оффсета } 0x02403821 -> xxxxxxxxxx -> modulemgr.prx нет оффсета } 0x02402021 -> xxxxxxxxxx -> threadman.prx нет оффсета } я много в чем не уверен:D |
Вложений: 1
karenjan99, у меня вот что получилось:
Код:
syspatch.c Я не стал заменять исходные данные, а просто добавил поддержку 6.60/661 Номера строк соответствуют данным прошивки 5.00, а данные прошивки 6.60/6.61 дописаны ниже. Поэтому смотри мой файл из вложения, т.к. файл увеличился и номера строк соответствуют новым подвижкам. P.S. У тебя прогрессирует невнимательность, ты в каком-то месте взял данные от 5.50, а сравнивал файл от 5.00. Ну так потом можешь сам компилировать и проверять работу плагина, у тебя же установлен PSPSDK. Чтобы не сыпались ошибки, т.к. ты добавил новые прошивки 6.60 и 6.61, о которых компилятор ничего не знает, нужно объявить новые прошивки в исходниках. Для этого, открой файл utils.h, там увидишь обявление прошивок в таком виде: Код:
enum PspFwVersion Добавь туда FW_660 и FW_661, должно получиться вот так: Код:
enum PspFwVersion Потом, чтобы скомпилировать программу, в этой папке с исходниками (где лежит файл Makefile), производишь следующие действия:
|
Цитата:
а файл ты полностью правил? те с ним закончено или еще надо что то искать? как насчет вот этих? 0x34020002 0xAFA20000 0x3C020000 0x34074000 0x02403821 0x02402021 и еще этот 0x3C070001 их не нужно менять? |
Цитата:
Скомпилируй новый hostcore.prx и проверь, как он работает. Потом перейдём к проверке других файлов, там тоже явно есть что менять. Цитата:
|
скомпилил, не робит, вот http://rgho.st/7MJMkt5bd
когда нажимаю на нотку ниче не происходит исходник тот что ты ссылку кидал у меня 6.61 promod |
Цитата:
Я просто хотел проверить, как ты осилишь процесс компиляции :xD: Ну а раз получилось, значит ты уже почти профи :xDD: Да..., и почти все смещения ты сам правильно нашёл, если не учитывать, что ты ещё перестарался с теми, которые вообще не нужно трогать. Так что не всё так печально, главное ты уже кое-в-чём разбираешься. На самом деле ведь там ничего сложного нет. Насчёт кода программы: Код:
if ( fw_version == FW_371 ) Ты наверное заметил, что там постоянно сталкиваешься со словами if и else. Тут главное понимать, что это значит и уметь читать код.
Таким образом переводим этот код на русский язык: Код:
если ( версия прошивки равно FW_371 ) |
ErikPshat, ну ладно не ржи :D я думал что меню плагина должен открыватся уже :) :D
Цитата:
|
karenjan99, ах да, забыл добавить. Чтобы произвести полную компиляцию всей программы, нужно ввести команду "make release".
Результат получишь в новой создавшейся папке "release" или в появившемся архиве "HostCore_1.2.tar.gz". |
эт тоже менять?
setUmdFile = ( void * )findProc( "SystemControl", "SystemCtrlForKernel", 0xB64186D0 ); getUmdFile = ( void * )findProc( "SystemControl", "SystemCtrlForKernel", 0xAC56B90B ); setInitApitype = ( void * )findProc( "SystemControl", "SystemCtrlForKernel", 0x8d5be1f0 ); setInitFileName = ( void * )findProc( "SystemControl", "SystemCtrlForKernel", 0x128112c3 ) слушай ты не темни, этот плагин в конце концов заработает? :D |
karenjan99, да, там больше ловить нечего, вроде всё пучком должно быть. Нужно смотреть другие папки и компилить полностью программу.
В корне ms0:/ должна лежать новая папка ms0:/HostCore Цитата:
Можешь загуглить эти НИД-ы. |
|
Вложений: 1
karenjan99, ну у тебя ошибка перемещения.
Из папки extras копируется всё содержимое в папку release/HostCore. Потом файл readme.txt должен переместиться из папки release/HostCore в папку release, но этого не происходит. Может файла readme.txt нету в исходной папке extras и он не скопировался в папку release/HostCore, либо по каким-то причинам он не может переместиться из папки release/HostCore в папку release. Короче, вот готовая сборка: во вложении. Тестируй, отключи все другие плагины. |
не робит
|
karenjan99, ну так нужно на компьютере установить USB TYPE B, а затем включить USB Host и активировать плагин. В шапке usbhostfs.exe совсем, мне кажется, не рабочий.
Читай в этой теме 5. Установка драйвера хоста "USB Type B" или в этой: https://www.pspx.ru/forum/showthread.php?t=77900 Ещё можно почитать здесь: http://pspfaqs.ru/faqs/18-psphost.html |
я вообще то вай фай хотел использовать
psphost давно стоял а усб режим ругался On 64 bit, Installs to Windows\syswow64\libusb0.dll копировал туда теперь не ругается но все равно при подключении не просит установить драйвер да и если нажать на нотку меню и так должна появится а у меня не появляется |
karenjan99, ну тогда забей, поигрались и хватит :D
Я вообще не соображаю, что делать с этим хостом и зачем он сдался :) Вот RemoteJoy Lite нормально работает и понятно, почему и как она должна работать. А по этой инструкции я сомневаюсь, что вообще должно заработать. На компе эта программа вроде делает вид, что работает, но по-моему нифига она не работает. Проще откатиться на 5.00 М33-6 и пользоваться, ну хотя бы попытаться завести, а если заведётся, тогда и тестировать на 6.61. |
ErikPshat,3 дня тупо посидел из за этого плагина ну спасибо :D
хотя много нового узнал + куча софта которые упростили жизнь :lol: karenjan99 добавил 17.06.2016 в 23:32 p.s. не в теме но случаем в синтезаторах/циф пианино/миди клавиатур не разбираешься? ты же профи :D |
|
ErikPshat, жаль а я хотел спросить возможно ли самому научится играть на фо-пиано а то в гугле часть пишут возможно часть нет, а академики в форумах вообще НЕТ НЕВОЗМОЖНО :D чет в другую сторону я пошел тема совсем не подходящая :lol:
а как нибудь по другому есть возможность смотреть медиа на псп через вайфай? |
Текущее время: 01:23. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
PSPx Forum - Сообщество фанатов игровых консолей.