@acrash -- Your work on this is absolutely phenomenal. REALLY versatile, multi-purpose tools once you know what it all does-- none of us plebs could be doing any of this right now without you! And the functionality of melonDS is just fabulous!
There's just one problem that doesn't occur in no$gba... in melonDS, there's no ability to drag your mouse PAST the touch screen without it freaking out! If you do that, it immediately starts going in the wrong direction, rather than sticking to the corresponding edges of the touch screen like it does in no$gba!
Here's a comparison of what happens, even trying to drag games around on the menu...
Anyone know any way to fix this problem?
I just posted it as an issue on the GitHub. This is a pretty big dealbreaker on games like X-SCAPE. I'll constantly go too far to one side of the touch screen trying to steer and it'll flip me in the opposite direction.
EDIT: It's been fixed in
the Nightly build!
Here it is for Mac users, too! (This is accessed through
this link in the README.md.)
I also made a personal build that's less bulky due to multiple frameworks not needing to be in there for all platforms.
With that out of the way, time to prattle on a bit about my experience.
---
So I started out using no$gba and documented my tricky process to adding new games to the system
here, involving Unlaunch, HiyaCFW and TWiLightMenu++. But melonDS allows none of this at the moment due to firmware incompatibility.
HERE'S A WHOLE BUNCH OF DUMB THINGS I LEARNED:
• This is probably a problem that will only affect
me, but as a Mac user who emulates Windows 10 in Boot Camp, OSFMount refuses to properly lock any drive after modification for me. So, instead, I have to run Windows XP in VirtualBox and use an older version [
OSFMount v1.5.1015 (32-bit)] to properly mount and dismount my Decrypted NANDs.
Whatever works.
• The instructions say it doesn't matter what you name your ROMs when you put them in the "Input" folder-- but it actually matters a bit! I noticed the "TMD Check.bat" throwing me an error when my ROM name had an exclamation point in it, so I made special care to modestly title my ROMs.
• The "DSi-1.mmc" file that serves as a NAND in no$gba is essentially the same as the .bin that melonDS wants! All you have to do is rename it to "NAND.bin", and all of these decryption tools will work perfectly with it. Or if you wanted to bring your melonDS NAND to no$gba, just rename it "DSi-1.mmc".
... One tricksy issue about no$gba-to-melonDS, though, which you're likely to encounter: If you try to put a NAND into melonDS that actually has a wallpaper image up on the main screen, it will NOT BOOT. This is because literally anything that uses the Camera doesn't work on melonDS. (Or no$gba, although no$gba seems to at
least be fine with the wallpaper.) Therefore, before you do anything, you either have to completely reformat your DSi and delete everything on it on your actual DSi, or on no$gba, because no$gba recognizes your wallpaper.
• Speaking of which, when the Instructions.txt talks about Formatting, this is an IN-SYSTEM thing. I thought maybe my Mac version of melonDS was missing something in the
melonDS Preferences to format my NAND exactly the way it wanted to for the sake of this process, but no! The document is referring to literally going into the
DSi System Settings app-- that big obvious app with the wrench-- and then tapping the -> arrow and selecting "Format System Memory" to format and delete everything
there. Duh-doy. Anyway, this is going to be an important thing to do regardless of if you're using your no$gba NAND or if you're using someone else's already functioning melonDS NAND, since as the document mentions, adding more games won't work unless you're freshly formatted, with everything deleted, and importantly, no wallpaper added through the unsupported Camera function.
• If you, like me, added Unlaunch, HiyaCFW and TWiLightMenu++ to your NAND, you may as well start over with an unhacked NAND dump rather than going through all the efforts of uninstalling everything. However, if you feel you have no choice but to work with what you have, make sure you make a copy of the stuff on your SD card and your NAND before. You might make some mistakes. (
Remember: Your SD card is now your main NAND with all this hacking installed-- if you try to, say, format your DS, it'll actually be deleting everything off your
SD card.) To properly uninstall all the hacking, first you reopen Unlaunch, run that uninstaller,
then Format by opening the System Settings app inside the DSi system.
• You probably want to preserve your saves before formatting! Good news: this is pretty easy.
If the saves in question are for a game that was installed on your NAND without using the Title Manager for HiyaCFW, then it's actually on your NAND. Just drop your NAND into that Input folder, name it "NAND.bin", then run "Decrypt NAND.bat". Run OSFMount and use it to mount the "DecryptedNAND.bin" that will have appeared in the "Mount" folder. Inside, you're going to go looking in the "title" folder-- then in the folder labelled "00030004"-- looking for the folder that has the right ID for the game you're trying to extract the save from. You can reverse-engineer that by putting the ROM of the game in question into that "Input" folder and running "List Games IDs.bat", but you can also just look at a compiled list of Game IDs!
I found a great one here that's only missing a few. Inside the folder with the ID, there should be a folder labelled "data" that you can then take a ".sav" file out of that contains all your save data.
If the saves in question
were installed by Title Manager for HiyaCFW, they are probably on the SD's emuNAND. This means you can run OSFMount and use it to mount the SD card, then opening "title", "00030004", then opening the folder with the name of your game's ID, then looking into the "data" folder for the ".sav" file.
Once this is done, you can then copy this ".sav" file in the same directory (replacing the default .sav in there) once the game is installed on your finalized NAND-- just look in the same place: title > 00030004 > [gameID] > data.
• At first, I tried to put as many games as I could possibly fit on one NAND before re-encrypting it, but I found that sometimes, the NAND corrupts when you put on as many as can fit. The instructions say you can install 40 games, but that doesn't actually seem very possible-- unless you had, like, 40 3MB games. I've found somewhere between 10-12 (about 125MB) games tends to be a safe bet, and anything after that, EVEN IF IT TECHNICALLY ISN'T PAST CAPACITY, may corrupt the NAND. If you want to know how Nintendo Blocks correspond with actual filesizes,
use this calculator.
• Speaking of which, I nearly decided to make five separate NANDs to hold all the games that I would switch between, but... BOY, would that be cumbersome. Instead, I found out a way to make it so I could properly keep this all functioning with only one NAND active.
First, I put all 50 games I had planned into the "Input" folder, along with the "NAND.bin" and its "EncryptedTicket.tik" file, then ran "Add Games (Step 1).bat". Then I used OSFMount to mount the "DecryptedNAND.bin" newly generated in the "Mount" folder. Then, also, in the "Mount" folder, I opened up "ticket", then opened up "00030004" (just like in "title"). In there is a whole bunch of ticket files that, in essence, cross-reference your individual NAND, telling the NAND that you can actually install these games.
So, in the newly mounted NAND, I go into: ticket > 00030004 ... and drop all 50 tickets I made for all 50 games into that folder. Then, to compensate for the file limitations, I went to my "Mount" folder, then into: title > 00030004 ... and only selected about 10-12 (about 125MB) of those games and copied those into the same directory in the mounted NAND: title > 00030004.
Then I unmounted the NAND, ran "Add Games (Step 2).bat", took the "New_NAND.bin" created in the "Output" folder, placed it outside of the folder and renamed it, so I'd know what it was...
... then I went back into the "Mount" folder, ran OSFMount to mount the "DecryptedNAND.bin" again, deleted the last 10 games I'd copied into the "00030004" folder, and added another 10, ran "Add Games (Step 2).bat", renamed and moved this next "New_NAND.bin", then went and did it again and again until all 50 games were installed, spread across five different NANDs that all had the right tickets to properly install them!
• It was at this point that I had to make myself an SD card for melonDS-- which is in a different format than no$gba's SDs. Instead, you use an empty, modifiable IMG file created with Virtual SD Card Maker, which is
documented here. This is ran through the Terminal/Shell on your system of choice (it's cross-platform-- Mac, PC, Linux).
For me, as a Mac user, I went to Terminal in Applications > Utilities, then typed in "cd [insert directory where the unzipped OSX folder for Virtual SD Card Maker is]" first, hit Enter, then typed in "./mksdcard -l melonDSi [insert filesize of my choice in MB]M sd.img" Then the .img file is generated in that folder, ready for use.
For the holding of about 50 games (with at least 125MB staying on the NAND), I decided on a 400MB SD card, since I like to be conscientious about space on my computer, hahaha. Then I added this SD card and one of the NANDs to melonDS.
At this point, I then went to each one of the NANDs, went into the DSi's System Settings app, then used Data Management to copy all the games from all of these separate NANDs to my one SD card. Then, I could easily move an installed game back onto the SD card for extra space, then re-install a game from the SD card onto my NAND whenever I want to play something else. And because of that step where I put all 50 tickets onto the NANDs, they'll all work! (As a note, if you
don't put all the tickets on, then games will say they cannot be copied to your NAND.)
• Maybe you're asking yourself, "What format are games and their save files in when you copy them to the SD card?" It compresses the game and all its information into a single BIN file. I'm unsure of what kind of compression this is. Maybe someone else knows! But at the moment, I can't think of a way to switch out save files and such from
there.
• One of the things about not being able to use TWiLightMenu++ is that there's no way to run any foreign-only games unless you dump the right region's NAND. So as a forewarning: if you try to install any Japanese or European-only games onto your NAND, they will just not appear.
• Games look and sound better in melonDS than in no$gba-- it's pretty easy to tell the difference, even just comparing the ambient BGM on the menu in both emulators. Plus, it actually runs on a Mac without me having to do dorky emulation ON-top of running the emulator! Sheer bliss.
EDIT: I knew I forgot something! For anyone who needs suggestions, here's the 12 games I put on my NAND and the 38 others on my SD card. Some of these don't even work on either emulator yet, but I'm coming prepared.
- BOXLIFE Art Style Series
- Divergent Shift
- A Kappa's Trail
- Mighty Milky Way
- Mixed Messages™
- Orion's Odyssey
- Rabi Lady
- Roller Angels
- Snapdots
- Surviving High School™
- X-SCAPE
- Zoonies - Escape from Makatu
---
- 1950s Lawn Mower Kids™
- ACE MATHICIAN
- AlphaBounce
- American Popstar Road to Celebrity <-- functions now thanks to webcam compatibility
- Antipole
- AQUIA Art Style Series
- Aura-Aura Climber
- BASE 10 Art Style Series
- Candle Route
- CHRONOS TWINS One Hero in Two Times
- COLOR COMMANDO
- Dark Void™ Zero
- DIGIDRIVE Art Style Series
- DoDoGo!
- Doodle Fit
- Escapee GO!
- FLIPPER
- FLIPPER 2 FLUSH THE GOLDFISH
- Gaia's Moon
- G.G Series ALL BREAKER
- Looksley's Line Up <-- doesn't work
- Mario vs. Donkey Kong Minis March Again!
- Mighty Flip Champs!™
- PiCTOBiTS Art Style Series
- Picdun GO Series
- Pro-Jumper! Guilty Gear Tangent!?
- precipice Art Style Series
- Rabi Lady 2
- Shantae: Risky's Revenge™
- Soul of Darkness
- Spin Six
- Spotto!
- SteamWorld Tower Defense
- WarioWare: Snapped! <-- doesn't work
- ZENGAGE Art Style Series
- ZENONIA®
- Zelda: Four Swords Anniversary Edition
Hope this helps some people decide what might be of most interest to play first!
If you know where the other no$gba/melonDS NAND dumps and such are, I just posted my own at the same place.