Разработчик: Libre Год выпуска: 2011 Платформа: Windows & .NET Framework 3.0+ Прошивка: Кастом или любая Официальная Язык интерфейса: Русский Автор перевода: ErikPshat
Инструкция по использованию и описание программы в оригинальной теме.
Последний раз редактировалось ErikPshat; 04.03.2011 в 13:37.
Зачем нам эти данные, когда эти данные не Windows программы, а PSP программы
Сообщение от pspsaludo
Выдаёт сообщение о неперемещённой секции.
Скорее всего у вас в хоумбрю DATA.PSP не ELF, а уже подписанное ~PSP. Вы хотя бы извлеките из EBOOT.PBP файл DATA.PSP и посмотрите его через Хекс-редактор.
Читайте инструкцию, как написано в шапке:
Сообщение от ErikPshat
Инструкция по использованию и описание программы в оригинальной теме.
Смотрите там более свежие методы подписывания под 6.60 хотя бы. А этот метод давно устаревший, где используется ELF не более 8МБ.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram
Зачем нам эти данные, когда эти данные не Windows программы, а PSP программы
Скорее всего у вас в хоумбрю DATA.PSP не ELF, а уже подписанное ~PSP. Вы хотя бы извлеките из EBOOT.PBP файл DATA.PSP и посмотрите его через Хекс-редактор.
Читайте инструкцию, как написано в шапке:
Смотрите там более свежие методы подписывания под 6.60 хотя бы. А этот метод давно устаревший, где используется ELF не более 8МБ.
Я взял другой проект из PSP SDK: C:\devkitPSP\psp\sdk\samples\audio\polyphonic
и собрал его.
Он работает в эмуляторе.
Дальше я как и вы посоветовали - извлёк DATA.PSP и просмотрел оба файла в Хекс-редакторе. У того что *.PSP - с ELF-хедером. Попробовал его подписать: ошибка о неперемещаемых секциях не ушла. И не запускается на реальной PSP.
Но в то же время, скачанные демки из интернета отлично подписываются и работают на консоли.
У меня складывается впечатление, что криво собирается. Хотя make-файл использую из проекта.
Копать в кастомизацию make-файла. Удалось собрать и подписать проект. make-файл должен быть таким (пример):
TARGET = main
OBJS = main.o
INCDIR =
CFLAGS = -Os -G0 -Wall
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
#будет работать на 5.00 или 6.35.
PSP_FW_VERSION = 371
LIBDIR =
LDFLAGS =
LIBS = -lpspaudiolib -lpspaudio -lpsppower
BUILD_PRX=1
PSP_EBOOT_TITLE = Polyphonic sample by Shine
EXTRA_TARGETS = EBOOT.PBP
PSPSDK = $(shell psp-config --pspsdk-path)
include $(PSPSDK)/lib/build.mak
а не таким, как в SDK. Важные строчки:
PSP_FW_VERSION = 371
BUILD_PRX=1
Не знаю, почему они это не написали, может это очевидно, но для меня не так оказалось очевидно. Без этих строк EBOOT.EBP неправильно подписывается (выдаёт ошибку о неперемещаемых секциях) или при запуске на реальной консоли выдает ошибку 80020148 (неподдерживаемый тип PRX).
Вообще, удивительно, что пришлось по крупицам собирать инфу. Помог этот форум и make-файл из 660PRO-C2
Другие консоли: Все PSP, все PSV, SCPH-1002, SCPH-102, SCPH-77008, CECH-4208C, SCPH-1000R
Регистрация: 19.03.2008
Адрес: Россия
Сообщений: 5,734
Вы сказали Спасибо: 819
Поблагодарили 3,835 раз(а) в 2,013 сообщениях
Сила репутации: 1
Репутация: 3835 
(репутация неоспорима)
Сообщение от pspsaludo
Не знаю, почему они это не написали, может это очевидно, но для меня не так оказалось очевидно. Без этих строк EBOOT.EBP неправильно подписывается (выдаёт ошибку о неперемещаемых секциях) или при запуске на реальной консоли выдает ошибку 80020148 (неподдерживаемый тип PRX).
Потому, что SDK в состоянии извечной доработки. Мой проект, написанный на SDK от конца 2023, не собирается в SDK, скачанном меньше месяца назад. Пишите жалобы на GitHub и ищите помощи в Discord.
И да, строчка с указанием версии не должна быть нужна, насколько мне известно. Вот сжатие в PRX да. А в чём стоит задача вообще, зачем использовать эту древнюю софтину для псевдоподписи?
Верно, с этого и надо было начинать, чтобы до конца полноценный динамический ELF собрать, а не пытаться запускать недоделанный статичный ELF, где в начале код забит нулями.
Прошу любить и жаловать, Ваш Добро пожаловать в наш Чат в Telegram