# [Beta Release] Open PS2 Loader with ZSO support (compressed ISOs)



## Acid_Snake (May 16, 2022)

Hey guys, over the last few weeks I've been working on adding support for compressed ISOs on Open PS2 Loader in the ZSO format.
While the project is still in beta, the results so far are incredibly positive, with ZSO games working 100% perfect on internal HDD, and many games now running perfect on USB devices.

I've tested the following games on a Fat PS2 over USB:
https://docs.google.com/spreadsheets/d/1K7szQS_9VG8es22eORw3xXTXxp5bZRpHOL6YJDH7S6c/edit?usp=sharing

Comparison of ISO and ZSO performance in the same USB device (an external SSD):
ISO: https://drive.google.com/file/d/1O7EGH1cO09SexxgyfadjHJrUvIR0kkAu/view
ZSO: https://drive.google.com/file/d/15E_9sWO_eNHl52XDjOpBIueADcZ9_ZwY/view

The more people help test this, the faster we can fix issues.

Download:
https://github.com/ps2homebrew/Open-PS2-Loader/releases/tag/latest

Always *Download* the *latest* OPL builds from the *Official OPL Github Release Page.

LATEST UPDATE:*
A new build with *exFAT* support is now available on the Official OPL Github page.

Compressing ISO to ZSO:

In the download package you can find a python script to compress ISO images to ZSO.
You need to install Python 3 and the lz4 library (pip install lz4), then use command line:

python ziso.py -c 2 "input.iso" "output.zso"


----------



## Shadow#1 (May 16, 2022)

Acid_Snake said:


> Hey guys, over the last few weeks I've been working on adding support for compressed ISOs on Open PS2 Loader in the ZSO format.
> While the project is still in beta, the results so far are incredibly positive, with ZSO games working 100% perfect on internal HDD, and many games now running perfect on USB devices.
> 
> I've tested the following games on a Fat PS2 over USB:
> ...


Does this have PS2 MS2SIO support?


----------



## Acid_Snake (May 16, 2022)

Shadow#1 said:


> Does this have PS2 MS2SIO support?


This works on all devices but MX4SIO in particular doesn't work very well even with plain ISO, much less with ZSO.
The driver for this device is still early and needs to be optimized. Maybe try it out and let us know your results.


----------



## Nomado (May 16, 2022)

Hi, read your post on PSX-Place. This is an exiting development. If you could provide guide to convert to ZSO. I could do some testing. Currently I was setting up external HDD and was defragging backups. So I could test out. But I don't know how to convert to ZSO.


----------



## Acid_Snake (May 16, 2022)

Nomado said:


> Hi, read your post on PSX-Place. This is an exiting development. If you could provide guide to convert to ZSO. I could do some testing. Currently I was setting up external HDD and was defragging backups. So I could test out. But I don't know how to convert to ZSO.


In the download package you can find a python script to compress ISO images to ZSO.
You need to install Python 3 and the lz4 library (pip install lz4), then use command line:

python ziso.py -c 2 "input.iso" "output.zso"

If you get an alignment error:

python ziso.py -c 2 -a 3 "input.iso" "output.zso"


----------



## Nomado (May 16, 2022)

Edit: NVM


----------



## esmith13 (May 16, 2022)

Personally I'm using a PS2 Slim dedicated micro router to access a 2.5" USB HDD (like a PS2-NetBox setup). If I can find a spare USB HDD to test with is it helpful to try this on my setup and report back or are you specifically looking for directly connected USB test results since SMB already does great with most ISOs as-is?


----------



## Acid_Snake (May 16, 2022)

esmith13 said:


> Personally I'm using a PS2 Slim dedicated micro router to access a 2.5" USB HDD (like a PS2-NetBox setup). If I can find a spare USB HDD to test with is it helpful to try this on my setup and report back or are you specifically looking for directly connected USB test results since SMB already does great with most ISOs as-is?


I appreciate any and all tests. I know that SMB doesn't work very well with the latest OPL code and ZSO doesn't help here but it might also depend on your connection so it'd be interesting to see your results.


----------



## sion_zaphod (May 27, 2022)

