(CBT) HDLoader game installer

Discussion in 'Sony Programming and Development' started by sp193, Apr 28, 2013.

  1. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    That was and still is the official repository.

    Well, it's up to you to decide on what you want to believe.

    Really? I hope that you're comparing it against v0.9.3 and not v0.9.2.
     
  2. Masamune3210

    Masamune3210 Rising Member

    Joined:
    Jul 3, 2016
    Messages:
    56
    Likes Received:
    1
    When I put it the elf file through the program, it spit out a kelf. Am I missing a step or is a xlf file just a renamed kelf file?
     
  3. Masamune3210

    Masamune3210 Rising Member

    Joined:
    Jul 3, 2016
    Messages:
    56
    Likes Received:
    1
    Was just checking, wasn't sure if it was a fork or not

    Not believing you, just wasn't sure if you meant that there was no more development or that you were just done messing with it yourself

    I meant core differences between the daily builds so far and the version included with the latest HDLGameInstaller
     
  4. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    It's not that I don't want you to ask, but I really want people to form their own opinions on this.
    I do not want to be remembered to be someone who wrote that piece of history, rather than letting history take its own course.

    Based on the changelog, it was updated to have the files from v0.9.3. Functionality-wise, it should be the same because it is essentially OPL v0.9.3.... just without the UI.
    A long time ago, mini OPL used to also have a hacked-up EE core, so that it wouldn't carry the unneeded modules as well. But prior to the release of OPL v0.9.3, I changed its design to allow only the necessary modules to be stored. From that point on, the EE core for mini OPL is exactly the same as the one from the normal OPL builds.

    If you took the files from the latest commit and used them to make a new version, you probably wouldn't observe a difference.

    It's just a renamed file.
     
  5. Masamune3210

    Masamune3210 Rising Member

    Joined:
    Jul 3, 2016
    Messages:
    56
    Likes Received:
    1
    I understand completely

    I built diskload using the shell script that is part of the repo for hdl_dumx, so however that builds it is what I went with. Still haven't figured out how to build miniopl from the opl source directly, though I'm probably just missing something.

    Is there anyway to configure miniopl to show the PS2LOGO when it boots a game from the HDDOSD, once I do find a way to replace the file, or is it stuck with no logo
     
  6. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    You can't; it's a custom version of OPL, written for a specific purpose that OPL didn't originally cover.

    You need to update the files that it has. Depending on your ability to code, it might be a simple thing or not. As with minor updates, you just need to copy over the new ee_core folder (delete the old one first), as well as the relevant module folders under modules.

    But because the PS2LOGO feature made the EE core require more arguments than it previously did, you need to also modify the code within src/system.c to prepare and to set up the new argument(s). Unfortunately, it really gets that vague at this point because it boils down to how different it is now.
    You need to refer to src/system.c from the normal OPL repository.

    As with the old PS2LOGO implementation within mini OPL, the new one will check for a valid PS2 logo on the disc and whether it is compatible with the console. If it is, then rom0 PS2LOGO is run.
     
  7. Masamune3210

    Masamune3210 Rising Member

    Joined:
    Jul 3, 2016
    Messages:
    56
    Likes Received:
    1
    Ok, I'll give it a shot! You mention a old implementation in miniopl, is that in the version included in HDLGameInstaller, and if so is there a way for me to turn that on temporary until I get a chance to implement the new way
     
  8. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    I don't think that it is complete anymore, after one of the updates. Anyway, it will require you to first specially-prepare your disc images to already have the logo decrypted.
    Originally, HDLGameInstaller did that, but the feature there got removed as well.
     
  9. Masamune3210

    Masamune3210 Rising Member

    Joined:
    Jul 3, 2016
    Messages:
    56
    Likes Received:
    1
    I don't think its complete anymore either. Looking at the code, it looks like its missing pieces. Was worth a shot, though. Will look at messing about with the new implementation next time I have a chance.

    Thanks for all the help
     
  10. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Changelog for HDLGameInstaller v0.810:
    • Improved network support reliability.
    • Fixed automatic reconnection functionality.
    • Added support for compressed transfers.
    • Installed games can now be read back to the PC.

    Changelog for HDLGManClient:
    • Fixed and improved support for automatic reconnection.
    • Added support for compressed transfers.
    • Games can now be queued for installation.
    • Installed games can now be copied back onto the PC.

    Downloads/links
    HDLGameInstaller project page: - HDLGameInstaller support page -

    ***

    I discovered today, why the network support was always unreliable from 2012-2017: the iWakeupThread() syscall of the EE kernel is bugged! D:
    According to the official documentation, it will wake up a thread whose state is WAIT. Or if the thread is not in WAIT state, then its wakeup request counter will be incremented. However, this function just fails if the thread's status is RUN. :/
    I don't know when SCE actually worked around it, but I saw that OSDSYS from ROM v1.60 already had a workaround for it. So I copied the workaround for the homebrew PS2SDK.

    And so I really, really, really hope that the network functionality would finally be reliable. D:

    I didn't try too hard to understand the implementation for the IOP kernel, but it looks like it's fine. :chinscrat
    That would be great if it isn't bugged too, as would be no easy replacement for that.
     
    l_oliveira, Collingall, wisi and 3 others like this.
  11. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Minor (?) update.

    Changelog for v0.811:
    • Improved network support reliability.
    • Fixed inability to delete game after a failed installation.
    • Reduced redundant code within server.
    • New I/O subsystem for (slightly) better performance.
    • Fixed loading of the game's savedata.

    Downloads/Links:
    HDLGameInstaller project page: - HDLGameInstaller support page -
     
    Vedita BR and l_oliveira like this.
  12. Vedita BR

    Vedita BR Rising Member

    Joined:
    Aug 28, 2015
    Messages:
    70
    Likes Received:
    32
    what's the meaning/purpouse of the "support for compressed transfers"?
     
  13. l_oliveira

    l_oliveira Officer at Arms

    Joined:
    Nov 24, 2007
    Messages:
    3,879
    Likes Received:
    245
    When you have leftover processing on networked hardware you can invest it on compressing the data you are transmitting, which ends up reducing the amount of data transmitted through the network. The final result is a speed increase.

    In the PS2 case, we have the IOP strained by network processing but a lot of CPU power to spare on EE, which can indeed process decompression of the received data.
     
    Vedita BR likes this.
  14. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Your mileage may vary too. For example, this option resulted in slower transfers when I use my old laptop, but it's fast when I use my (far newer) desktop PC.
     
    Vedita BR likes this.
  15. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Changelog for v0.812:
    • Improved network support reliability and performance.
    • Replaced fonts with the Google Noto fonts.

    I got about 4.5MB/s. Windows 7's network utilization graph shows that traffic peaks around 40%, so it is possible that the peaks are at 5MB/s.

    For those wondering about the stability fixes, it's caused by the SCE patch for iWakeupThread not being actually functional - they made a new/different version that is used in later games.
    The old one used iSuspendThread, iWakeupThread and iResumeThread to work around the inability of iWakeupThread to wake up a running thread... but iResumeThread is incapable of resuming the running thread! Oddly, this problem doesn't seem to be present in the TOOL's kernel.
    The new version of the patch also replaces iRotateThreadReadyQueue and iSuspendThread. I guess that both of them were also replaced because they don't select a new running thread (probably results in the EE idling).

    Changelog for the installer:
    • Game list will no longer be fully refreshed after a game is edited or deleted.

    Downloads/links
    HDLGameInstaller project home page: - HDLGameInstaller support page -
     
    Vedita BR likes this.
  16. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    Changelog for v0.813
    • Fixed inability to terminate game copying via network.
    • Improved network reliability and performance.
    • Improved stability.
    • Removed support for compressed transfers.

    Earlier today, the performance seems to be constant, at 40Mbit (5MB/s). Reading is now about 2MB/s. The way that frames are handled was changed to just drop frames if there is insufficient space, so hopefully this will mean less problems with PS2 taking too long to accept frames. :<
    The compression function was useful before the recent series of fixes, but now it does not help. So I have removed it.

    Changelog for HDLGManClient
    • Removed support for compressed transfers.
    • Improved reading method for MODE 1/2048 ISO9660 disc images.
    • Corrected inability to terminate game copying.

    It's not mentioned in the changelog, but I have disabled Nagle for the PC client. I noticed that LWIP was waiting for a 2nd packet (delayed ACK?), before Windows resends the (un-ACK'ed) data with 4 additional bytes. So it looks like a Nagle + Delayed ACK problem.

    Downloads/links
    HDLGameInstaller project homepage: http://ichiba.geocities.jp/ysai187/PS2/HDLGameInstaller.htm
     
  17. Ticky

    Ticky Newly Registered

    Joined:
    Jan 27, 2017
    Messages:
    4
    Likes Received:
    4
    Hi there sp193,

    I’m just wondering if there’s a way to reorder or sort the games list for HDDOSD?

    Would changing the “created” time (apa_header_t->created) in the game partition's headers work, or would this just mess things up? :)
     
  18. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    HDLGameInstaller v0.814 released!

    Changelog:

    • Updated with the latest PS2SDK fixes.
    • Major UI rework, to utilize the newer code from my other projects.
    • Replaced old, redundant Unicode helper code with functions from the PS2SDK.
    • Replaced button icons with new icons from Berion.
    • Added new icons for device selection.
    • The select and cancel buttons will now fit the console's region.
      e.g. cross is select for US consoles, while circle is select for Japanese consoles.
    • Long titles will now be shortened when displayed on the games list.
      When the long title is highlighted, it will be automatically scrolled.
    • Improved network reliability and performance.
    • Improved server deinitialization code, which may prevent a crash when closing the app.
    • Increased block size, for improved transfer performance (256KB x 4 -> 4MB x 4).
    • Improved design of I/O manager, for greatly improved game reading (PS2 -> PC) performance.
    Changelog for the PC client:
    • Added free disk space indicator.
    • Fixed order of controls (pressing tab should now correctly select the next control).
    • Added a current speed indicator, which indicates the speed at which the last block was transferred at.
    • Increased block size, for improved transfer performance (256KB x 4 -> 4MB x 4).
    • Fixed progress bar not being updated correctly.
    • Added I/O manager to allow data to be read/written in the background.

    Downloads/links:

    HDLGameInstaller v0.814 (PS2 + PC binaries): http://www.mediafire.com/file/rp1cp46fpdv8wgp/[180523]HDLGameInstaller-0814-bin.7z
    Source code for HDLGameInstaller:
    http://www.mediafire.com/file/gbqzulxss9mju7j/[180523]HDLGameInstaller.7z
    Source code for PC client: http://www.mediafire.com/file/50g4fldy3148xeo/[180523]HDLGManClient.7z
    HDLGameInstaller project homepage (downloads are here): - HDLGameInstaller support page -

    This may bring us closer to 7MB/s. On my network, I am getting 5.3MB/s, so I guess people with simpler networks will get something like 6.7MB/s.

    Game copying (PS2->PC) has been sped up to 4.5MB/s, as a redundant copying operation was removed.
    Performance is irregular, but I cannot tell (yet) whether it is due to a configuration problem with LWIP.

    Oops, somehow I missed your post.
    The order of partitions is determined by their physical location in the disk, which gives the impression that they're listed according to when they were installed. So changing the timestamps will do nothing.
    If you change anything in the APA header, you must also update the checksum.

    The HDD browser just wasn't really meant for managing a huge number of games. :|
    Some people have asked me to do this for HDLGameInstaller too, but I am slow at adding new features. Particularly for older projects that have (or had) really bad code.
     
    uyjulian, svotib, Jolek and 3 others like this.
  19. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    HDLGameInstaller v0.814A released!

    Changelog:

    • Revamped protocol to have as little overhead during file transfer, as possible. Opens port 45062, which is dedicated for data transfer.
    • Removed cancel button from remote access status screen. It is really challenging to make it work well.
    • Moved seeking to be done before data reading/writing is started. Resumption of transfers might have not been working correctly.
    • Attempted to fix texture rendering, of fonts and graphics. Forgot to add 0.5 to all UV coordinates.
    Changelog for the PC client:
    • Revamped protocol to have as little overhead during file transfer, as possible. Opens port 45062, which is dedicated for data transfer.
    • Added more reconnection code to improve robustness of data transfer.
    Now this system will require two TCP ports to be available: 45061 and 45062.
    45061 will continue to be used for commands, while 45062 will be used for data transfer.

    Downloads/Links
    Project page (download links at bottom): http://ichiba.geocities.jp/ysai187/PS2/HDLGameInstaller.htm

    EDIT 2018/05/27: updated PC client.
    EDIT 2018/05/28: updated PC client.

    I'm taking a break from this, which is why I am pushing out the changes now.
     
    Last edited: May 27, 2018
    AlGollan84, AKuHAK and 1UP like this.
  20. sp193

    sp193 Site Soldier

    Joined:
    Mar 28, 2012
    Messages:
    2,217
    Likes Received:
    1,052
    HDLGameInstaller v0.814B released!

    Changelog:

    • Corrected inability to reconnect if the connection is lost right before a game is copied.
    Changelog for the PC client:
    • Corrected incorrect logic that lead to an installation continuing, even if the user has cancelled the installation.
    Downloads/links
    HDLGameInstaller project page (downloads at bottom): http://ichiba.geocities.jp/ysai187/PS2/HDLGameInstaller.htm
     
    1UP and AlGollan84 like this.
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page