Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

PKGi PSP: Difference between revisions

From GameBrew
No edit summary
No edit summary
Line 12: Line 12:
|source=https://github.com/bucanero/pkgi-psp
|source=https://github.com/bucanero/pkgi-psp
|donation=
|donation=
}}
{{#seo:
|title= (File Browsers) - GameBrew
|title_mode=append
|image=pkgipsp.png
|image_alt=PKGi PSP
}}
}}
PKGi PSP is a PlayStation Portable port of [https://github.com/bucanero/pkgi-ps3 pkgi-ps3]. This homebrew app allows to download and install .pkg files directly on your PSP.
PKGi PSP is a PlayStation Portable port of [https://github.com/bucanero/pkgi-ps3 pkgi-ps3]. This homebrew app allows to download and install .pkg files directly on your PSP.


==Features==
==Features==
* '''easy to use''': list available downloads, including searching, filtering, and sorting.
* Easy to use - List available downloads, including searching, filtering, and sorting.
* '''standalone''': no PC required, everything happens directly on the PSP.
* Standalone - No PC required, everything happens directly on the PSP.
* '''automatic downloads''': just choose an item, and it will be downloaded by the app to your Memory Stick (ms0:/PKG/).
* Automatic downloads - Just choose an item, and it will be downloaded by the app to your Memory Stick (ms0:/PKG/).
* '''resumes interrupted downloads''': you can stop a download at any time, switch applications, and come back to resume the download later.
* Resumes interrupted downloads - You can stop a download at any time, switch applications, and come back to resume the download later.
* '''localization support''': Finnish, French, German, Indonesian, Italian, Polish, Portuguese, Spanish, Turkish
* Localization support - Finnish, French, German, Indonesian, Italian, Polish, Portuguese, Spanish, Turkish.
===Notes:===
* Content activation - Downloaded content requires a valid license to run. If your PSP hasn't been activated, you can use one of the following plugins:
* '''content activation''': downloaded content requires a valid license to run. If your PSP hasn't been activated, you can use one of the following plugins:
** [https://github.com/lusid1/npdrm_free_mod npdrm_free_mod plugin (PSP/PS1 games only)]
** [https://github.com/lusid1/npdrm_free_mod npdrm_free_mod plugin (PSP/PS1 games only)]
** [[Npdrm free PSP|npdrm_free plugin (PSP/PS1 games and DLCs)]]
** [[Npdrm free PSP|npdrm_free plugin (PSP/PS1 games and DLCs)]]
Line 34: Line 27:


==Installation==
==Installation==
You need to create a [[#sample-db-file|<code>pkgi.txt</code>]] file in <code>ms0:/PSP/GAME/PKGI/</code> that contains the items available for installation. The text database format is user customizable. Check [[#User-Defined_DB_Format|this section]] to learn how to define your own custom DB format.
You need to create [[#Sample DB file|pkgi.txt]] file in ms0:/PSP/GAME/PKGI/ that contains the items available for installation.
 
The text database format is user customizable. Check [[#User-defined DB format|this section]] for creating your own custom DB format.


===Multiple Databases===
===Multiple Databases===
You can also load additional database files:
You can also load additional database files:


* <code>pkgi_games.txt</code>
* pkgi_games.txt
* <code>pkgi_dlcs.txt</code>
* pkgi_dlcs.txt
* <code>pkgi_themes.txt</code>
* pkgi_themes.txt
* <code>pkgi_avatars.txt</code>
* pkgi_psx.txt
* <code>pkgi_demos.txt</code>
* pkgi_demos.txt
* <code>pkgi_updates.txt</code>
* pkgi_updates.txt
* <code>pkgi_emulators.txt</code>
* pkgi_emulators.txt
* <code>pkgi_apps.txt</code>
* pkgi_apps.txt
* <code>pkgi_tools.txt</code>
* pkgi_tools.txt
 
Items on each of these files will be auto-categorized to the file content type.


Items on each of these files will be auto-categorized to the file content type. '''Note:''' The app assumes that every database file has the same format, as defined in <code>dbformat.txt</code>.
'''Note:''' The app assumes that every database file has the same format, as defined in dbformat.txt.


===Online DB Update===
===Online DB Update===
You can refresh and sync an online database by adding the DB URL(s) to the <code>config.txt</code> file in <code>ms0:/PSP/GAME/PKGI/</code>.
You can refresh and sync an online database by adding the DB URL(s) to the config.txt file in ms0:/PSP/GAME/PKGI/.


For example:
For example:
<div class="snippet-clipboard-content notranslate position-relative overflow-auto">


<pre>url http://www.mysite.com/mylist.csv
<pre>url http://www.mysite.com/mylist.csv
Line 62: Line 57:
url_emulators http://www.example.com/emulators.csv</pre>
url_emulators http://www.example.com/emulators.csv</pre>


Using this setup, <code>pkgi.txt</code> will be updated with <code>mylist.csv</code>, <code>pgi_demos.txt</code> with <code>otherlist.csv</code> , and <code>pkgi_emulators.txt</code> with <code>emulators.csv</code>.
Using this setup:
 
* pkgi.txt will be updated with mylist.csv,
Next time you open the app, you'll have an additional menu option '''TRIANGLE button''' called '''Refresh'''. When you select it, the local databases will be syncronized with the defined URLs.
* pgi_demos.txt with otherlist.csv ,
 
* and pkgi_emulators.txt with emulators.csv.
==Media==
'''PKGi PSP | How to install games DIRECTLY to PSP ( No PC required )''' ([https://www.youtube.com/watch?v=E4bfkp4OoCM Son of a Handheld]) <br>
<youtube width="640">E4bfkp4OoCM</youtube>
 
==Screenshots==
https://dlhb.gamebrew.org/psphomebrew/pkgipsp-02.png


https://dlhb.gamebrew.org/psphomebrew/pkgipsp-01.png
Next time you open the app, you'll have an additional menu option Triangle button called Refresh. When you select it, the local databases will be syncronized with the defined URLs.


== DB Formats ==
===DB formats===
The application needs a text database that contains the items available for installation, and it must follow the [[#Default_DB_Format|default format definition]], or have a [[#User-Defined_DB_Format|custom format definition]] file.
The application requires a text database that contains the items available for installation, and it must follow the [[#Sample DB file|default format definition]], or have [[#User-defined DB format|custom format definition]] file.


=== Default DB Format===
==== Default DB format ====
The default database file format uses a very simple CSV format where each line means one item in the list:
The default database file format uses a very simple CSV format where each line means one item in the list:


<pre>contentid,type,name,description,rap,url,size,checksum</pre>
<pre>
contentid,type,name,description,rap,url,size,checksum
</pre>


where:
where:
Line 91: Line 82:
|-
|-
| <code>contentid</code>
| <code>contentid</code>
| is the full content id of the item, for example: <code>UP0000-NPXX99999_00-0000112223333000</code>.
| is the full content id of the item, for example: <code>UP0000-NPXX99999_00-0000112223333000</code>.
|-
|-
| <code>type</code>
| <code>type</code>
| is a number for the item's content type. See the [[#Content_Types|table below]] for details. (set it to 0 if unknown)
| is a number for the item's content type. See the [[#Content types|table below]] for details. (set it to 0 if unknown)
|-
|-
| <code>name</code>
| <code>name</code>
Line 103: Line 94:
|-
|-
| <code>rap</code>
| <code>rap</code>
| the 16 hex bytes for a RAP file, if needed by the item (<code>.rap</code> files will be created on <code>/dev_hdd0/exdata</code>). Leave empty to skip the <code>.rap</code> file.
| the 16 hex bytes for a RAP file, if needed by the item (<code>.rap</code> files will be created on <code>ms0:/PKG/RAP</code>). Leave empty to skip the <code>.rap</code> file.
|-
|-
| <code>url</code>
| <code>url</code>
| is the HTTP/HTTPS/FTP/FTPS URL where to download the <code>.pkg</code> file.
| is the HTTP/HTTPS/FTP/FTPS URL where to download the <code>.pkg</code> file.
|-
|-
| <code>size</code>
| <code>size</code>
| is the size in bytes of the <code>.pkg</code> file, or 0 if unknown.
| is the size in bytes of the <code>.pkg</code> file, or 0 if unknown.
|-
|-
| <code>checksum</code>
| <code>checksum</code>
| is a SHA256 digest of the <code>.pkg</code> file (as 32 hex bytes) to make sure the file is not tampered with. Leave empty to skip the check.
| is a SHA256 digest of the <code>.pkg</code> file (as 32 hex bytes) to make sure the file is not tampered with. Leave empty to skip the check.
|}
|}


'''Note:''' <code>name</code> and <code>description</code> cannot contain newlines or commas.
'''Note:''' <code>name</code> and <code>description</code> cannot contain newlines or commas.


<span id="user-content-sample-db-file"></span>
==== Sample DB file ====
==== Sample DB File ====
An example pkgi.txt file following the contentid,type,name,description,rap,url,size,checksum format:
An example <code>pkgi.txt</code> file following the <code>contentid,type,name,description,rap,url,size,checksum</code> format:


<pre>EP0001-FILEMANAG_00-0000000000000000,8,FileManager v1.40,File Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/FileManager_v1.40.pkg,12171120,FAF680636B18AD0B70AA61F48A78C5E42D6972F795F1B82CC434BE3DDE60F00F
<pre>
EP0001-FILEMANAG_00-0000000000000000,8,FileManager v1.40,File Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/FileManager_v1.40.pkg,12171120,FAF680636B18AD0B70AA61F48A78C5E42D6972F795F1B82CC434BE3DDE60F00F
UP0001-IRISMAN00_00-VER4880000000000,8,IRISMAN 4.88.1,Backup Manager,,http://github.com/aldostools/IRISMAN/releases/download/4.88/IRISMAN_4.88.pkg,29411984,E6EF607F0002B31BFB148BE4FC9BDBACB4E53110751F0E667C701D40B5290570
UP0001-IRISMAN00_00-VER4880000000000,8,IRISMAN 4.88.1,Backup Manager,,http://github.com/aldostools/IRISMAN/releases/download/4.88/IRISMAN_4.88.pkg,29411984,E6EF607F0002B31BFB148BE4FC9BDBACB4E53110751F0E667C701D40B5290570
EP0001-MANAGUNZ0_00-0000000000000000,8,ManaGunZ v1.40,Backup Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/ManaGunZ_v1.40.pkg,17563040,CE0E4036903E881C08259FD69E777F6BC9CD24E823B471A7B15C88FDDBB2E330
EP0001-MANAGUNZ0_00-0000000000000000,8,ManaGunZ v1.40,Backup Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/ManaGunZ_v1.40.pkg,17563040,CE0E4036903E881C08259FD69E777F6BC9CD24E823B471A7B15C88FDDBB2E330
UP0001-PS3SFM001_00-0000000000000000,8,Simple file manager v0.5.2,File Manager,,http://github.com/lmirel/fm_psx/releases/download/v0.5.2/sfm_ps3.pkg,1098800,301F64CC94E9BC442FDAC9199BFB8153AC2430A5E47331C6CF8A25B7881648A6
UP0001-PS3SFM001_00-0000000000000000,8,Simple file manager v0.5.2,File Manager,,http://github.com/lmirel/fm_psx/releases/download/v0.5.2/sfm_ps3.pkg,1098800,301F64CC94E9BC442FDAC9199BFB8153AC2430A5E47331C6CF8A25B7881648A6
EP0001-UPDWEBMOD_00-0000000000000000,9,webMAN MOD v1.47.36,Backup Manager,,http://github.com/aldostools/webMAN-MOD/releases/download/1.47.36/webMAN_MOD_1.47.36_Installer.pkg,13580448,</pre>
EP0001-UPDWEBMOD_00-0000000000000000,9,webMAN MOD v1.47.36,Backup Manager,,http://github.com/aldostools/webMAN-MOD/releases/download/1.47.36/webMAN_MOD_1.47.36_Installer.pkg,13580448,
</pre>


==== Content Types ====
==== Content types ====
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 151: Line 143:
|-
|-
| 4
| 4
| Avatar
| PSX
| <code>pkgi_avatars.txt</code>
| <code>pkgi_psx.txt</code>
|-
|-
| 5
| 5
Line 175: Line 167:
|}
|}


<span id="user-content-user-defined-db-format"></span>
==== User-defined DB format ====
====User-Defined DB Format====
To use a custom database format, you need to create a dbformat.txt file, and save it on ms0:/PSP/GAME/PKGI/.
 
To use a custom database format, you need to create a <code>dbformat.txt</code> file, and save it on <code>ms0:/PSP/GAME/PKGI/</code>.


The <code>dbformat.txt</code> definition file is a 2-line text file:
The dbformat.txt definition file is a 2-line text file:


* Line 1: the custom delimiter character (e.g.: <code>;</code>, <code>,</code>, <code>|</code>, etc.)
* Line 1: the custom delimiter character (e.g.: <code>;</code>, <code>,</code>, <code>|</code>, etc.)
* Line 2: the column names for every column in the custom database, delimited by the proper delimiter defined in line 1
* Line 2: the column names for every column in the custom database, delimited by the proper delimiter defined in line 1


'''Note:''' For the columns to be properly recognized, use the column tag names defined in the table above.
'''Note:''' For the columns to be properly recognized, use the column tag names defined in the table above.


All the columns are optional. Your database might have more (or less) columns, so any unrecognized column will be skipped.
All the columns are optional. Your database might have more (or less) columns, so any unrecognized column will be skipped.


==== Example====
==== Examples ====
Example <code>dbformat.txt</code>, for a database using semi-colon (<code>;</code>) as separator:
(1) Example dbformat.txt, for a database using semi-colon (<code>;</code>) as separator:


<pre>;
<pre>;
name;TITLE ID;REGION;description;AUTHOR;TYPE;url;rap;size</pre>
name;TITLE ID;REGION;description;AUTHOR;TYPE;url;rap;size
</pre>


'''Result:''' only the <code>name,description,url,rap,size</code> fields will be used.
Result: only the <code>name,description,url,rap,size</code> fields will be used.


==== Example ====
(2) Example dbformat.txt, for a database using character pipe (<code>|</code>) as separator:
Example <code>dbformat.txt</code>, for a database using character pipe (<code>|</code>) as separator:


<pre>|
<pre>|
REGION|TITLE|name|url|rap|contentid|DATE|PKG FILENAME|size|checksum</pre>
REGION|TITLE|name|url|rap|contentid|DATE|PKG FILENAME|size|checksum
</pre>
 
Result: only the <code>name,url,rap,contentid,size,checksum</code> fields will be used.
 
=== About RAP data ===
If the item has <code>.rap</code> data, the file will be saved in the <code>ms0:/PKG/RAP/</code> folder.
 
=== FAQ ===
'''Q. Where to get a <code>rap</code> string?'''
 
You can use a tool like RIF2RAP to generate a <code>.rap</code> from your existing <code>.rif</code> files. Then you can use a tool like <code>hexdump</code> to get the hex byte string.
 
'''Q. Where to get <code>.pkg</code> links?'''
 
You can use [https://repod.github.io/psdle/ PSDLE] to find <code>.pkg</code> URLs for the games you own. Then either use the original URL, or host the file on your own web server.
 
'''Q. Where to remove interrupted/failed downloads to free up disk space?'''
 
Check the <code>ms0:/PKG/</code> folder - each download will be in a separate <code>.pkg</code> file by its content ID. Simply delete the file and start again.
 
'''Q. Download speed is too slow!'''
 
Optimization is still pending. (Optional) Set <code>Power Save Settings</code> -&gt; <code>WLAN Power save</code> -&gt; <code>OFF</code> , if you want to speed up the download process.
 
== Controls ==
Up/Down - Select the item you want to download
 
X - Download selected item
 
Square - See the item's details
 
Triangle - Open context menu (sort/filter/search), confirm the new settings,
 
Circle - Cancel any changes
 
L1/R1 - Move pages up/down
 
Left/Right - Switch between categories
 
== Screenshots ==
https://dlhb.gamebrew.org/psphomebrew/pkgipsp-02.png
 
https://dlhb.gamebrew.org/psphomebrew/pkgipsp-01.png
 
== Media ==
'''PKGi now on PSP !''' ([https://www.youtube.com/watch?v=Ond443q23ME PSP Mav]) <br>
<youtube width="640">Ond443q23ME </youtube>
 
== Changelog ==
'''v1.0.0 2023/10/14'''


'''Result:''' only the <code>name,url,rap,contentid,size,checksum</code> fields will be used.
Added:
* Package install as ISO/CSO/Digital.
* PSP Go internal storage detection (ef0/ms0).
* Update database files from URLs (Refresh option).
* Enabled Search option (on-screen keyboard).
* Added PSX category.
* PKGi new version check &amp; notification.


== Usage ==
Fixed:
Using the application is simple and straight-forward:
* Install and decrypt themes to /PSP/THEME/.


* Move <span class="kbd">UP</span>/<span class="kbd">DOWN</span> to select the item you want to download, and press [https://github.com/bucanero/pkgi-ps3/raw/master/data/CROSS.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/CROSS.png|X button]]].
Misc:
* To see the item's details, press [https://github.com/bucanero/pkgi-ps3/raw/master/data/SQUARE.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/SQUARE.png|Square]]].
* Improved download speed (up to 500 Kb/s).
* To sort/filter/search press [https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png|Triangle]]]. It will open the context menu. Press [https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/TRIANGLE.png|Triangle]]] again to confirm the new settings, or press [https://github.com/bucanero/pkgi-ps3/raw/master/data/CIRCLE.png [[File:https://github.com/bucanero/pkgi-ps3/raw/master/data/CIRCLE.png|O button]]] to cancel any changes.
* Network proxy settings support.
* Press left or right trigger buttons <span class="kbd">L1</span>/<span class="kbd">R1</span> to move pages up or down.
* Press <span class="kbd">LEFT</span>/<span class="kbd">RIGHT</span> buttons to switch between categories.


=== Notes ===
'''v0.8.0 2023/10/01'''
* '''RAP data:''' if the item has <code>.rap</code> data, the file will be saved in the <code>ms0:/PKG/RAP/</code> folder.


==Q&amp;A==
Added:
<ol>
* Download and install PKG files to the PSP.
<li><p>Where to get a <code>rap</code> string?</p>
* Support for loading multiple database files.
<p>You can use a tool like RIF2RAP to generate a <code>.rap</code> from your existing <code>.rif</code> files. Then you can use a tool like <code>hexdump</code> to get the hex byte string.</p></li>
'''Generic text database format support.
<li><p>Where to get <code>.pkg</code> links?</p>
''' Filter unsupported or missing URLs when loading a database.
<p>You can use [https://repod.github.io/psdle/ PSDLE] to find <code>.pkg</code> URLs for the games you own. Then either use the original URL, or host the file on your own web server.</p></li>
* Content categorization and filtering.
<li><p>Where to remove interrupted/failed downloads to free up disk space?</p>
* Support for HTTP, HTTPS, FTP, FTPS links with TLS v1.2.
<p>Check the <code>ms0:/PKG/</code> folder - each download will be in a separate <code>.pkg</code> file by its content ID. Simply delete the file and start again.</p></li>
* Localization support (Finnish, French, German, Indonesian, Italian, Polish, Portuguese, Spanish, Turkish).
<li><p>Download speed is too slow!</p>
** Language detection based on PSP settings.
<p>Optimization is still pending. (Optional) Set <code>Power Save Settings</code> -&gt; <code>WLAN Power save</code> -&gt; <code>OFF</code> , if you want to speed up the download process.</p></li></ol>
* Enter button detection (cross/circle).


==Changelog==
== Credits ==
'''v1.0.0'''
*[http://www.bucanero.com.ar/ Bucanero]: Project developer.
*Added
**Package install as ISO/CSO/Digital
**PSP Go internal storage detection (ef0/ms0)
**Update database files from URLs (Refresh option)
**Enabled Search option (on-screen keyboard)
**Added PSX category
**PKGi new version check & notification
*Fixed
**Install and decrypt themes to /PSP/THEME/
*Misc
**Improved download speed (up to 500 Kb/s)
**Network proxy settings support
'''v0.8.0'''
* First Release.
*Added
** Download and install PKG files to the PSP
** Support for loading multiple database files
*** Generic text database format support
*** Filter unsupported or missing URLs when loading a database
** Content categorization and filtering
** Support for HTTP, HTTPS, FTP, FTPS links with TLS v1.2
** Localization support (Finnish, French, German, Indonesian, Italian, Polish, Portuguese, Spanish, Turkish)
*** Language detection based on PSP settings
** Enter button detection (cross/circle)


==Credits==
Acknowledgements:
*[http://www.bucanero.com.ar/ Bucanero]: Project developer
* [https://github.com/mmozeiko/ mmozeiko]: [https://github.com/mmozeiko/pkgi PS Vita pkgi].
===Acknowledgements===
* [https://github.com/qwikrazor87/ qwikrazor87]: [https://github.com/bucanero/psptools/tree/master/depackager Depackager].
* [https://github.com/mmozeiko/ mmozeiko]: [https://github.com/mmozeiko/pkgi PS Vita pkgi]
* [https://github.com/qwikrazor87/ qwikrazor87]: [https://github.com/bucanero/psptools/tree/master/depackager Depackager]


== External links ==
== External links ==
* Github - https://github.com/bucanero/pkgi-psp
* GitHub - https://github.com/bucanero/pkgi-psp
* PSX-Place - https://www.psx-place.com/threads/pkgi-psp-released.41800/

Revision as of 07:09, 25 December 2023

PKGi PSP
Pkgipsp.png
General
Authorbucanero
TypeFile Browsers
Version1.0.0
LicenseMIT License
Last Updated2023/10/14
Links
Download
Website
Source

PKGi PSP is a PlayStation Portable port of pkgi-ps3. This homebrew app allows to download and install .pkg files directly on your PSP.

Features

  • Easy to use - List available downloads, including searching, filtering, and sorting.
  • Standalone - No PC required, everything happens directly on the PSP.
  • Automatic downloads - Just choose an item, and it will be downloaded by the app to your Memory Stick (ms0:/PKG/).
  • Resumes interrupted downloads - You can stop a download at any time, switch applications, and come back to resume the download later.
  • Localization support - Finnish, French, German, Indonesian, Italian, Polish, Portuguese, Spanish, Turkish.
  • Content activation - Downloaded content requires a valid license to run. If your PSP hasn't been activated, you can use one of the following plugins:

Installation

You need to create a pkgi.txt file in ms0:/PSP/GAME/PKGI/ that contains the items available for installation.

The text database format is user customizable. Check this section for creating your own custom DB format.

Multiple Databases

You can also load additional database files:

  • pkgi_games.txt
  • pkgi_dlcs.txt
  • pkgi_themes.txt
  • pkgi_psx.txt
  • pkgi_demos.txt
  • pkgi_updates.txt
  • pkgi_emulators.txt
  • pkgi_apps.txt
  • pkgi_tools.txt

Items on each of these files will be auto-categorized to the file content type.

Note: The app assumes that every database file has the same format, as defined in dbformat.txt.

Online DB Update

You can refresh and sync an online database by adding the DB URL(s) to the config.txt file in ms0:/PSP/GAME/PKGI/.

For example:

url http://www.mysite.com/mylist.csv
url_demos http://www.demos.com/otherlist.csv
url_emulators http://www.example.com/emulators.csv

Using this setup:

  • pkgi.txt will be updated with mylist.csv,
  • pgi_demos.txt with otherlist.csv ,
  • and pkgi_emulators.txt with emulators.csv.

Next time you open the app, you'll have an additional menu option Triangle button called Refresh. When you select it, the local databases will be syncronized with the defined URLs.

DB formats

The application requires a text database that contains the items available for installation, and it must follow the default format definition, or have a custom format definition file.

Default DB format

The default database file format uses a very simple CSV format where each line means one item in the list:

contentid,type,name,description,rap,url,size,checksum

where:

Column Description
contentid is the full content id of the item, for example: UP0000-NPXX99999_00-0000112223333000.
type is a number for the item's content type. See the table below for details. (set it to 0 if unknown)
name is a string for the item's name.
description is a string for the item's description.
rap the 16 hex bytes for a RAP file, if needed by the item (.rap files will be created on ms0:/PKG/RAP). Leave empty to skip the .rap file.
url is the HTTP/HTTPS/FTP/FTPS URL where to download the .pkg file.
size is the size in bytes of the .pkg file, or 0 if unknown.
checksum is a SHA256 digest of the .pkg file (as 32 hex bytes) to make sure the file is not tampered with. Leave empty to skip the check.

Note: name and description cannot contain newlines or commas.

Sample DB file

An example pkgi.txt file following the contentid,type,name,description,rap,url,size,checksum format:

EP0001-FILEMANAG_00-0000000000000000,8,FileManager v1.40,File Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/FileManager_v1.40.pkg,12171120,FAF680636B18AD0B70AA61F48A78C5E42D6972F795F1B82CC434BE3DDE60F00F
UP0001-IRISMAN00_00-VER4880000000000,8,IRISMAN 4.88.1,Backup Manager,,http://github.com/aldostools/IRISMAN/releases/download/4.88/IRISMAN_4.88.pkg,29411984,E6EF607F0002B31BFB148BE4FC9BDBACB4E53110751F0E667C701D40B5290570
EP0001-MANAGUNZ0_00-0000000000000000,8,ManaGunZ v1.40,Backup Manager,,http://github.com/Zarh/ManaGunZ/releases/download/1.40/ManaGunZ_v1.40.pkg,17563040,CE0E4036903E881C08259FD69E777F6BC9CD24E823B471A7B15C88FDDBB2E330
UP0001-PS3SFM001_00-0000000000000000,8,Simple file manager v0.5.2,File Manager,,http://github.com/lmirel/fm_psx/releases/download/v0.5.2/sfm_ps3.pkg,1098800,301F64CC94E9BC442FDAC9199BFB8153AC2430A5E47331C6CF8A25B7881648A6
EP0001-UPDWEBMOD_00-0000000000000000,9,webMAN MOD v1.47.36,Backup Manager,,http://github.com/aldostools/webMAN-MOD/releases/download/1.47.36/webMAN_MOD_1.47.36_Installer.pkg,13580448,

Content types

Type value Content type DB File
0 Unknown
1 Game pkgi_games.txt
2 DLC pkgi_dlcs.txt
3 Theme pkgi_themes.txt
4 PSX pkgi_psx.txt
5 Demo pkgi_demos.txt
6 Update pkgi_updates.txt
7 Emulator pkgi_emulators.txt
8 Application pkgi_apps.txt
9 Tool pkgi_tools.txt

User-defined DB format

To use a custom database format, you need to create a dbformat.txt file, and save it on ms0:/PSP/GAME/PKGI/.

The dbformat.txt definition file is a 2-line text file:

  • Line 1: the custom delimiter character (e.g.: ;,|, etc.)
  • Line 2: the column names for every column in the custom database, delimited by the proper delimiter defined in line 1

Note: For the columns to be properly recognized, use the column tag names defined in the table above.

All the columns are optional. Your database might have more (or less) columns, so any unrecognized column will be skipped.

Examples

(1) Example dbformat.txt, for a database using semi-colon (;) as separator:

;
name;TITLE ID;REGION;description;AUTHOR;TYPE;url;rap;size

Result: only the name,description,url,rap,size fields will be used.

(2) Example dbformat.txt, for a database using character pipe (|) as separator:

|
REGION|TITLE|name|url|rap|contentid|DATE|PKG FILENAME|size|checksum

Result: only the name,url,rap,contentid,size,checksum fields will be used.

About RAP data

If the item has .rap data, the file will be saved in the ms0:/PKG/RAP/ folder.

FAQ

Q. Where to get a rap string?

You can use a tool like RIF2RAP to generate a .rap from your existing .rif files. Then you can use a tool like hexdump to get the hex byte string.

Q. Where to get .pkg links?

You can use PSDLE to find .pkg URLs for the games you own. Then either use the original URL, or host the file on your own web server.

Q. Where to remove interrupted/failed downloads to free up disk space?

Check the ms0:/PKG/ folder - each download will be in a separate .pkg file by its content ID. Simply delete the file and start again.

Q. Download speed is too slow!

Optimization is still pending. (Optional) Set Power Save Settings -> WLAN Power save -> OFF , if you want to speed up the download process.

Controls

Up/Down - Select the item you want to download

X - Download selected item

Square - See the item's details

Triangle - Open context menu (sort/filter/search), confirm the new settings,

Circle - Cancel any changes

L1/R1 - Move pages up/down

Left/Right - Switch between categories

Screenshots

pkgipsp-02.png

pkgipsp-01.png

Media

PKGi now on PSP ! (PSP Mav)

Changelog

v1.0.0 2023/10/14

Added:

  • Package install as ISO/CSO/Digital.
  • PSP Go internal storage detection (ef0/ms0).
  • Update database files from URLs (Refresh option).
  • Enabled Search option (on-screen keyboard).
  • Added PSX category.
  • PKGi new version check & notification.

Fixed:

  • Install and decrypt themes to /PSP/THEME/.

Misc:

  • Improved download speed (up to 500 Kb/s).
  • Network proxy settings support.

v0.8.0 2023/10/01

Added:

  • Download and install PKG files to the PSP.
  • Support for loading multiple database files.

Generic text database format support. Filter unsupported or missing URLs when loading a database.

  • Content categorization and filtering.
  • Support for HTTP, HTTPS, FTP, FTPS links with TLS v1.2.
  • Localization support (Finnish, French, German, Indonesian, Italian, Polish, Portuguese, Spanish, Turkish).
    • Language detection based on PSP settings.
  • Enter button detection (cross/circle).

Credits

Acknowledgements:

External links

Advertising: