Moonshell2 Slot 2 card support test

Discussion in 'NDS - Emulation and Homebrew' started by unz, Jan 22, 2009.

Jan 22, 2009
  1. unz
    OP

    Member unz Chaotic Neutral

    Joined:
    Jul 14, 2008
    Messages:
    283
    Location:
    Curmudgeon's quarters
    Country:
    Australia
    Hi tempers. So I spent a couple of hours today seeing what Moonshell2 (aka MS2) can do with my slot 2 cards. I have an M3 GBA Expansion pack and an EZFlash V 3in1. Thought I'd share what I've found so far. Those with short attention spans can skip to the bottom of this post for the TL;DR version...

    (All tests use a DS Lite running Moonshell2 on a CycloDS)

    Launch GBA Games:

    Rudolph has been kind enough to release a customised Moonshell2 version of GBA ExpLoader. With it, you can launch GBA game ROMs from MS2's GUI if you have a supported card in slot 2.

    Download the special GBA ExpLoader from Rudolph's site here.
    Or, if you're using wolfmanz51's translated version of Moonshell2, you will find the necessary files in \Moonshell2.0b5(english)2\GBA_ExpLoader_MSHL2\.

    gba.ExpLoader.nds and GBA_ExpLoader_MSHL2.ini must be placed in MS2's \moonshl2\extlink folder.

    You'll also need to create the obligatory GBA_SIGN and GBA_SAVE folders in the root of your microSD card (root is the default location specified in GBA_ExpLoader_MSHL2.ini).

    When a GBA ROM is selected from Moonshell2's GUI, ExpLoader auto-loads the ROM to the slot 2 card, then the game starts.
    With the M3 GBA pack, ExpLoader displays "GBA ExpLoader MSHL2 [ M3/G6 ] v0.0" at the top of the screen.
    With the 3in1, It's almost exactly the same. With my card, Exploader displays "GBA ExpLoader MSHL2 [New 3in1] v0.0" at the top of the screen.

    So both slot 2 cards load GBA games just fine, as long as the ExpLoader files are in all the right places. Nice job Rudolph, thank you very much. [​IMG]

    ---------------------------------------------------------

    About RAM support

    One of the nice things about Sakura running on an M3 Real, is that it can use the additional RAM from an M3 GBA expansion pack to speed up file operations, view pics and load mp3 or dpg files faster. It's little things like that which creates a better user experience overall. The good news is, Moonshell2 detects the M3 GBA Expansion pack's RAM automatically on startup, and gets a comparable performance boost to Sakura. I'm not saying it's turbo charged, but any performance boost is a good thing, amirite?

    Now that I've opened my big fat mouth and tipped everyone off about the RAM boost, it's only a matter of time before users start asking if Moonshell2 can somehow be configured to detect and use the RAM in the very popular EZ V 3in1 in a similar manner. So let's nip that in the bud and see what happens with the two different cards when MS2 starts up.

    When Loading Moonshell2...
    MS2 immediately detects the M3 GBA Expansion Pack on startup and displays how much RAM it found in Kb.
    MS2 fails to detect the 3in1, reporting "Extension memory not found"...

    ...which should be enough to tell you not to get your hopes up about the 3in1. I'm not saying it can't be done - just at this stage of the game, Moonshell2 support for the 3in1 doesn't look very encouraging. But any temper worth their salt is made of sterner stuff than that (or like in my case, is too damn thick to take 'no' for an answer). I wasn't going to be put off by a simple loadup screen message. So without further ado, I present an over-long guide on...

    (NOT) Enabling the 3in1's RAM

    So can it be done?

    Short answer: No. I haven't managed to get MS2 and the 3in1 to play nicely together (sorry to disappoint everyone). But to save others wasting time, here's what I've tried so far...

    Long answer: It is not possible to manually enable the 3in1's RAM in the MS2 version of ExpLoader. Opening ExpLoader via Moonshell2's GUI, with a 3in1 in slot 2 gives a "Selected GBA file loading failed (A) : Confirm" error. Pressing the A button invokes soft reset, and we're back to the Cyclo GUI. Restart MS2, and it still fails to detect the 3in1's RAM.

    As gba.ExpLoader.nds is a custom version made specially for MS2, I wondered if another version of ExpLoader would make MS2 detect the 3in1's RAM.

    Using a different version of ExpLoader on the root of the card to enable the 3in1's expansion RAM looks like it's going to work up to the point where it invokes the Cyclo's soft reset, and returns to the Cyclo's GUI, just like it's supposed to. Starting MS2 however, shows that it still fails to detect the 3in1's RAM. Damn. Welcome back to square one - again.

    Using a different version of ExpLoader in MS2's \moonshl2\extlink folder makes it run exactly like the MS2 version above, so no joy there either.

    Okay, I've had enough file juggling and failure. No automatic or manual 3in1 RAM support at this stage.

    If anyone knows if it's possible to get Moonshell2 to detect the 3in1's RAM without hacking the source files, please reply here or send me a PM with how you did it. I'm sure there's quite a few more 3in1 owners here who would like to do this too (now). [​IMG]

    If not, well, we'll just have to wait and see if some kindly programmer will add 3in1 RAM support to Moonshell2's source code and compile a new release.

    ---------------------------------------------------------

    TL;DR: The bad news is Moonshell2 cannot detect a 3in1's RAM (yet, hopefully). The good news is, if your slot 2 card is supported by the Moonshell2 version of GBA ExpLoader (see the GBA bit above for linkies and crappy guide), MS2 can launch GBA games from its GUI (sort of).

    Oh yeah, one other thing: Using an M3 GBA Exp pack with Moonshell2 doesn't stop mp3 files skipping a little bit near the start of some songs, or prevent .dpg files freezing MS2 at the end of some videos. So imho, it looks like those two annoying bugs are not caused by a lack of RAM.

    Hope someone finds at least some of this dribble useful...
     
  2. wolfmanz51

    Member wolfmanz51 MrNintendosense

    Joined:
    Nov 24, 2008
    Messages:
    427
    Location:
    Somewhere in cali
    Country:
    United States
    nice mind if I edit this and add it to my readme?
     
  3. unz
    OP

    Member unz Chaotic Neutral

    Joined:
    Jul 14, 2008
    Messages:
    283
    Location:
    Curmudgeon's quarters
    Country:
    Australia
    Sure, go right ahead.
     
  4. Sumea

    Member Sumea Disco Ninja Frog

    Joined:
    Aug 16, 2008
    Messages:
    1,315
    Location:
    Turku
    Country:
    Finland
    Atleast the videos play to end and not cut the (VERY IMPORTANT *not really*) last two seconds, as i stated Very important.... yess... But annoying in sakura, so yay moonshell.


    Also, if you have m3 expansion pack, i think you have a M3 real, or iTouch, what ARE blocked even in Moonshell version of GBAexploader (tested, and HW is not supported in GBA exploader)

    I have 3in1, thanks for da info.

    Weird; i got SAKURA detect 3in1 ram: just go to gba exploader, boot it as Ram pack, and sakura would detect it, and even launch gba from 3in1 [​IMG]
     
  5. unz
    OP

    Member unz Chaotic Neutral

    Joined:
    Jul 14, 2008
    Messages:
    283
    Location:
    Curmudgeon's quarters
    Country:
    Australia
    D'oh! Can't believe I didn't try running ExpLoader from the Cyclo's GUI too! [​IMG]

    Alright, I've just loaded the Moonshell2 ExpLoader from the CycloDS GUI, but got the following error when Exploader started:

    Extlink.dat is illegal
    (A) Confirm


    Pressing the A button invokes soft reset. Result: Moonshell2 still fails to detect the 3in1.

    Tried the different version of ExpLoader from the root of the MicroSD to enable the 3in1 RAM. Result: Moonshell2 once again fails to detect the 3in1. Is anyone surprised?

    Thanks for helping me realise that I'd missed testing ExpLoader from the Cyclo's GUI.
     
  6. Sumea

    Member Sumea Disco Ninja Frog

    Joined:
    Aug 16, 2008
    Messages:
    1,315
    Location:
    Turku
    Country:
    Finland
    yeah not surprised - i tested it out too and Moonshell did not detect it - Sakura did, as said i now hate sakura's video cut, i am using now Cyclo with moonshell2, and try get people skinning on it.

    So: Boot 3in1 as ram pack: sakura (and it's DLDI hax versions) approve, moonshell does not.

    Pretty confusing gig we have here...
     
  7. Sarvesh50

    Member Sarvesh50 Aye!

    Joined:
    Jul 7, 2008
    Messages:
    915
    Location:
    Netherlands
    Country:
    Netherlands
  8. ultimatecouchpot

    Newcomer ultimatecouchpot Member

    Joined:
    Jun 6, 2008
    Messages:
    15
    Location:
    NOT my parents' basement...
    Country:
    United States
    So does anyone with some DS coding experience feel up to implementing decent RAM support into Moonlight's programs? I would think it would be pretty straightforward with that RAM library. I could give it a shot myself if worse came to worse, but I pretty much just started coding, and I'm focusing on Wii/GC development now.
     
  9. unz
    OP

    Member unz Chaotic Neutral

    Joined:
    Jul 14, 2008
    Messages:
    283
    Location:
    Curmudgeon's quarters
    Country:
    Australia
    Confusing gig is correct - and I think it just got worse.

    I tried running the iSakuReal version of Sakura on an M3 Real, with the 3in1 in slot 2. Sakura did not auto-detect the 3in1.

    Sarvesh50: Thanks for the link. It got me wondering if there's a code library which includes support for the new 3in1+ (which has more RAM than the 'New3in1' I'm currently using).

    ultimatecouchpotato: That's pretty much what I was hoping for when I started this thread - that a skilled coder would be convinced to add 3in1 support to Moonshell2, and maybe even continue on from where Moonlight left off. Good luck, and don't forget us if you ever get tired of Wii/GC coding.
     
  10. Sarvesh50

    Member Sarvesh50 Aye!

    Joined:
    Jul 7, 2008
    Messages:
    915
    Location:
    Netherlands
    Country:
    Netherlands
    Still it hard to code its just an example
     
  11. Vague Rant

    Member Vague Rant Deceptively cute

    Joined:
    Aug 7, 2008
    Messages:
    1,980
    Location:
    Melbourne
    Country:
    Australia
    No it doesn't, it has more NOR, which is completely irrelevant.
     
  12. tirges

    Newcomer tirges Member

    Joined:
    Feb 2, 2008
    Messages:
    19
    Country:
    Belgium
    Interesting! I had no idea sakura used the extra ram for anything, I just thought it suported M3's GBA expansion for booting GBA.
    But I understood from the above the 3-in-1 could also be detected. My 3-in-1 wasn't so I didn't bother to look further.

    My 3-in-1 only gets detected after enabling 'Expansion RAM' through Rudolph's GBA_ExpLoader, which recognizez it as [New3in1].
    I am using GBA_ExpLoader v0.57, on an M3-Real with iSakuReal v1.3, the SoftReset.M3DS file is in the root of the card (later ones don't work on the M3Real, also the one for Moonshell2, not loved the M3 [​IMG] )

    After setting 'Expansion RAM', the NDS softresets, and M3-Sakura shows:
    M3 iSakuReal firmware v1.12+1 booting...
    16MByte GBA expention cart detected

    If I now run MoonShell2, it displays :
    MoonShell Ver 2.00 beta.5 booting...
    16384 KByte Raw memory pack detected.

    [​IMG]

    After a hardreset it won't be detected anymore, I reckon the trick is in the softreset...
     
  13. unz
    OP

    Member unz Chaotic Neutral

    Joined:
    Jul 14, 2008
    Messages:
    283
    Location:
    Curmudgeon's quarters
    Country:
    Australia
    Vague Rant: You got me. I hadn't looked into the details of the new 3in1 plus. I'd read somewhere that "it has more memory" and I guess I just thought they were talking about RAM. Thanks for bringing that to my attention.

    Anyway, the point I was trying to make is that adding support for the 3in1 plus would be nice. :shrug:

    Moving on...
    Thanks for your input. Interesting indeed!
    I tested the same software setup on my M3 Real, but got somewhat different results.

    Both MS2 and iSakuReal fail to detect the 3in1 on startup. Sakura says: "GBA expantion (sic) cartridge was not found."
    The option to enable the 3in1 expansion RAM does not appear in ExpLoader (tested versions 0.55 0.57 and 0.58b). The only options available are PSRAM Mode settings and NOR mode settings. Pressing the L& R buttons only switches between those 2 modes. Rumble and enable RAM settings simply do not appear when using the M3. As you say, GBA load perfectly with iSakuReal / M3 Real / 3in1, but GBA load within MS2 causes ExpLoader to throw the following error:

    The hardware is not supported.
    (A) Confirm


    I can't imagine why your 3in1 gets detected by your M3 Real, but with mine, I don't even get the option to enable the RAM...
    So for the time being, I'll use the M3 GBA Exp pack with the M3 Real instead of the 3in1, because that way everything 'just works'.
     
  14. tirges

    Newcomer tirges Member

    Joined:
    Feb 2, 2008
    Messages:
    19
    Country:
    Belgium
    If I remember correctly you need a file called SoftReset.M3DS to be able to see the 3rd option menu in GBA_ExpLoader (rumble settings and enableRAM).

    You had to use rudolph's NDS_backuptool or something to create this, it enables GBA_ExpLoader to do a SoftReset, a quick search provides this link:
    http://gbatemp.net/index.php?s=&showto...t&p=1084758 but I'm not sure if this is enough or there are easier ways...

    I'm wondering how your 3-in-1 gets detected properly by M3Sakura without this :-)

    The Hardware not supported message is due to Rudolph blocking M3-cards from using his software (search the forum for reasons and opinions about this ;-) )
    (this is since v0.58, therefore the v0.57 still works (and also his new plugin for MS2 does not function) )

    regards
     
  15. falcon64z8

    Member falcon64z8 GBAtemp Fan

    Joined:
    Apr 28, 2005
    Messages:
    457
    Country:
    United States
    Lets see I have a supercard sdhc and m3 lite which explains why my movies runs much more smoothly. Some of my vids look better than youtube!
     
  16. unz
    OP

    Member unz Chaotic Neutral

    Joined:
    Jul 14, 2008
    Messages:
    283
    Location:
    Curmudgeon's quarters
    Country:
    Australia
    Damn.. I'm such an idiot! I remember setting up the soft reset file for the CycloDS, but by the time I started testing on the M3 Real (which was last night, after seeing your post) I'd forgotten all about needing the soft reset file. That's what I get for juggling too many variables, I guess. And as for my 3in1 being detected by Sakura - it wasn't. Somehow, Sakura can still launch GBA games even without detecting the 3in1. Very strange indeed.

    Think I'll just stick with testing MS2 on the Cyclo/3in1 and leave the M3 Real/3in1 testing in your capable hands, tirges. Otherwise it all gets too confusing and dumb stuff like this happens.

    Anyway, brb - just gonna go give myself a smack upside the back of the head for being such a dumbass. [​IMG]

    DeAtHsCyPe - "32MByte GBA expention cart detected" suggests that you have an M3 GBA Expansion card, not a 3in1. Is that correct? If so, you shouldn't have any problems.

    falcon64z8 - All of my vids look better in Moonshell2 - there's almost no pixellation and any vids that used to stutter in the original Moonshell now run smoothly. The only problem I've experienced is system freeze ups at the end of some video files, as I mentioned in the OP.
     

Share This Page