PS3 PKGi PS3 v1.1.2 released

Discussion in 'PS3 Homebrew' started by bucanero, Dec 11, 2019.

  1. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    PKGi PS3 is a PlayStation 3 port of PSVita pkgi.

    The pkgi-ps3 homebrew app allows to list, select and download .pkg files directly on your PS3.

    screenshot_2019_12_17_02_38_27.png

    Download link: https://github.com/bucanero/pkgi-ps3/releases/latest
    Source code available on GitHub


    • PKGi PS3 v1.1.2
      https://github.com/bucanero/pkgi-ps3/releases/latest

      Latest changes:

      Added
      • Added content categorization and filtering
      • Added support for loading multiple database files
      • Added support for online db update/sync

      Fixed
      • Filter unsupported or missing URLs when loading a database

      Happy New Year! :D


    • v1.1.2

      Added
      • Added content categorization and filtering
      • Added support for loading multiple database files
      • Added support for online db update/sync

      Fixed
      • Filter unsupported or missing URLs when loading a database

      v1.1.0

      Added
      • Added TTF fonts to support Japanese characters
      • Added SSL support (the app can download https:// links)
      • Added package install bubble for Direct downloads
      • Added background music
      • Added settings options for music and auto-update
      Fixed
      • Fixed UI issue where texts could go beyond the screen limits

      v1.0.8

      Added
      • Added analog pad support
      • Added CPU/RSX temperature status
      • Added Details screen
      • Added automatic download after version update check
      Fixed
      • Improved empty .pkg file generation using async IO.
      • Improved UI

      v1.0.5

      Added
      • Generic text database format support
      • Credits ( :but select: ) and Exit ( :but start: ) confirmation dialogs
      • Changelog file
      Fixed
      • The app now creates /dev_hdd0/exdata if the folder doesn't exists
      • Fixed unresponsive background download dialog while creating a PKG file
      • Fixed a bug when the URL was missing

      v1.0.0

      Added
      • Text search filtering using on-screen keyboard
      • Background download task mode (uses internal Download Manager)
      Fixed
      • Fixed incorrect progress bar information during direct download

    • Installation notes

      After installing the application, you'll need to create a "pkgi.txt" database file on /dev_hdd0/game/NP00PKGI3/USRDIR

      The file should contain the list of PKG files (URLs) that you'd like to list in the app.
      The file is simply a CSV (comma separated value) text file with the following format (each line means one item in the list):
      Code:
      contentid,flags,name,description,rap,url,size,checksum
      
      where:
      • contentid is full content id of item, for example: UP0000-NPHA99999_00-0000112223333000.
      • flags is currently unused number, set it to 0.
      • name is arbitrary string to display for name.
      • description is currently unused alternative item's description, leave it empty.
      • rap is the 16 hex bytes of the RAP file, if needed by the pkg (.rap will be created on hdd0/exdata). Leave empty for no rap file.
      • url is http url where to download the content .pkg file.
      • size is size of pkg in bytes, or 0 if unknown.
      • checksum is sha256 digest of pkg as 32 hex bytes to make sure pkg is not tampered with. Leave empty to skip the check.

      For example, the pkgi.txt could be something as:
      Code:
      EP0000-NP9999999_00-0AB00A00FR000000,0,My PKG Test,,dac109e963294de6cd6f6faf3f045fe9,http://192.168.1.1/html/mypackage.pkg,2715513,afb545c6e71bd95f77994ab4a659efbb8df32208f601214156ad89b1922e73c3
      UP0001-NP00PKGI3_00-0000000000000000,0,PKGi PS3 v0.1.0,,,http://bucanero.heliohost.org/pkgi.pkg,284848,3dc8de2ed94c0f9efeafa81df9b7d58f8c169e2875133d6d2649a7d477c1ae13
      

    • original PS Vita version by mmozeiko
      ported to PlayStation 3 by Bucanero



    See the project's README on GitHub for more information: https://github.com/bucanero/pkgi-ps3



    feel free to share you comments and ideas! :cool2:
     
    Last edited: Dec 31, 2019
    rocknard, Yugonibblit, remlei and 8 others like this.
  2. 3
    5
    7
    Some1CP

    Some1CP Forum Noob

    Joined:
    Dec 11, 2019
    Messages:
    3
    Likes Received:
    5
    Trophy Points:
    7
    Gender:
    Male
    vr6cer, ntodek and DeViL303 like this.
  3. 3
    5
    7
    Some1CP

    Some1CP Forum Noob

    Joined:
    Dec 11, 2019
    Messages:
    3
    Likes Received:
    5
    Trophy Points:
    7
    Gender:
    Male
    ntodek and DeViL303 like this.
  4. 8,030
    9,259
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    8,030
    Likes Received:
    9,259
    Trophy Points:
    797
    Nice work.
    Could it be made so all those fields are optional except for a pkg URL.
     
    bucanero likes this.
  5. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    right now I'm working on a generic text db definition file, so it could basically support any kind of delimiter (comma, semi-colon, pipe, tab, etc) and any kind of order for the columns (or even making most columns optional)

    I guess that besides URL, the app will need to have a contentid to display the item properly and be able to select it.
    (and right now contentid is mandatory because it's also used as a filename for files)

    but pretty much with this new feature everything will be optional and customizable :D
     
    DeViL303 likes this.
  6. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    @DeViL303 well your wish has been granted, with my latest generic db parser code, actually all the fields are optional :)

    regarding the content-id thing, if it's not provided then one is generated on demand, based on the row number (e.g. X00000-X99999999_00-0000000000000000)
     
    DeViL303 likes this.
  7. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    I've updated PKGi PS3 and released v1.0.5

    The most relevant change is the support for generic user-defined text database formats. See changelog for details.
    Please read the document to learn how to define your own db format.

    WIP: I've changed the code to use async writes while creating the PKG file for background download, and it has improved speed 3X. (writing about 20 MB/s) . It will be available in the next version
     
    Last edited: Dec 15, 2019
    DeViL303 and Neal Cullum like this.
  8. 15
    3
    7
    Naxil

    Naxil Forum Noob

    Joined:
    Mar 30, 2019
    Messages:
    15
    Likes Received:
    3
    Trophy Points:
    7
    Gender:
    Male
    hi. i have try your program. i have download 2 tiny pkg for try. the download finish and the two pkg are in standard position (hdd0://packages). but when i try to install it the installation not start. i have use normal download.
     
  9. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    As I don't know what are you downloading,
    Try to download those .pkg files with your browser and upload them by FTP to the PS3. Then check to install them manually. To be sure the problem is not in the .pkg files.
     
    ntodek and DeViL303 like this.
  10. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    I've just released PKGi PS3 v1.0.8

    With improved UI, an additional "details" screen, and faster .pkg file creation in background mode using async IO.
     
    Last edited: Dec 19, 2019
    Louis Garry, MixeryMaxe and DeViL303 like this.
  11. 8,030
    9,259
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    8,030
    Likes Received:
    9,259
    Trophy Points:
    797
    Great. Nice one.

    If you are looking for more ideas, I wonder could you add the ability to have sub categories, so each pkg would have an extra optional field for the category. Like backup managers, homebrew games etc, If it has nothing in that field then it shows in the root view or something like that.


    If some info is missing, for example it just gets a pkg URL, I wonder could it pull the size from the server and the content ID from the header.

    Maybe it could have toggles for optional extras like that.
     
    bucanero likes this.
  12. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    yes, I was actually thinking to give the "flag" column some real use, and the category thing could be a good one.
    It's an integer flag, so we could just define different values such as:

    0001 = game
    0002 = utility
    0004 = backup manager
    0008 = media app
    0016 = theme
    0032 = dlc
    ...
    etc

    then the filtering should be straight-forward

    the size is checked on-demand when you try to download an item.

    Getting the content-id from an http request is a bit tricky, in the sense that when the database is loaded, the app would request and download the headers for every item on the list (creating a slowdown and overhead of traffic), so that's why I used the "id generator" option.
    Maybe an "on-demand" update could be added to the "Details" screen. In that case, the app would only check and download the header for 1 specific pkg.
     
    Algol and DeViL303 like this.
  13. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    btw @DeViL303 , would you help me out defining the categories for it?
    I don't want to forget stuff or create meaningless categories that won't be used at all

    So I was thinking we can think and list the categories, and then decide:
    game, theme, dlc, utility, etc.
     
    DeViL303 likes this.
  14. 8,030
    9,259
    797
    DeViL303

    DeViL303 Developer PSX-Place Supporter

    Joined:
    Jan 23, 2016
    Messages:
    8,030
    Likes Received:
    9,259
    Trophy Points:
    797
    Something like XMBPD might be suitable, without the non pkg categories?

    upload_2019-12-19_23-10-56.png
     
    bucanero likes this.
  15. 15
    3
    7
    Naxil

    Naxil Forum Noob

    Joined:
    Mar 30, 2019
    Messages:
    15
    Likes Received:
    3
    Trophy Points:
    7
    Gender:
    Male
    Exist a way to compile pkg like i do with dol file and devkitpro on wii? I use linux. The question is retoric. I want know what is the right environment for compile ps3 code? Ps1light is rewritten open original sdk? Pkgi is written for sony devkit?
     
  16. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    thanks, that makes sense, I'll try to keep it as reference! (without the non .pkg stuff)
     
  17. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    The app is built using PSL1GHT, an open source PS3 sdk library. (It doesn't use the original devkit at all)
    The Readme on Github lists all the libs you need to build the app.

    I've written down a short tutorial on how to build the toolchain and create your dev-environment with Psl1ght:
    http://www.bucanero.com.ar/2019/08/14/building-your-ps3-dev-environment-on-macos/

    You shouldn't have issues building the environment in Linux either.
     
  18. 241
    42
    57
    arcadekidflo

    arcadekidflo Member

    Joined:
    Feb 18, 2015
    Messages:
    241
    Likes Received:
    42
    Trophy Points:
    57
    Another great release . My suggestions are :

    - can we change the font ? Right now it's Times New Roman and it looks ancient . Maybe Arial would be better .
    - i noticed some improvement in the download speed . When you open up the software , the first download goes at ~ 5000 Kb/s ( direct method ) . If you close the program and open it again all downloads are at ~ 1500 Bk/s .
    - Would be nice if the pkgi.txt containts data like release year , recommended age , game score .. but that's not your job :)
     
  19. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    to support japanese characters I'm using the internal PS3 fonts, so you should see new fonts in the next release

    about the download speeds, I can't actually test too much around here, my network speed isn't that great so the only checks I can do are "it connects" or "it doesn't"

    For the additional pkg details, you can use the "description" field in the text database. In the latest version, you can press :but square: and get additional information about the current item (if it has a valid URL, a RAP, etc), including the description if there's one.
     
  20. 275
    470
    97
    bucanero

    bucanero Developer

    Joined:
    Jun 29, 2019
    Messages:
    275
    Likes Received:
    470
    Trophy Points:
    97
    Gender:
    Male
    Location:
    Argentina
    Home Page:
    I've just released PKGi PS3 v1.1.0

    quite a bunch of changes this time:

    * Added TTF fonts to support Japanese characters
    * Added SSL support (the app can download https:// links)
    * Added package install bubble for Direct downloads
    * Added background music
    * Added settings options for music and auto-update
    * Fixed UI issue where texts could go beyond the screen limits

    Merry X-mas! :D
     

Share This Page