I'm gradually working my way through testing every PAL and USA compressed games compatibility with SMB.  I have started a compatibility list here ZSO OPL Compatibility list.  So far I have tested only SMB and will continue til every PAL USA game is done.  Feel free to edit too.  There are tabs for SMB/USB/HDD.  I will not be testing USB at all because of the limitations of filesize in fat32 and the USB1 speeds of the PS2.  I have 2 FAT PS2's both with 2tb drives that are full so when I'm done testing SMB and pickup another 2tb SATA I'll get around to testing HDD compatibility (provided there is a straightforward method of transferring ZSO to internal drive).


----------



## zfreeman (May 27, 2022)

@sion_zaphod, could you add an SD tab? It would be for those that play games from the memory card port (MX4SIO).


----------



## lazyguy (May 27, 2022)

how does the ps2 have spare compute to decompress iso?


----------



## sion_zaphod (May 27, 2022)

zfreeman said:


> @sion_zaphod, could you add an SD tab? It would be for those that play games from the memory card port (MX4SIO).


@zfreeman I'm working at the mo but as soon as I'm home I'll sort the extra tab.  Interesting does the MX4ISO SD have to be formatted as fat32 or can it be in NTFS or EXFAT?


----------



## CoolMe (May 27, 2022)

Acid_Snake said:


> Hey guys, over the last few weeks I've been working on adding support for compressed ISOs on Open PS2 Loader in the ZSO format.
> While the project is still in beta, the results so far are incredibly positive, with ZSO games working 100% perfect on internal HDD, and many games now running perfect on USB devices.
> 
> I've tested the following games on a Fat PS2 over USB:
> ...


How does it & what does it compress exactly? If you don't mind me asking.. 
Is there a way to trim just dummy data out of the iso image, without touching anything else like compressing video files etc. 
And even with that, from what i understand, even touching the dummy data would throw the compatibility and the PS2 out of whack, because of how it expects certain data to be in certain places, so disruping that should result in all sorts of problems.. One the big reasons why we never had a compression or trimming tool for the PS2, unlike the GC or Wii..


----------



## Reploid (May 27, 2022)

lazyguy said:


> how does the ps2 have spare compute to decompress iso?


Prolly just longer load times with compatible games. often it's not fast enough for FMV it seems


----------



## sion_zaphod (May 27, 2022)

@zfreeman Added MX4SIO tab.


----------



## zfreeman (May 27, 2022)

sion_zaphod said:


> @zfreeman I'm working at the mo but as soon as I'm home I'll sort the extra tab.  Interesting does the MX4ISO SD have to be formatted as fat32 or can it be in NTFS or EXFAT?


FAT32. Used cluster size: 16KB


----------



## Shadow#1 (May 27, 2022)

zfreeman said:


> FAT32. Used cluster size: 16KB


Uea I found thst out myself that no other cluster size worked other then 16k


----------



## sion_zaphod (May 28, 2022)

So you are still bound by the 4gb filesize limit.  That sucks.  That's one of the reasons I won't touch USB for PS2.  Splitting the ISO is not an option in my book.  My 2 FAT's with internal HDD's work fine with every game but there limited to 2tb per console.  For my slim I have a portable travel router flashed with cfw and 4tb USB attached (Formatted as NTFS) no 4gb limit so I can have complete ISO's or ZSO's.  I've not noticed any lag comparing my internal HDD games with my external SMB share games.  Previously I had it setup with a raspberry pi zero 2 hosting the SMB server but since you can't buy RPIZ2's anywhere now I went the portable router way and for £30 I'm not disappointed at all.  I get to use my rpiz2 for other projects and I have a dedicated PS2 SMB server.


----------



## esmith13 (May 28, 2022)

sion_zaphod said:


> So you are still bound by the 4gb filesize limit.  That sucks.  That's one of the reasons I won't touch USB for PS2.  Splitting the ISO is not an option in my book.  My 2 FAT's with internal HDD's work fine with every game but there limited to 2tb per console.  For my slim I have a portable travel router flashed with cfw and 4tb USB attached (Formatted as NTFS) no 4gb limit so I can have complete ISO's or ZSO's.  I've not noticed any lag comparing my internal HDD games with my external SMB share games.  Previously I had it setup with a raspberry pi zero 2 hosting the SMB server but since you can't buy RPIZ2's anywhere now I went the portable router way and for £30 I'm not disappointed at all.  I get to use my rpiz2 for other projects and I have a dedicated PS2 SMB server.View attachment 311655


