ErikPshat
25.09.2009, 00:47
Сюда я хочу добавлять полезные ссылки на документацию к PSP, исходные коды и т.п.
Просто уже не помню, где, что записывал и делал заметки на будущее )).
Программирование для PSP
Необходимы всего две программы, портированные под Windows (их родная среда обитания - Linux) :
Dev-C++ (http://www.bloodshed.net/dev/index.html) - полнофункциональная IDE (интегрированная среда разработки) для C/C++ языков программирования. Работает в среде Windows 32x. Удобна для просмотра, редактирования, написания программ на С++. Имеет подсветку синтаксиса, разбиение и логический автоотступ кода.
Minimalist PSPSDK for Windows (http://sourceforge.net/projects/minpspw/) - порт под Win32 от BSD PSPSDK (ps2dev.org), со свободно распространяемыми библиотеками и файлами заголовков (DevPaks) для компиляции Homebrew приложений для Sony PSP. Устанавливать строго по умолчанию, путь C:\pspsdk ни на что не менять. Иначе потом во всех исходниках придётся править пути к pspsdk, а это лишние головные боли.
Литература для начинающих:
Руководство полного идиота
по программированию на языке Си (Андрей Богатырев) (http://lib.ru/CTOTOR/starterkit.txt)
Язык программирования Си (Константин Поляков) (http://kpolyakov.narod.ru/school/c.htm)
С++ за 21 день (Джесс Либерти) (http://narod.ru/disk/13531889000/С%2B%2B%20за%2021%20день%20(Джесс%20Либерти).zip.html) - рекомендуется к прочтению
Первые шаги (http://foosa.do.am/forum/12-43-1) от Andy_maN
Дополнительная литература по С++ (http://www.pspx.ru/forum/showthread.php?t=86934)
===========================================
yet another PlayStationPortable Documentation (http://hitmen.c02.at/files/yapspd/psp_doc/frames.html)
IPL Decrypt Sample (direct HW access) (http://my.malloc.us/silverspring/2007/10/ipl-decrypt-sample-direct-hw-access/)
Decrypting IPL (http://forums.ps2dev.org/viewtopic.php?t=3573)
pspsdk-1.0+beta2 (http://sceners.org/pspsdkdocs/)
Psp Browser API Project 2.0 (http://pspdev.ofcode.com/api2.0/index.php)
PSP Button codes (http://cwcheat.consoleworld.org/wiki/doku.php?id=english:code:button_codes)
SPIM - A MIPS32 Simulator (http://pages.cs.wisc.edu/~larus/spim.html)
PSP PRX Libraries Documentation Project (http://silverspring.lan.st/)
PSP Primal Tools I - NIDattack (http://sceners.org/blog/?itemid=11&catid=4)
PSP Primal Tools II - PSARdumper (http://sceners.org/blog/?itemid=17&catid=4)
PSP Primal Tools III - PRXdecrypter & PSPident (http://sceners.org/blog/?itemid=26&catid=4)
PSP Primal Tools IV - PRXtool (http://sceners.org/blog/?itemid=34&catid=4)
Документация PSX (http://psxdevru.sourceforge.net/ru/docs.htm)
PSP Репозиторий (http://svn.pspdev.org/)
Заголовок ~PSP (http://forums.ps2dev.org/viewtopic.php?p=57770#57770)
Prx Decryption NID’s (http://my.malloc.us/silverspring/2009/01/prx-decryption-nids/)
PSP Code Clips I - Makefiles (http://sceners.org/blog/?itemid=36&catid=4)
PSP Code Clips II - IdStorage (http://sceners.org/blog/?itemid=46&catid=4)
PSP Code Clips III - IdStorage II (http://sceners.org/blog/?itemid=62&catid=4)
PSP Code Clips IV - Hello, World! (http://sceners.org/blog/?itemid=69&catid=4)
PSP Code Clips V - IPL Facts (http://sceners.org/blog/?itemid=80&catid=4)
PSP Code Clips VI - PRX Sample (http://sceners.org/blog/?itemid=93&catid=4)
Free PSP Downloads (http://www.psp-hacks.com/psp-downloads.php)
Ubuntu 9.04 VMWare Image with PSPSDK (http://sceners.org/blog/?itemid=52&catid=4)
Номер | |
регистра | мнемоника | описание
r0 zr zero. Значение этого регистра всегда равно нулю
r1 at asm temp. Темповый регистр. Часто используется в указателях.
r2-r3 v0-v1 result values. Используются, как выходные значения функций.
r4-r7 a0-a3 argument values. Используются, как входные значения функций.
r8-r15 t0-t7 temp. Темповые регистры (для "мусора" промежуточных операций)
r16-r23 s0-s7 save. Сохраняются функциями в стеке, при их (функций) вызове.
r24-r25 t8-t9 temp. Еще одни темповые регистры, в дополнение к t0-t7.
r26-r27 k0-k1 kernel. Регистры, предназначенные для внутреннего использования ядром PSX-OS.
r28 gp global pointer. Глобальный указатель. Используется ядром.
r29 sp stack pointer. Указатель стека. Используется при сохранении регистров в стеке.
r30 fp frame pointer. Еще один указатель. Используется очень редко.
r31 ra return address. Содержит адрес возврата, после вызова функции.
По другому:
Название Номер Применение нужно ли резервировать?
$zero $0 всегда хранит 0 N/A
$at $1 временный регистр для языка ассемблера НЕТ
$v0—$v1 $2-$3 значения функций и выражений НЕТ
$a0—$a3 $4-$7 аргументы функций НЕТ
$t0—$t7 $8-$15 временные НЕТ
$s0—$s7 $16-$23 сохраненные временные значения ДА
$t8—$t9 $24-$25 временные НЕТ
$k0—$k1 $26-$27 зарезервирована для ядра ОС НЕТ
$gp $28 глобальный указатель ДА
$sp $29 указатель стека ДА
$fp $30 указатель фрейма ДА
$ra $31 возвращает адрес N/A
Интересный сайт про программирование (http://fipu.ucoz.ru/publ/2)
HexRays – декомпилятор нового поколения: превращаем любой бинарник в C-код (http://www.xakep.ru/post/42769/default.asp)
Повелители PlayStation Portable (http://www.xakep.ru/post/43191/default.asp)
Домашняя страничка FreePlay с интересными утилитами (http://freeplay.halfmoon.ws/pspdev/)
PSP Secrets (http://www.edepot.com/reviews_sony_psp.html)
Просто уже не помню, где, что записывал и делал заметки на будущее )).
Программирование для PSP
Необходимы всего две программы, портированные под Windows (их родная среда обитания - Linux) :
Dev-C++ (http://www.bloodshed.net/dev/index.html) - полнофункциональная IDE (интегрированная среда разработки) для C/C++ языков программирования. Работает в среде Windows 32x. Удобна для просмотра, редактирования, написания программ на С++. Имеет подсветку синтаксиса, разбиение и логический автоотступ кода.
Minimalist PSPSDK for Windows (http://sourceforge.net/projects/minpspw/) - порт под Win32 от BSD PSPSDK (ps2dev.org), со свободно распространяемыми библиотеками и файлами заголовков (DevPaks) для компиляции Homebrew приложений для Sony PSP. Устанавливать строго по умолчанию, путь C:\pspsdk ни на что не менять. Иначе потом во всех исходниках придётся править пути к pspsdk, а это лишние головные боли.
Литература для начинающих:
Руководство полного идиота
по программированию на языке Си (Андрей Богатырев) (http://lib.ru/CTOTOR/starterkit.txt)
Язык программирования Си (Константин Поляков) (http://kpolyakov.narod.ru/school/c.htm)
С++ за 21 день (Джесс Либерти) (http://narod.ru/disk/13531889000/С%2B%2B%20за%2021%20день%20(Джесс%20Либерти).zip.html) - рекомендуется к прочтению
Первые шаги (http://foosa.do.am/forum/12-43-1) от Andy_maN
Дополнительная литература по С++ (http://www.pspx.ru/forum/showthread.php?t=86934)
===========================================
yet another PlayStationPortable Documentation (http://hitmen.c02.at/files/yapspd/psp_doc/frames.html)
IPL Decrypt Sample (direct HW access) (http://my.malloc.us/silverspring/2007/10/ipl-decrypt-sample-direct-hw-access/)
Decrypting IPL (http://forums.ps2dev.org/viewtopic.php?t=3573)
pspsdk-1.0+beta2 (http://sceners.org/pspsdkdocs/)
Psp Browser API Project 2.0 (http://pspdev.ofcode.com/api2.0/index.php)
PSP Button codes (http://cwcheat.consoleworld.org/wiki/doku.php?id=english:code:button_codes)
SPIM - A MIPS32 Simulator (http://pages.cs.wisc.edu/~larus/spim.html)
PSP PRX Libraries Documentation Project (http://silverspring.lan.st/)
PSP Primal Tools I - NIDattack (http://sceners.org/blog/?itemid=11&catid=4)
PSP Primal Tools II - PSARdumper (http://sceners.org/blog/?itemid=17&catid=4)
PSP Primal Tools III - PRXdecrypter & PSPident (http://sceners.org/blog/?itemid=26&catid=4)
PSP Primal Tools IV - PRXtool (http://sceners.org/blog/?itemid=34&catid=4)
Документация PSX (http://psxdevru.sourceforge.net/ru/docs.htm)
PSP Репозиторий (http://svn.pspdev.org/)
Заголовок ~PSP (http://forums.ps2dev.org/viewtopic.php?p=57770#57770)
Prx Decryption NID’s (http://my.malloc.us/silverspring/2009/01/prx-decryption-nids/)
PSP Code Clips I - Makefiles (http://sceners.org/blog/?itemid=36&catid=4)
PSP Code Clips II - IdStorage (http://sceners.org/blog/?itemid=46&catid=4)
PSP Code Clips III - IdStorage II (http://sceners.org/blog/?itemid=62&catid=4)
PSP Code Clips IV - Hello, World! (http://sceners.org/blog/?itemid=69&catid=4)
PSP Code Clips V - IPL Facts (http://sceners.org/blog/?itemid=80&catid=4)
PSP Code Clips VI - PRX Sample (http://sceners.org/blog/?itemid=93&catid=4)
Free PSP Downloads (http://www.psp-hacks.com/psp-downloads.php)
Ubuntu 9.04 VMWare Image with PSPSDK (http://sceners.org/blog/?itemid=52&catid=4)
Номер | |
регистра | мнемоника | описание
r0 zr zero. Значение этого регистра всегда равно нулю
r1 at asm temp. Темповый регистр. Часто используется в указателях.
r2-r3 v0-v1 result values. Используются, как выходные значения функций.
r4-r7 a0-a3 argument values. Используются, как входные значения функций.
r8-r15 t0-t7 temp. Темповые регистры (для "мусора" промежуточных операций)
r16-r23 s0-s7 save. Сохраняются функциями в стеке, при их (функций) вызове.
r24-r25 t8-t9 temp. Еще одни темповые регистры, в дополнение к t0-t7.
r26-r27 k0-k1 kernel. Регистры, предназначенные для внутреннего использования ядром PSX-OS.
r28 gp global pointer. Глобальный указатель. Используется ядром.
r29 sp stack pointer. Указатель стека. Используется при сохранении регистров в стеке.
r30 fp frame pointer. Еще один указатель. Используется очень редко.
r31 ra return address. Содержит адрес возврата, после вызова функции.
По другому:
Название Номер Применение нужно ли резервировать?
$zero $0 всегда хранит 0 N/A
$at $1 временный регистр для языка ассемблера НЕТ
$v0—$v1 $2-$3 значения функций и выражений НЕТ
$a0—$a3 $4-$7 аргументы функций НЕТ
$t0—$t7 $8-$15 временные НЕТ
$s0—$s7 $16-$23 сохраненные временные значения ДА
$t8—$t9 $24-$25 временные НЕТ
$k0—$k1 $26-$27 зарезервирована для ядра ОС НЕТ
$gp $28 глобальный указатель ДА
$sp $29 указатель стека ДА
$fp $30 указатель фрейма ДА
$ra $31 возвращает адрес N/A
Интересный сайт про программирование (http://fipu.ucoz.ru/publ/2)
HexRays – декомпилятор нового поколения: превращаем любой бинарник в C-код (http://www.xakep.ru/post/42769/default.asp)
Повелители PlayStation Portable (http://www.xakep.ru/post/43191/default.asp)
Домашняя страничка FreePlay с интересными утилитами (http://freeplay.halfmoon.ws/pspdev/)
PSP Secrets (http://www.edepot.com/reviews_sony_psp.html)