Any thoughts on adding ZSO (LZ4) support to Nintendont?

Lv44ES_Burner

Well-Known Member
Member
Joined
Dec 11, 2020
Messages
141
Trophies
0
Age
35
Location
Perdition's flames
XP
604
Country
United States
I've been thinking it would be far more useful and cross-platform friendly for OPL (and, to be honest, any other loader on competing hardware) to better support the MAME .CHD format that's been gaining steady traction with emulators as of late. While I've read Acid_Snake's writeup there in that thread about the .ZSO format, I believe .CHD would make more sense to adapt, as that would mean users need only one storage format for their files, whether it be for PCSX2's support of CHDs or for OPL's, and the same benefits can be had of .CHD that are now had with the research done in .ZSO and using the LZ4 compression mechanism.

But I'm just a blob, what do I know?
 

_47iscool

Noticer
OP
Member
Joined
Nov 18, 2013
Messages
662
Trophies
1
XP
1,105
Country
United States
I've been thinking it would be far more useful and cross-platform friendly for OPL (and, to be honest, any other loader on competing hardware) to better support the MAME .CHD format that's been gaining steady traction with emulators as of late. While I've read Acid_Snake's writeup there in that thread about the .ZSO format, I believe .CHD would make more sense to adapt, as that would mean users need only one storage format for their files, whether it be for PCSX2's support of CHDs or for OPL's, and the same benefits can be had of .CHD that are now had with the research done in .ZSO and using the LZ4 compression mechanism.

But I'm just a blob, what do I know?
Check this comment:
https://github.com/ps2homebrew/Open-PS2-Loader/issues/225#issuecomment-1125244689

Using chd on the Wii may cause stuttering issues, which is why I said ZSO.
I know the Wii is a good bit faster than the PS2, but still.

I always thought chd was a MAME-exclusive format.
 
  • Like
Reactions: Acid_Snake

Lv44ES_Burner

Well-Known Member
Member
Joined
Dec 11, 2020
Messages
141
Trophies
0
Age
35
Location
Perdition's flames
XP
604
Country
United States
No, recently CHD was adopted as a viable format for the PCSX2 emulator (as well as Duckstation and PCSX-ReARMed) for playing and storing backups of PS2 (as well as PSOne) games by way of its own variation of lossless compression and decompression of files in archive-quality, 1:1 conversions. Best audio quality, best data throughput from what has been reported by users of the PCSX2, Duckstation and PCSX-ReARMed cores for LibRetro/Retroarch. That's why I say that. CHDv5 uses LZMA compression from 7zip for the data streams and lossless FLAC compression for the audio streams for the highest optimizations possible over using BIN+CUE+MP3/BIN+CUE+WAV alone.
 

_47iscool

Noticer
OP
Member
Joined
Nov 18, 2013
Messages
662
Trophies
1
XP
1,105
Country
United States
No, recently CHD was adopted as a viable format for the PCSX2 emulator (as well as Duckstation and PCSX-ReARMed) for playing and storing backups of PS2 (as well as PSOne) games by way of its own variation of lossless compression and decompression of files in archive-quality, 1:1 conversions. Best audio quality, best data throughput from what has been reported by users of the PCSX2, Duckstation and PCSX-ReARMed cores for LibRetro/Retroarch. That's why I say that. CHDv5 uses LZMA compression from 7zip for the data streams and lossless FLAC compression for the audio streams for the highest optimizations possible over using BIN+CUE+MP3/BIN+CUE+WAV alone.

Maybe. But PC's are much stronger than the Wii.

But it seems that chd has become more flexible now, so who knows?
 

Acid_Snake