Nice. My setup is almost identical. I just used a GL.iNet Mango mini router instead so I didn't need custom FW on it and it was only ~$22 US.


----------



## Acid_Snake (May 28, 2022)

sion_zaphod said:


> So you are still bound by the 4gb filesize limit.  That sucks.  That's one of the reasons I won't touch USB for PS2.  Splitting the ISO is not an option in my book.  My 2 FAT's with internal HDD's work fine with every game but there limited to 2tb per console.  For my slim I have a portable travel router flashed with cfw and 4tb USB attached (Formatted as NTFS) no 4gb limit so I can have complete ISO's or ZSO's.  I've not noticed any lag comparing my internal HDD games with my external SMB share games.  Previously I had it setup with a raspberry pi zero 2 hosting the SMB server but since you can't buy RPIZ2's anywhere now I went the portable router way and for £30 I'm not disappointed at all.  I get to use my rpiz2 for other projects and I have a dedicated PS2 SMB server.View attachment 311655


We are working on porting the FATFS driver, which would give us exFAT support. Hopefully we get it working soon.



CoolMe said:


> How does it & what does it compress exactly? If you don't mind me asking..
> Is there a way to trim just dummy data out of the iso image, without touching anything else like compressing video files etc.
> And even with that, from what i understand, even touching the dummy data would throw the compatibility and the PS2 out of whack, because of how it expects certain data to be in certain places, so disruping that should result in all sorts of problems.. One the big reasons why we never had a compression or trimming tool for the PS2, unlike the GC or Wii..


This is a lossless format, none of the original data is lost, so it's preferable over stripping dummy files. The game doesn't care about the format as long as you feed it the data it needs.
There's no extra FMV stuttering with this, it's very performant even with SMB.


----------



## sion_zaphod (May 28, 2022)

@Acid_Snake some games absolutely refused to work compressed from SMB I know because I've tried exactly the same compressed ISO's from USB and they work and also the same uncompressed ISO's from SMB and they work too.  Is this a problem with the compression or a problem with OPL handling SMB?  Is this likely to change?  Is there any reason that some games will never be playable in a compressed state (even games on internal HDD).

While this is great for PS2 I do not see this ever being a thing for NGC with Nintendont or Swiss.  I've yet to meet a single NKIT iso that didn't just work (with the entire library of games No DUPS fitting in at 650gb).  Which is absolutely awesome for archiving purposes.  Is there any way to extract a ZSO back to its original state?  The last I checked the script didn't work to extract.


----------



## Acid_Snake (May 28, 2022)

sion_zaphod said:


> @Acid_Snake some games absolutely refused to work compressed from SMB I know because I've tried exactly the same compressed ISO's from USB and they work and also the same uncompressed ISO's from SMB and they work too.  Is this a problem with the compression or a problem with OPL handling SMB?  Is this likely to change?  Is there any reason that some games will never be playable in a compressed state (even games on internal HDD).
> 
> While this is great for PS2 I do not see this ever being a thing for NGC with Nintendont or Swiss.  I've yet to meet a single NKIT iso that didn't just work (with the entire library of games No DUPS fitting in at 650gb).  Which is absolutely awesome for archiving purposes.  Is there any way to extract a ZSO back to its original state?  The last I checked the script didn't work to extract.


Some games do refuse to work, mainly those that are very sensitive to transfer speeds.
Many of them get fixed with Mode 1, sometimes also Mode 2.
Also for SMB, the best cache size seems to be 12.


----------



## sion_zaphod (May 28, 2022)

@Acid_Snake changing the SMB cache to 12 has no effect on the problem games.  For instance you stated the Aggressive Inline works fine from USB apart from the FMV stutter  I can confirm it works from USB compressed but exactly the same game black screens from SMB no matter what mode combinations I try.


----------



## Acid_Snake (May 28, 2022)

sion_zaphod said:


