FIX94 / Nintendont

A Wii Homebrew Project to play GC Games on Wii and vWii on Wii U
1.97k stars 327 forks source link

[Request] Add support for games in RVZ format #820

Closed pingrobb closed 4 years ago

pingrobb commented 4 years ago

See more details about the format and its space-saving advantages here: https://dolphin-emu.org/blog/2020/07/05/dolphin-progress-report-may-and-june-2020/

Dimensional commented 4 years ago

The only thing I have to ask is how it will decompress on the fly. Dolphin states you need an additional cpu/core for this format to be able to decompress the chunks of data. Of course, RVZ is just a container that can use 4 different compression formats, each with their own cons and pros, so this might also require more specific information. Nkit.iso format however is less of a compression and more of a space optimization format, primarily used to remove slack space from the images, so it wouldn't have some additional compression that has to be processed, only processing the missing empty space between files in order to keep sector reads accurate for the few games that don't use the filesystem to get data.

pingrobb commented 4 years ago

You do raise a good point. Perhaps while we're waiting for the Nintendon't emulator and the RVZ decompression libraries to get more efficient, we could have Nintendon't decompress the full game to a temporary directory (i.e. "convert" the RVZ file to ISO format) before running it? Obviously, this would be an interim implementation, and the temporary directory would need to be cleaned out as it got full. But all that being said, I've seen RVZ compress Gamecube ISOs to less than 6.5% of their original size, so it would still allow users to store more games on a single SD card or USB Drive. And while most games work fine with the garbage data thrown out (which is one of the ways in which nkit.iso reduces file sizes), some do not.

Individual preferences for RVZ vs nkit.iso aside, I personally feel we should at least try to implement support for the RVZ format here. It should be up to each individual user to decide which format they use to compress their games, not us.

carnage702 commented 4 years ago

You do raise a good point. Perhaps while we're waiting for the Nintendon't emulator and the RVZ decompression libraries to get more efficient, we could have Nintendon't decompress the full game to a temporary directory (i.e. "convert" the RVZ file to ISO format) before running it? Obviously, this would be an interim implementation, and the temporary directory would need to be cleaned out as it got full. But all that being said, I've seen RVZ compress Gamecube ISOs to less than 6.5% of their original size, so it would still allow users to store more games on a single SD card or USB Drive. And while most games work fine with the garbage data thrown out (which is one of the ways in which nkit.iso reduces file sizes), some do not.

Individual preferences for RVZ vs nkit.iso aside, I personally feel we should at least try to implement support for the RVZ format here. It should be up to each individual user to decide which format they use to compress their games, not us.

nintendont is not an emulator at all... it just acts as a bridge between gc calls to turn them into wii calls and run it from wii mode, so yeah this wont ever happen, because the wii is not powerful to do that, nintendont has no memory or speed to decompress an entire game lol what do you think the wii cpu is? the poor wii cpu runs at 729mhz and you want to decompress an entire game woudl you wait 30 minutes to play every single time? lol.

Again rvz was made for emulators, nintendont is not an emualtor, nor it has extra cpu cores to just keep decompressing stuff to use...

NintendoManiac64 commented 3 years ago

I have a question on this.

It was my impression that Wii software running on vWii could be made to access the three CPU cores of the Wii U.

But outside of that, when I asked about it on the Dolphin forums around a year ago regarding the performance requirements for decompression, they claimed that it doesn't actually need much CPU and that a separate core was just the recommendation so as to not bog down the existing heavy-lifting occurring from emulating the CPU and GPU. So considering the extra 50% processor headroom that the Wii and Nintendont has over native GameCube, it might not actually be that impossible specifically for GameCube games and Nintendont.

Regardless, the Dolphin devs actually think that the real bottleneck would be RAM.

Relevant Dolphin forum discussion: https://forums.dolphin-emu.org/Thread-dolphin-progress-report?pid=510572#pid510572

carnage702 commented 3 years ago

I have a question on this.

It was my impression that Wii software running on vWii could be made to access the three CPU cores of the Wii U.

But outside of that, when I asked about it on the Dolphin forums around a year ago regarding the performance requirements for decompression, they claimed that it doesn't actually need much CPU and that a separate core was just the recommendation so as to not bog down the existing heavy-lifting occurring from emulating the CPU and GPU. So considering the extra 50% processor headroom that the Wii and Nintendont has over native GameCube, it might not actually be that impossible specifically for GameCube games and Nintendont.

Regardless, the Dolphin devs actually think that the real bottleneck would be RAM.

Relevant Dolphin forum discussion: https://forums.dolphin-emu.org/Thread-dolphin-progress-report?pid=510572#pid510572

wii mode cant acess the other cores afaik and even if it did nintendont is not made for multicore you would have to rewritten the entire program and made a version specifically for wiiu also the wii itself has very few mb of ram and not gb like your pc or phone with dolphin afaik wii has like 24 mb of one ram and 60 of the other so yeah and nintendont takes almost all the ram to work that is why even using 16mb mc emulation can make nintendont stutter abit when saving.