Developer
Developer
Joined
Aug 20, 2019
Messages
689
Trophies
0
Age
30
XP
1,945
Country
Spain
No, recently CHD was adopted as a viable format for the PCSX2 emulator (as well as Duckstation and PCSX-ReARMed) for playing and storing backups of PS2 (as well as PSOne) games by way of its own variation of lossless compression and decompression of files in archive-quality, 1:1 conversions. Best audio quality, best data throughput from what has been reported by users of the PCSX2, Duckstation and PCSX-ReARMed cores for LibRetro/Retroarch. That's why I say that. CHDv5 uses LZMA compression from 7zip for the data streams and lossless FLAC compression for the audio streams for the highest optimizations possible over using BIN+CUE+MP3/BIN+CUE+WAV alone.
The key word here is "emulator" and "PC", CHD is a very complex format with a very complex library to drive it.
The PS2 would have never been able to successfully support it. ZSO was made with lightweigth and speed in mind, it was made for the PSP, so it has the potential to work on pretty much every old DVD-based console. The LZ4 algorithm is fast enough and the CSO/ZSO readers are so well optimized today that even the poor PS1 CPU on the PS2 can handle it.

I did check Nintendont's source code and it seems both viable and simple to implement.
Nintendont already supports a custom CSO format (it doesn't use compression though but rather trims empty blocks), so adding ZSO to it should be trivial.
 
  • Like
Reactions: _47iscool and sith

Lv44ES_Burner

Well-Known Member
Member
Joined
Dec 11, 2020
Messages
141
Trophies
0
Age
35
Location
Perdition's flames
XP
604
Country
United States
That's fair enough, and I had actually forgotten you had a user account here. I thank you for the clarification, even if it means I'm a bit crestfallen in regards for using CHDs. But I am very satisfied nonetheless with the advancements made in supporting ZSOs and look forward to the future of OPL using them in tandem with the MX4SIO (hopefully DECKARD-based systems like my own SCPH-90001 will benefit in the longer run), and no doubt it can be very beneficial to Nintendont and other USB loaders on the Wii as well. Whatever other optimizations can be done in tandem with the format can only benefit less powerful machines, right?
 

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,455
Country
Venezuela
I've been thinking it would be far more useful and cross-platform friendly for OPL (and, to be honest, any other loader on competing hardware) to better support the MAME .CHD format that's been gaining steady traction with emulators as of late.

Using chd on the Wii may cause stuttering issues, which is why I said ZSO.
I know the Wii is a good bit faster than the PS2, but still.

I always thought chd was a MAME-exclusive format.

Maybe. But PC's are much stronger than the Wii.

CHD is already supported in GenesisPlus GX since a couple of years. More recently, it was also added for MD+ games. It's doable.
 
  • Like
Reactions: _47iscool

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,455
Country
Venezuela
I don't know if you have noticed, but there's a big difference between a genesis game on an emulator and a ps2 game on retail console.
I don't know if you have noticed, but I just said it's doable, on the Wii, which is why I specifically mention ekeeke's implementation on GenesisPlus GX, which BTW isn't for "a genesis game", it was implemented for Sega CD, which means Data+CD audio streaming.

Didn't mention PS2 examples, nor I care about PS2.

Using chd on the Wii may cause stuttering issues, which is why I said ZSO.
I know the Wii is a good bit faster than the PS2, but still.

I always thought chd was a MAME-exclusive format.
I also specifically quoted this as a way of letting the guy know CHD is not MAME exclusive. The same way CSO or Nkit is not "Nintendont-exclusive".
 

Acid_Snake

Developer
Developer
Joined
Aug 20, 2019
Messages
689
Trophies
0
Age
30
XP
1,945
Country
Spain
I don't know if you have noticed, but I just said it's doable, on the Wii, which is why I specifically mention ekeeke's implementation on GenesisPlus GX, which BTW isn't for "a genesis game", it was implemented for Sega CD, which means Data+CD audio streaming.

Didn't mention PS2 examples, nor I care about PS2.


I also specifically quoted this as a way of letting the guy know CHD is not MAME exclusive. The same way CSO or Nkit is not "Nintendont-exclusive".
Last I checked Nintendont wasn't really swimming in loads of free RAM, so I very much doubt you can fit the CHD library in there. What you fail to understand here is the complexity behind the format and the library that drives it, it's far from a simple format with a simple reader like CSO/ZSO.
 
  • Like
Reactions: _47iscool

MikaDubbz

Well-Known Member
Member
Joined
Dec 12, 2017
Messages
3,843
Trophies
1
Age
36
XP
7,187
Country
United States
Using chd on the Wii may cause stuttering issues, which is why I said ZSO.
I know the Wii is a good bit faster than the PS2, but still.
I don't get this thread, are you experiencing stuttering of GameCube games running in Nintendont? That shouldn't happen, Nintendont isn't an emulator, is really just a native GameCube game loader that runs all GameCube games at full speeds without stuttering on the Wii (or Wii U).

Now if the goal is just to reduce the file sizes of your GameCube games on your drive or SD card, then OK, I can understand that, but if the thought is that performance will greatly improve or something, I'm kinda left wondering if I'm missing something here as Nintendont performance is truly fantastic as is.
 

Acid_Snake

Developer
Developer
Joined
Aug 20, 2019
Messages
689
Trophies
0
Age
30
XP
1,945
Country
Spain
I don't get this thread, are you experiencing stuttering of GameCube games running in Nintendont? That shouldn't happen, Nintendont isn't an emulator, is really just a native GameCube game loader that runs all GameCube games at full speeds without stuttering on the Wii (or Wii U).

Now if the goal is just to reduce the file sizes of your GameCube games on your drive or SD card, then OK, I can understand that, but if the thought is that performance will greatly improve or something, I'm kinda left wondering if I'm missing something here as Nintendont performance is truly fantastic as is.
No you misunderstood, nobody is saying that Nintendont has stuttering right now, he's just proposing to use ZSO to avoid stuttering if a compressed format is to be used since it's the fastest and lightest format. Implementing CHD might indeed either break things or make it go slower due to the more heavy compression algorithms.
 
  • Like
Reactions: _47iscool

MikaDubbz

Well-Known Member
Member
Joined
Dec 12, 2017
Messages
3,843
Trophies
1
Age
36
XP
7,187
Country
United States
No you misunderstood, nobody is saying that Nintendont has stuttering right now, he's just proposing to use ZSO to avoid stuttering if a compressed format is to be used since it's the fastest and lightest format. Implementing CHD might indeed either break things or make it go slower due to the more heavy compression algorithms.
Ah I see, so the goal is just to decrease the size of the games on drive or sd card. I'm certainly in favor of that, though it's also not something I'm dying for lol.
 

niuus

Well-Known Member
Member
Joined
Mar 4, 2016
Messages
2,023
Trophies
1
XP
4,455
Country
Venezuela
Last I checked Nintendont wasn't really swimming in loads of free RAM, so I very much doubt you can fit the CHD library in there. What you fail to understand here is the complexity behind the format and the library that drives it, it's far from a simple format with a simple reader like CSO/ZSO.
Can't say I care about your implementation. But I sure don't blame you for not being as talented as ekeeke in understanding the complexity behind the format and the library that drives it. Nkit still covers the what CHD or ZSO does. Good luck on your endeavors!
 

Acid_Snake

Developer
Developer
Joined
Aug 20, 2019
Messages
689
Trophies
0
Age
30
XP
1,945
Country
Spain
Can't say I care about your implementation. But I sure don't blame you for not being as talented as ekeeke in understanding the complexity behind the format and the library that drives it. Nkit still covers the what CHD or ZSO does. Good luck on your endeavors!
What endeavors? I'm not doing anything here, you're the one who should have all the luck in the world to get CHD working on Nintendont.
You speak nonsense comparing an emulator of a 16 bit machine with gamecube games on retail hardware, and you talk about talent? I might not have "enough talent" but at least I'm not stupid enough to believe that a 16 bit game on an emulator is any proof of anything in regards to the power of a 7th gen machine natively running games that are only one generation behind.
 

_47iscool

Noticer
OP
Member
Joined
Nov 18, 2013
Messages
662
Trophies
1
XP
1,105
Country
United States
I don't get this thread, are you experiencing stuttering of GameCube games running in Nintendont? That shouldn't happen, Nintendont isn't an emulator, is really just a native GameCube game loader that runs all GameCube games at full speeds without stuttering on the Wii (or Wii U).

Now if the goal is just to reduce the file sizes of your GameCube games on your drive or SD card, then OK, I can understand that, but if the thought is that performance will greatly improve or something, I'm kinda left wondering if I'm missing something here as Nintendont performance is truly fantastic as is.

No. No stuttering. It would help to save space.

About Nintendont: I know exactly what it is. I used it quite a lot in its early days. It is basically virtualization on a faster machine.
 

sion_zaphod

Ex-Galactic President; confidence trickster; etc
Member
Joined
Sep 4, 2011
Messages
513
Trophies
1
Age
45
Location
Wales
XP
2,090
Country
If this compression could be implemented in Swiss-GC how would the compression compare to that of NKIT? So far the entire GC library USA dominant without dups in NKIT format is 640 gb. If using LZ4 compression could get that down to 512 gb I'm on board if not I do not see the point.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • Xdqwerty @ Xdqwerty:
    also gonna install twilight menu in my r4 flashcard
  • Psionic Roshambo @ Psionic Roshambo:
    One thing that just occurred to me.... The sound on the 2600 sucked less back then the harsh sound we hear now is from infinitely better speakers we have now, back when the 2600 was new speakers produced a almost muffled sound, like CRTs made old graphics look slightly better.
  • Psionic Roshambo @ Psionic Roshambo:
    I wonder if I could recommend that to some emulation devs that perhaps the sound could use some smoothing out to simulate those old TVs
  • Psionic Roshambo @ Psionic Roshambo:
    I think a few of the early systems could benefit from that, at least up to the 8 bit generation, by the 16 bit generation I think TVs had gotten a lot better in almost every way
  • Xdqwerty @ Xdqwerty:
    i dont have an sd card adapter but I have an usb sd card adapter
  • K3Nv2 @ K3Nv2:
    Old people games
  • Xdqwerty @ Xdqwerty:
    its not the one that comes with the r4
  • Xdqwerty @ Xdqwerty:
    doesnt work (my flashcard is from r4isdhc.com)
  • Xdqwerty @ Xdqwerty:
    might install ysmenu first
  • Psionic Roshambo @ Psionic Roshambo:
    Try Wood firmware
  • Psionic Roshambo @ Psionic Roshambo:
    For your R4
  • Psionic Roshambo @ Psionic Roshambo:
    It's old but it's the best firmware out for DS stuff
  • Xdqwerty @ Xdqwerty:
    it says it only works for the original R4, R4i Gold (r4ids.cn), R4iDSN (r4idsn.com) and Acekard R.P.G.
  • Xdqwerty @ Xdqwerty:
    nvm it does support mine
  • Xdqwerty @ Xdqwerty:
    but why choose it over ysmenu @Psionic Roshambo?
  • Xdqwerty @ Xdqwerty:
    bc im stupid?
  • Xdqwerty @ Xdqwerty:
    yea ik im stupid
  • Xdqwerty @ Xdqwerty:
    good night
  • Psionic Roshambo @ Psionic Roshambo:
    Just give it a try, but honestly if you have a 3DS you can play DS games without a card just off the internal SD card
  • Psionic Roshambo @ Psionic Roshambo:
    Slightly slower loading but a bit more convenient
  • BakerMan @ BakerMan:
    guys, my fuckin headphones have an out of place speaker
  • K3Nv2 @ K3Nv2:
    Did you try wearing them?
    B @ btjunior: @Xdqwerty 16