> @Acid_Snake changing the SMB cache to 12 has no effect on the problem games.  For instance you stated the Aggressive Inline works fine from USB apart from the FMV stutter  I can confirm it works from USB compressed but exactly the same game black screens from SMB no matter what mode combinations I try.


Yeah it has black screen on HDD too:
https://docs.google.com/spreadsheets/d/1K7szQS_9VG8es22eORw3xXTXxp5bZRpHOL6YJDH7S6c/edit#gid=0


----------



## sion_zaphod (May 28, 2022)

Is that a ZSO problem or OPL?  Meaning is it something that can be fixed?


----------



## Acid_Snake (May 28, 2022)

sion_zaphod said:


> Is that a ZSO problem or OPL?  Meaning is it something that can be fixed?


Most likely an issue with the game. Many games expect data to be read at the specific rate of the DVD speeds they were built for and easily break when it is either too fast or too slow.
ZSO completely changes the way the game data is accessed and the timings, sometimes it's faster sometimes it's slower, but it will never be 100% the same transfer rate as a DVD (some ISOs even have this issue but less).
Can it be fixed? For most games Mode 1 fixes it, which tries to limit the speed at which the game is read to that of DVD at 4X, but this function is way too generic and can be improved by making a better simulation of the access times of a DVD.


----------



## sion_zaphod (May 28, 2022)

I still don't understand why that would make compressed games work from usb but not from smb or HDD?


----------



## Acid_Snake (May 28, 2022)

sion_zaphod said:


> I still don't understand why that would make compressed games work from usb but not from smb or HDD?


because USB 1.1 is slow, doesn't even reach DVD 1X speeds in most cases.


----------



## Acid_Snake (May 28, 2022)

Hey guys, since the ZSO code is now in the main OPL repository, I've updated the original post so now the download link is the latest Official OPL Release Page.

From now please do your test reports and downloads from the latest OPL version from the *Official OPL Github Repository*.


----------



## Andre-Cardozo (May 29, 2022)

any method to work iso zso on internal hdd.? - I can't transfer the zso to the internal hdd HDLdump works and recognizes the hdd , But it doesn't recognize zso format it only recognizes iso format .. Making false the report that we can use hdldump to transfer these through the cable connected to the network adapter -... I would like to know if anyone out there managed to send the ZSO to the Internal HDD, if you can do that, could you indicate a tutorial with images or videos on how to do this .. ? Thank you very much


----------



## sion_zaphod (May 29, 2022)

Andre-Cardozo said:


> any method to work iso zso on internal hdd.? - I can't transfer the zso to the internal hdd HDLdump works and recognizes the hdd , But it doesn't recognize zso format it only recognizes iso format .. Making false the report that we can use hdldump to transfer these through the cable connected to the network adapter -... I would like to know if anyone out there managed to send the ZSO to the Internal HDD, if you can do that, could you indicate a tutorial with images or videos on how to do this .. ? Thank you very much


I totally agree.  It's all well and good people saying zso's work fine from HDD but no one has decribed the method of transferring the games.  The git is no help either.  I've always used *HDL Batcher* to transfer iso's to my internal drives.  Since I connect the drive to my pc through a SATA caddy and transfer hundreds of games in one go.  HDL Batcher uses HDL_Dump so it shouldn't be too hard to adapt the batch process but still need instruction.


----------



## Andre-Cardozo (May 29, 2022)

sion_zaphod said:


> I totally agree.  It's all well and good people saying zso's work fine from HDD but no one has decribed the method of transferring the games.  The git is no help either.  I've always used *HDL Batcher* to transfer iso's to my internal drives.  Since I connect the drive to my pc through a SATA caddy and transfer hundreds of games in one go.  HDL Batcher uses HDL_Dump so it shouldn't be too hard to adapt the batch process but still need instruction.


I've tried everything, but absolutely everywhere on the internet I only see people testing and doing the process over the usb - when they don't have the answers to give me about how that could work on the internal hdd they always direct me to the address of the Github developers .. expressly saying that there is the answer , but I tell you that it was the first place I was there

 -  i would very much like to find out the secret of how the developer managed to transfer the iso zso to the internal hdd - it would save my life and i would be infinitely grateful to hin .  - I left the most relevant part


----------



## GDX (May 30, 2022)

sion_zaphod said:


> I totally agree.  It's all well and good people saying zso's work fine from HDD but no one has decribed the method of transferring the games.  The git is no help either.  I've always used *HDL Batcher* to transfer iso's to my internal drives.  Since I connect the drive to my pc through a SATA caddy and transfer hundreds of games in one go.  HDL Batcher uses HDL_Dump so it shouldn't be too hard to adapt the batch process but still need instruction.


I added a compression option for zso when transferring to hard drive
there are also other options that you may find useful

NOTE: do not convert your games to .zso first the batch will do it automatically after detecting iso information such as game id and CD or DVD media type

compatible only with windows for the moment

https://github.com/GDX-X/PFS-BatchKit-Manager/


----------



## Andre-Cardozo (May 30, 2022)

GDX said:


> Eu adicionei uma opção de compactação para zso ao transferir para o disco rígido
> há também outras opções que você pode achar úteis
> 
> NOTA: não converta seus jogos para .zso primeiro, o lote fará isso automaticamente após detectar informações iso, como ID do jogo e tipo de mídia de CD ou DVD
> ...


Success ... Thank you very much - I did everything as shown and what I have now is the reality of a dream in my hands - I would like to thank you for taking your precious time to help us, I use the NFS Most Wanted game as my base because I love this game - and I wanted to know how it would behave after these changes - At first I had a black screen having to restart the console several times.

So I tested the compatibility modes and modes 1 and 2 together worked for me - I also used the GSM 1080i mode and it works wonderfully - The transfer speed is insanely fast 14Mbps... When I selected Iso it did the file conversion on the temp page .. After saving the ZSO on the main drive it automatically starts sending it to the Playstation 2 Internal HDD - Everything was done by USB adaptation - With the ps2 hd connected to the USB - How wonderful friends - I took some pictures - If prohibited, the administrator can remove them -

To the master GDX Member who shared the work and to everyone who actively participates in this work, thank you very much .. I will test everything now and I bring you any news - A big hug to all


----------



## lauty29 (May 31, 2022)

Wow this is great.
I just tried SHOX (NTSC/U) USB / PS2 Slim 90001. Has slowdowns at startup (that's normal for usb anyways) but works just fine.


----------



## Acid_Snake (Jun 2, 2022)

Guys an Important *update*:
I've attached (in the main post) a new build with *exFAT* support, allows you to have files above 4GB on USB devices without splitting!


----------



## Acid_Snake (Jun 8, 2022)

Hey guys, the main OPL repository page in github now has exFAT (as well as ZSO) support built-in.
You can find it in this link:
https://github.com/ps2homebrew/Open-PS2-Loader/releases/tag/latest

Remember to always use the latest build from the Official GitHub repo page for the lastest and greatest features that are already stable. Other repos are usually forks with features in their early stages, so be careful with those (unless you want to test and report bugs).


----------



## sion_zaphod (Jun 8, 2022)

From what I read on the git there maybe another OPL update coming soon with improvements to zso cache.  @Acid_Snake will this mean greater compatibility for zso and not just from USB?


----------



## Acid_Snake (Jun 12, 2022)

sion_zaphod said:


> From what I read on the git there maybe another OPL update coming soon with improvements to zso cache.  @Acid_Snake will this mean greater compatibility for zso and not just from USB?


We keep making fixes and improvements so yeah expect more updates.


----------



## sion_zaphod (Jun 12, 2022)

I've identified an issue once you go past 1000 games (on smb at least).  More than 1000 games would have been very difficult on HDD and USB devices if not for ZSO support.  I have compressed 1173 games on 2tb drive (still have 24gb left to play with), that's including ART/CFG/VMC.  I getting issues with OPL not displaying all games/cover art/cfg info, not to mention the compatibility problems with ZSO games.  I've reported this on the git.  Hopefully these little niggles can be ironed out.  If not ZSO format is great archiving purposes.


----------



## CaseyOmah (Jul 4, 2022)

Is the POPS loader tab ever going to become official?


----------



## Acid_Snake (Jul 5, 2022)

CaseyOmah said:


> Is the POPS loader tab ever going to become official?


Yeah it will eventually via the plugin system. It'll allow you to have all your classic roms in OPL and load them directly from there.


----------

