Jump to content
LaunchBox Community Forums
Landcross

Support (sort of) for nNASOS compressed gamecube/wii games

Recommended Posts

There's a not very well known program called nNASOS that can compress GameCube and Wii games lossless. Not only is it lossless, it also saves a ton of space and a ton of time compared to zip or 7z. Depending on the amount of games you have, you can save tens or hundreds of gigabytes. And decompression takes only about 10 seconds per game instead of the minutes a 7z takes on my cpu. That's all great, but the drawback is that Dolphin doesn't natively support the compressed file format that nNASOS creates. I opened a feature request for Launchbox to support nNASOS (which I think is super simple yet has great benefits). However, so far nothing has been done in that regard. Not even sure if @Jason Carr has read it :P Not that I blame the guy, he's probably working on a ton of other cool stuff.

Nevertheless, I wanted to (try to) make use of the space savings now. So, I got the idea to create some kind of proxy. A program in between Launchbox and Dolphin that decompresses the rom file.

Thus, I made a really simple (and probably crappy, first time using PowerShell) PowerShell script and added it as an 'Emulator' in Launchbox. I wasn't really expecting it to work, and... it didn't. It just opened the PowerShell script in notepad instead of running it . I was like 'Damn it! The one time I decide to use Powershell instead of batch, it doesn't launch ¬¬'. But I was to lazy to rewrite it in another language (a batch file for example) so I found a little tool that converts a powershell script into an .exe. I added that to Launchbox and low and behold: it actually worked and launched the game in Dolphin. So many places where something could go wrong, but it worked.

So, this is the chain it creates: Launchbox -> Proxy -> nNASOS -> Dolphin

But it works like a charm. I can add compressed roms to Launchbox and actually launch them with the click of a button. There's only 1 major drawback: it doesn't remove the decompressed file after Dolphin has been closed (just like Launchbox removes an decompressed 7z file after exit). And I'm not sure if that's even possible without adding this functionality directly in Launchbox. If anyone has any idea if that's possible and how, please let me know.

If anyone wants the powershell script, let me know and I'll upload it somewhere. Honestly not sure if there would be any interest it, at least not with that big drawback.

  • Like 1

Share this post


Link to post
Share on other sites

I've actually got it completely working today, including the removal of the decompressed iso. Works great now. I can save hundreds of gigabytes on gamecube (and especially wii) games and at the same time launching a game is also a lot faster then having to wait on a 7z to extract. Gamecube games take ~15 seconds to decompress and wii games take about 50 seconds to decompress (which is still a lot faster than 7z) on my machine (with an i5 4690k).

I'll tidy up the script and then put a download link here, although again; not sure if anyone here is even interested in it xD:P

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, dragon57 said:

Yes, please post what you have. I'm interested in it.

I had to edit a few things, because it's not that useful to other people if the paths to nNASOS and Dolphin are hardcoded in the script. :P Powershell was probably not the best idea (I mainly decided to use it just because I never used it before), but I'm too lazy to rewrite it in another language. And it works, so there's not much of a problem, it's more an annoyance.

