Как подписать игру для psp
Давайте условимся сразу: я следую паттерну «изучение обучением», т.е. учу, одновременно изучая, обгоняя читателей на 2-3 «шага» вперед. Однако это не значит, что я ничего не знаю и все, что говорю — обычные копипасты: я стараюсь разобраться в теме, прежде чем писать о ней. Поэтому смело задавайте вопросы, этим вы принесете пользу и себе, и мне: на вопросы, ответ на которые я не знаю, я буду его искать, осозновать и рассказывать вам.
Итак, в этом топике будет небольшой рассказ о том, как скомпилировать и запустить первую программу на своей приставке. Сразу предупреждение: статья мегатехнического плана, почти все содержание касается утомительной, но быстрой настройки компилятора, а в результате вы получите лишь банальный «Hello World». Однако без нее никак.
Будем предполагать как данность, что у вас есть приставка Sony PSP, перепрошитая до последней версии — 3.90 M33-3 (так называемая custom firmware, неофициальная прошивка). О том, как перепрошиваться, уже рассказывали многие, и останавливаться на этом я не буду. Так же будем считать, что в кирпич ваш вставлена флешка, на которой есть хотя бы 50кб свободного места, и вы имеете к ним доступ (например, через саму PSP).
Скажу сразу: я почти уверен, что ничего плохого с вашей приставкой не случится, если вы будете достаточно аккуратны, но никаких гарантий дать, к сожалению, не могу.
Используемый язык программирования — Си, я буду использовать бесплатную IDE Code::Blocks под Windows XP. Пользователи других компиляторов или ОС могут попробовать настроить IDE сами, благо, настройки у всех похожи; я же использовал то, для чего нашел мануал ;)
Для начала, скачаем набор компиляторов, линкеров и библиотек для PSP под названием DevKitPSP. Распакуйте его куда-нибудь, я его распаковал в корень диска E: (теперь у меня есть папка E:\devkitpsp\).
Теперь откройте Code::Blocks. В меню выберите Settings→Compiler and Debugger, как Selected Compiler в открывшемся окошке выберите GNU GCC (он должен стоять по умолчанию), скопируйте его, назвав, например, DevKitPSP, и настройте его:
Вкладка Search Directories→Compiler (удалите все, что там есть, и нажимайте Add для добавления каждого из путей):
E:\devkitPSP\include
E:\devkitPSP\psp\include
E:\devkitPSP\psp\sdk\include
E:\devkitPSP\lib
E:\devkitPSP\psp\lib
E:\devkitPSP\psp\sdk\lib
Вкладка Toolchain Executables:
Compiler's installation directory: E:\devkitPSP. Там есть примечание, что в этой папке должна быть подпапка bin, проверьте.
C-compiler: psp-gcc.exe
C++-compiler: psp-g++.exe
Linker for dynamic libs: psp-g++.exe
Linker for static libs: psp-ar.exe
Еще три поля я оставил пустыми.
Теперь можно жать OK, и переходить к созданию нового проекта (File→New→Project. слева в окошке жмем Projects и выбираем Empty). Заполняем Project Title (не играет роли, пусть будет PSPHelloWorld), не забываем поставить папку для сохранения проекта (я вон в первый раз забыл, и получил кучу глюков и ошибок); компилятор, разумеется, ставим свежесозданный нами.
Наш проект девственно пуст, создаем фаил (File→New→File. на название наплевать, я выбрал main.c) — не забудьте в мастере создания фаила выбрать как язык Си и поставить галочки «Add to current project», «Debug» и «Release» (почему они не стоят по умолчанию?).
В созданный фаил копируем код (ключ доступа — хабрахабр). Я бы сюда закинул, если бы не хабрапарсер. Код писал не я, кстати: опыта пока-что маловато, хотя я вполне понимаю, что там происходит и как — в любом случае, в этом топике я останавливаться на этом не буду.
Теперь последние штрихи к настройке. Мы уже настроили то, с помощью чего будем компилировать, но не настроили, как и что у нас должно выходить. Поэтому жмем правой кнопкой на название проекта справа, выбираем Properties, а там — Build targets. Снимаем галочку «Auto-generate filename extension», и правим в Output filename расширение «exe» на «elf». Выполняем тоже самое для конфигурации Release, жмем Ok.
Жмем правой кнопкой на название проекта опять, выбираем Build Options и, на вкладке Linker Options, вписываем в Other linker options:
-lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk -lpsplibc -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel
Повторяем для Release.
Вроде всё (надеюсь, это последняя статья скучного технического плана). Теперь собираем проект (Build→Build или знакомое всем Ctrl-F9) — если вдруг появились ошибки, то думаем, что же сделали не так, а потом спрашиваем в комментариях (может, я забыл чего).
Чтобы не настраивать потом заново, стоит сохранить проект как шаблон (File→Save Project as user-template. ).
Итак, у нас есть elf-фаил нашей программы. Перед тем, как закидывать его на PSP, надо преобразовать его в EBOOT.PBP (название придумал не я, честно). Для этого у меня стоит такой bat-ник:
«E:\devkitPSP\bin\mksfo.exe» %1/bin/Debug/%1 %1/bin/Debug/%1.sfo
«E:\devkitPSP\bin\psp-fixup-imports.exe» %1/bin/Debug/%1.elf
«E:\devkitPSP\bin\psp-strip.exe» %1/bin/Debug/%1.elf -o %1/bin/Debug/stripped.elf
«E:\devkitPSP\bin\pack-pbp.exe» %1/bin/Debug/EBOOT.PBP %1/bin/Debug/%1.sfo NULL NULL NULL NULL NULL %1/bin/Debug/stripped.elf NULL
Он располагается у меня в директории pspprj, в которой я создаю по папке для каждого проекта. Используется он так: make_eboot.bat HelloWorld. Если у вас другая организация папок, или вы просто хотите его переписать или запускать каждую программу вручную — просто запускайте по строчке, не забывая заменять %1 на названия или пути к фаилам. В результате у вас получится фаил EBOOT.PBP, его надо будет закинуть в папку /PSP/GAME150/HelloWorld (или другое название)/, а все остальное можно спокойно удалить. Теперь проверяйте (выход — по кнопке Home).
Как «домашнее задание» — сделайте так, чтобы все «хелловорлды» были с новой строки. До встречи!
Описание: События 3-й части серии происходят параллельно первой игре и аниме сериалу, соответственно и за два года, до событий 2-й части. Под управление игрока попадают бойцы "Безымянного" отряда, метного штрафного батальона, где к людям обращаются не по именам, но по номерам. Из самых серьезных изменений в игре, по сравнению с Valkyria Chronicles 2, стоит отметить возможность изменять класс всем бойцам, а не только протагонисту. То есть игрок сможет, при желании, сделать из любого персонажа Скаута, Пехотинца, Сапера, Инжинера или Гранатометчика (Копейщика), а потом развить до желаемых ответвлений этих классов. А после боя, все, принимавшие участие в сражении, бойцы получают очки опыта.
Жанр: Action
Разработчик: Ubisoft Montreal / Griptonite Games
Издетель: UBISOFT Entertainment
Прошивка: 5.00 M33/5.03 GEN-B и выше
Описание: И так, она наконец-то вышла. Самая долгожданная игра этого года - Assassin's Creed: Bloodlines.
Assassin’s Creed: Bloodlines – продолжение первой части, в которой объясняется сюжетная связь между ASSASSIN’S CREED и Assassin's Creed 2. В этой игре герой может перемещаться практически где угодно и залезать куда ему вздумается - игровой мир буквально просит, чтобы вы его тщательно исследовали. Полная свобода действий.Для вас нет препатствий. Множество приёмов и море крови! Вселенная знаменитой игры теперь в вашей PSP!
Название: Mortal Kombat: Unchained
Разработчик: Climax
Издатель: Midway
Дата выхода: 2006
Жанр: Fighting
Язык: ENG
Формат образа: ISO
Прошивка: All CFW
Размер архива: 918.77Mb
Название: Gun Showdown
Разработчик: NeverSoft
Издатель: Activision
Дата выхода: 2006
Жанр: Action
Язык: RUSSOUND [Видеоролики]
Формат образа: ISO
Прошивка: All CFW
Размер архива: 650.52Mb
Описание: Судьба забрала у Колтона Уайта все, чем он дорожил. С тех пор Уайт доверяет лишь своему оружию. Он должен сурово покарать подлецов, разрушивших его жизнь, и ты ему в этом поможешь. Познай алчность, страсть и жестокость Дикого Запада! Gun Showdown - кинематографичный блокбастер от компании Activision. В этом увлекательном action'е с ролевыми элементами, выполненном в лучших традициях киновестернов, тебя ждут захватывающие приключения на Диком Западе - погони, перестрелки и зубодробительные потасовки. Оседлав своего верного коня, ты сможешь вихрем промчаться по пыльным прериям Америки, выследить своих врагов и накормить их свинцом. Докажи, что ты - не робкого десятка, и задай жару всем бандитам Нового Света!
Жанр: 2D Platformer
Издатель: Konami
Разработчик: Konami
Язык: Английский
Тип издания: Full
Прошивка: 3.5x-M33-x
Тип образа: CSO
Описание:Вампиры существуют! Если не верите — отправляйтесь в Кастельванию,загадочные земли северной Европы, где с заходом солнца мир принимает пугающий облик. Жители запираются в домах и не выходят даже при свете дня, церкви превратились в руины, по которым бродят тела обескровленных священников, и даже птицы давно покинули проклятые места. Все замерло и покорилось наступающей Тьме. Но Дракуле и его слугам недолго осталось праздновать победу — на земли Кастельвании ступила нога величайшего охотника на вампиров! Castlevania: The Dracula X Chronicles не даст вам ни секунды на праздные прогулки! Кровавые битвы непрерывно сменяют одна другую, перелистывая десятки живописных сцен, как страницы книги. Поиски Аннет, возлюбленной героя, охота за легендарным хлыстом, убивающим вампиров, штурм замка Графа Дракулы и финальная встреча с самим королем вурдалаков — увлекательное путешествие во вселенную ночных кошмаров не даст вам заскучать! Главное — не забудьте прихватить с собой осиновый кол…
Читайте также: