Сообщение от BlackDaemon
[Гайд] Запускаем хомбрю на PS3 через эмулятор PSP (minis)
|
Честно говоря, такое название темы с такой инструкцией меня несколько смутило, потому что те, кто имеет представление о Homebrew для PSP, особенно кто имеет представление о компиляции программ для PSP, то просто покрутили бы пальцем у виска. Вот если бы ты назвал тему несколько по другому, тогда бы всё встало на свои места. Нужно переименовать тему так:
[Гайд] Запускаем старые хомбрю, написанные под ядро 1.00/1.50 на PS3 через эмулятор PSP (minis)
|
Я понял почему у меня все подписанные хомки, минисы, образы ISO на официальной прошивке работают, а у тебя постоянно что-то не так: выползают ошибки, чёрные экраны и отсутствие текста. Видимо мы друг друга не совсем понимаем. И мне вообще показались странными и загадочными твои вопросы в теме.
Сейчас объясню почему...
Я так понял, что у тебя нет PSP, но зато есть PS3
и ты просто заменяешь PSP эмулятором
JPCSP
А в этом эмуляторе лежат Homebrew, написаны уж очень давно, ещё под ядро 1.00/1.50, которые писались 6-7-8 лет назад. Такие Homebrew могут вообще не запускаться даже на PSP с CFW. Дело в том, что:
- Я провожу свои эксперименты на Homebrew 3.xx (3.03 - 6.60) - именно с тех пор Sony изменила способ компиляции программ, и способ их упаковки в EBOOT.PBP и запуска, а так же, внесла изменения в модули прошивки. Поэтому, теперь все "новые" программы Homebrew на прошивках 3.xx/4.xx/5.xx/6.xx работают по принципу, сформулированному для ядра 3.хх.
- А ты проводишь эксперименты на Homebrew 1.00/1.50 - поэтому у тебя не так запускается и не так подписывается. Например Homebrew под ядро 1.50 вообще состояли из двух папок и в каждой папке находился свой EBOOT.PBP, один из которых являлся обычным PRX в чистом виде, а второй содержал только PARAM.SFO и ресурсы.
Взять к примеру вот это твоё сообщение:
Сообщение от BlackDaemon
Такс, результаты первых тестов.
прошли fake_np:
- ProShell - запускается на оф. прошивке, но на PS3 текст не выводится (сначала подумал, что не работает, а вот оно что!)
- 2dstudio.prx - запускается на оф. прошивке, на пс3 текста нет
дошли до этапа с fake_np:
- lines.pbp - работает под кастомом, на оф. прошивке 0x80020148
- logic.pbp - см. выше
- skinning.pbp - см. выше
после подписывания ELF неработают:
PSPong 0.1.pbp - подписал и засунул в образ, при запуске на кастоме чёрный экран, приставка зависает.
basic.pbp (из SDK 2.0) - ведёт себя аналогично
dragon.pbp (из SDK 2.0) - ведёт себя аналогично
|
Все эти Homebrew написаны были очень давно под ядро 1.00/1.50 и используют функции тех старых прошивок, которые могут не работать на новых прошивках 3.xx-6.xx. Поначалу я не понял, откуда ты взял эти программы, т.к. я не пользуюсь JPCSP, потому что у меня есть живые PSP-1004 и PSP-3004
Когда мы тестировали "
Cube", я смотрел твою попытку подписать его и у тебя он не работал, вот твоя работа:
https://www.pspx.ru/forum/showpost.ph...3&postcount=22
Я посмотрел на PRX (ELF) и там прекрасно видна принадлежность к сырому виду ELF прошивок 1.xx. У таких ELF в самом начале отсутствуют смещения на секции, там один нули:
Это происходит потому, что при компиляции был создан только сырой ELF.
А при компиляции для прошивок 3.xx и выше, происходит так же создание сырого ELF, но потом из него происходит пересоздание в готовый PRX. У него в начале файла уже нету нулей и там всё забито смещениями на адреса секций.
Посмотри разницу:
Поэтому я сразу так и подумал, что ты не правильно откомпилировал исходники (хотя теперь понимаю, что ты брал готовые программы из JPCSP), поэтому я тебе написал, что нужно сделать:
Сообщение от ErikPshat
У кубика похоже статический, т.к. видно по ELF-файлу, что структура другая, там в начале нету секций релокации, а только одни нули. Такие статичные Эльфы действительно просто так после подписи не запустятся. - Чтобы этого избежать, то нужно при компиляции добавить в Makefile строчку: BUILD_PRX = 1
- И возможно понадобится это: PSP_FW_VERSION = 371 (иначе оно при компиляции показывает FW = 150), хотя думаю это не важно.
|
И я тебе скомпилировал по нормальному, подписал и он заработал у тебя.
Исходный код Cube лежит в PSPSDK по пути C:\pspsdk\psp\sdk\samples\gu\cube
Поэтому видимо ты воспринял это так, что нужно производить такое действие со всеми Homebrew, наверное.
На самом деле уже давным-давно, с 2007-го года, такие программы перестали писать и все перешли на ядро 3.xx, поэтому сейчас основная масса Homebrew уже и так скомпилирована с использованием
BUILD_PRX = 1 и в программах используются новые названия функций.
Кто имеет давно PSP, конечно про такие нюансы все знают, поэтому об этом никто и не пишет в инструкциях, все и так понимают, что для запуска старых программ необходимо иметь Kernel_Addon_1.5 или плагин LEDA.
Сейчас конечно остались с тех времён много старых программ и хороших эмуляторов, про которые все давно забыли. И если есть исходный код, то их можно перекомпилировать под 3.xx и вероятно ещё придётся исправлять старые функции на их новые аналоги.
Сорри, что так много написал не по теме. Просто старался объяснить ситуацию, чтобы было наиболее понятно.
А название темы исправь или инструкцию переделай, и на PS3Hax.net тоже исправь название темы, а то засмеют ведь
Да и людей вводишь в заблуждение. А ведь некоторые так и подумают, что для подписи Homebrew обязательно нужно найти исходники, скомпилировать заново с
BUILD_PRX = 1 и только после этого подписывать.
Кстати, почему бы тебе не производить эксперименты с нормальными Homebrew, которые сотнями лежат в инете и у нас в разделах:
Тут:
https://www.pspx.ru/forum/forumdisplay.php?f=295
И тут:
https://www.pspx.ru/forum/forumdisplay.php?f=69