Here are the files. It contains both the source powershell script and an exe generated with this tool (because launching a powershell script from Launchbox doesn't work, again, powershell was probably not the best idea). So if you don't trust a random .exe file from the internet you can also generate your own using that tool.

Usage:

  1. Download nNASOS from here if you don't already have it and place it somewhere. Obviously you also need to place the nNASOS-Proxy.exe somewhere too.
  2. Add nNASOS-Proxy.exe as an emulator in Launchbox.
  3. You need to add 2 command-line parameters in the edit-emulator window: the (full) path to nNASOS and the full path to Dolphin. It's best to surround them in quotes. So, the parameters should look something like this:
    "D:\full\path\to\nNASOS.exe" "D:\full\path\to\dolphin.exe"
  4. Then launch a gamecube or wii game (which should be already compressed using nNASOS to the .dec format) using nNASOS-Proxy as emulator and it should work. It should pop-up a console window, decompress the file and launch dolphin. Don't close the console yourself, otherwise it won't remove the decompressed .iso after you close dolphin.

Again, it's a super simple script (just a few lines) and it basically doesn't have any failsaves or checks. E.g. if you try to launch anything other and a nNASOS compressed .dec file using it, it probably crashes.

Edited by Landcross
  • Like 1

Share this post


Link to post
Share on other sites
On 3/9/2017 at 9:43 PM, Landcross said:

You need to add 2 command-line parameters in the edit-emulator window: the (full) path to nNASOS and the full path to Dolphin. It's best to surround them in quotes. So, the parameters should look something like this:
"D:\full\path\to\nNASOS.exe" "D:\full\path\to\dolphin.exe"

Hi, 

At this point you are referring to the launchbox window or the nNASOS-Proxy.exe configuration file. Where I put this comand line? Because putting it in the command line of the launchbox window, decompresses but does not open dolphin.

Please help .

Captura 1.PNG

Captura 2.PNG

Share this post


Link to post
Share on other sites
7 hours ago, camboico said:

Hi, 

At this point you are referring to the launchbox window or the nNASOS-Proxy.exe configuration file. Where I put this comand line? Because putting it in the command line of the launchbox window, decompresses but does not open dolphin.

Please help .

You have to enter the location to the .exe file and not the folder.

  • Like 1

Share this post


Link to post
Share on other sites
On 21/2/2018 at 10:06 AM, Landcross said:

You have to enter the location to the .exe file and not the folder.

I tried this and nothing. When running the game from launchbox, a black window for 2-3 seconds with several sentences in red ... I guess with an error message.

Captura3.PNG

Share this post


Link to post
Share on other sites
2 hours ago, camboico said:

I tried this and nothing. When running the game from launchbox, a black window for 2-3 seconds with several sentences in red ... I guess with an error message.

You shouldn't have to edit or even need the .ps1 file. You should use the .exe version en pass the parameters from within Launchbox.

This is my configuration (note that my roms are compressed in an archive, thus I have selected 'Extract ROM archives before running'. If your roms aren't archived you don't need to select that option):
image.thumb.png.0c0cdebb69c69e786db29159ec6a7363.png

EDIT: if it still doesn't work; maybe the script has some problems with characters in your path, like the small a and stuff. You can try another (simpler) path as a test to see if that's the problem.

Edited by Landcross
  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, Landcross said:

You shouldn't have to edit or even need the .ps1 file. You should use the .exe version en pass the parameters from within Launchbox.

This is my configuration (note that my roms are compressed in an archive, thus I have selected 'Extract ROM archives before running'. If your roms aren't archived you don't need to select that option):
image.thumb.png.0c0cdebb69c69e786db29159ec6a7363.png

EDIT: if it still doesn't work; maybe the script has some problems with characters in your path, like the small a and stuff. You can try another (simpler) path as a test to see if that's the problem.

Thanks so much... I finally got it.

 I use it in wii ... you also comment that it can be done with gamecube. To pass the cube iso a. dec would be to drag each iso towards the Nnasos.exe true?

Share this post


Link to post
Share on other sites

Hi, I have new problems ...

I have changed my PC, configuring nNasos again as I had before changing only the new paths ... At the end of the decompression Dolphin gives me this error.

I spend all afternoon spinning both the script and the .ps1 file and I always get the same error.


If you could give me some advice I would thank you very much

Captura.PNG

Share this post


Link to post
Share on other sites

Just set this up for the first time as a full USA Wii set is almost 2TB NASOS compressed and 7zipped. This is excellent and it worked a treat first try. Thank's a ton for this!

  • Like 1

Share this post


Link to post
Share on other sites

do you know about how much it actually compresses a gamecube and wii file? Like a side-by-side comparison?  I'd like to see that, would be interesting.  Sounds like a great thing to take advantage of. 

Share this post


Link to post
Share on other sites
13 hours ago, cammelspit said:

Just set this up for the first time as a full USA Wii set is almost 2TB NASOS compressed and 7zipped. This is excellent and it worked a treat first try. Thank's a ton for this!

Cool! Thanks! Nice to hear it's useful :)

43 minutes ago, damageinc86 said:

do you know about how much it actually compresses a gamecube and wii file? Like a side-by-side comparison?  I'd like to see that, would be interesting.  Sounds like a great thing to take advantage of. 

nnasos does not really compress I believe. It decrypts the iso and removes the garbage data. So the space savings really depend on the game and how much data they use. nnasos can remove e.g. 50 MB from game 1 but 3GB of game 2. Though, even for the games where the space savings from nnasos itself might be small it's still beneficial as they can be compressed much better (by e.g. zip or 7z) because they are decrypted.

Share this post


Link to post
Share on other sites

So question what is the benefit of using this tool if you already used Dolphin to do its compression/space removal format anyway? Also I have the full Wii set in a wbfs so does that tool help with this? Always interesting in tools that help make the full sets smaller and run just fine. Done it with other tools like converting all dreamcast games from gdi to chd saving 500GB easy.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×