Homebrew Discussion SM3DAS: Research and Development

  • Thread starter Thread starter Psi-hate
  • Start date Start date
  • Views Views 77,877
  • Replies Replies 155
  • Likes Likes 28
the bios is probably the gamecube splash screen when you load a cube game on the real system.
Thats exactly it. Almost all emulators use the same term Bios Startup, or something similar, for the splash screen/Bios Menu.

We know this rom is modified, but I sincerely hope that Sunshine is not a recompiled rom, like Galaxy is, though I've not heard of any word about that yet.
 
So I changed all the info to get twilight princess to boot (in theory) , like setting DolHash to false, changing the rom information to the proper values, etc. Will test it out now.
Did you rebuild the NSP with the Twilight Princess ISO or can you point the emulator to load it outside of the NSP?
 
Damn i cant wait till my copy comes in the mail and i can start messing with this . Way it looks someone may figure it out before i get a chance to even try lol.
 
Yeah I just tried setting up a NewGame "profile". Put animal crossing in, setup rom.json like so:

Code:
{
  "UID": "NewGame",
  "ROM": [
    "rom:/MarioSunshine/animalcrossing.gcm"
  ]
}

Setup a file in data/database/config/NewGame.config as:


Code:
    "Hagi" : {
            "Boot" :
                {
                  
                    "LoadBios" : false
                },

          
and the input stuff


Put a blank .jason called NewGame.json in the folder data/database/hagi/NewGame.json.

Duplicated the mario save file and put A.sav in data/saves/NewGame/

The replacement game didn't boot.

Stripping out all the info from the mario config files and just pointing the rom.json to a replacement .gcm doesn't boot.
 
Last edited by Tomobobo,
The hagi.config and probably hagi-override.config in root seem to have effects on the game booting, at least with everything removed the game doesn't boot. So those files seem to have some relevance as well.

The contents of hagi-override.config are seemingly unimportant, they seem to just blank out a single input. But removing this stuff breaks sunshine from booting.

I'll work on ripping hagi.config.
 
Last edited by Tomobobo,
Very weird.. I'm getting an error occurred regardless if I edit the romfs or not. I copied the clean dump of the romfs to layeredfs and it's still crashing when loading the game. What the heck lol
 
I think folks should focus on trying to get files booting from within it. Adding in the complexity of layeredFS isn't going to help progress all that much (i would imagine).
 
I think folks should focus on trying to get files booting from within it. Adding in the complexity of layeredFS isn't going to help progress all that much (i would imagine).
Recompiling the nsp every time would suck tho, let alone installing it :P
 
LayerdFS is just super helpful to be able to change stuff quickly, I'm sure the end goal would be to have a standalone emu with a gui frontend and all the bells and whistles but right now LayeredFS is simply the only way you're gonna be messing with the files at all.

Got an actual Atmosphere crash while removing the audio stuff from hagi.config, I'm thinking that file has the most influence on the general operation of the emu.
 
Yeah, very odd that my layeredFS is crashing despite it being all clean and directly ripped from the NSP with no edits. I've restarted my switch several times too, hmm.
 
Stupid Question, how does one extract all the files from the nsp on their computer? (I don't have my switch here atm).

I'm gonna try extract the sunshine.gcm file and hex compare it to older roms, try spot some differences.
 
So,
rom.json
{
"UID": "MarioSunshine",
"ROM": [
"rom:/MarioSunshine/Super_Mario_Sunshine_Stardust-trimmed.gcm"
]
}
Super_Mario_Sunshine_Stardust-trimmed.hash
{}​

MarioSunshine.json
{
"Info": {
"GCM": {
},
},
}​

It is absolutely ignoring hash checks of the gcm file itself, but it may still be checking internals.
I confirmed this by rebuilding the stock Super_Mario_Sunshine_Stardust-trimmed.gcm with GCIT, and it boots.
That is, a gcm unique from the original is booting, isn't that nice?
So from here I'll be focusing on dissecting this gcm to see if I can't figure out what makes it tic.
It may in fact still have those hashes stored elsewhere, and be checking them against files within the gcm, but I doubt that. Right now, I think it's something special going on in this image.

Edit: GCIT, not GITS
 
Last edited by 24hrjellymachine,
So,
rom.json
{
"UID": "MarioSunshine",
"ROM": [
"rom:/MarioSunshine/Super_Mario_Sunshine_Stardust-trimmed.gcm"
]
}
Super_Mario_Sunshine_Stardust-trimmed.hash
{}​

MarioSunshine.json
{
"Info": {
"GCM": {
},
},
}​

It is absolutely ignoring hash checks of the gcm file itself, but it may still be checking internals.
I confirmed this by rebuilding the stock Super_Mario_Sunshine_Stardust-trimmed.gcm with GITS, and it boots.
So from here I'll be focusing on dissecting this gcm to see if I can't figure out what makes it tic.
Think this was discussed in the other thread. Someone mentioned that it might be checking something inside the gcm file.

Whatever is going on, it's going on in there.

Hell, maybe that's not a "hash" so to speak, and it's a damn string that's been injected at a specific address cus some dummy thought it would catch people out.

There's also been mentions about removing the first 100 bits (bytes? i confuse these the whole time), but never specified the gcm file, the boot.dol, ect ect.
 
Distinctions between original EU Super Mario Sunshine and the one included in SM3DAS.
  • marioEU.MAP
  • apploader.img
  • boot.bin
  • fst.bin
  • main.dol

Nothing surprising there, disappointing though, it'd be nice if it were one change right?

I haven't noted the video files, you'll find the thp files on the Switch to only contain audio, the real videos are loaded externally, we knew this already.
 
  • Like
Reactions: Psi-hate
Oh, this is new.
I did as you did @24hrjellymachine , but I replaced the ROM with TLOZ Four Swords Adventures. It attempted to boot for a few frames, as it went past the loading screen. neat. Before, I was just getting an error right on the loading screen after it hung for 20 seconds.
 

Site & Scene News

Popular threads in this forum