Post subject: Determining a Wii game's file access
Joined: 12/26/2012
Posts: 3
Location: Macomb, MI
It's a little hard to explain in the subject, but what I'm wanting to do is see if it's possible with Dolphin to find out what file from a Wii game's internal file structure is being accessed by the game. For example, I have the .brstm files from Kirby's Return to Dream Land, but there are a lot of duplicates and I wanted to use the in-game sound test to determine what song is what. If it's not possible to do this with Dolphin, then is there any other way to do it? Much thanks in advance.
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
Maybe use a tool like Sysinternals Filemon/Procmon to see what files the emulator is accessing. But if they are wrapped up inside a container file like an ISO image or something, it won't be quite as helpful.
Joined: 12/26/2012
Posts: 3
Location: Macomb, MI
Yeah, the files are on the game's ISO. I was just hoping there would be a way to determine which files from the ISO are being accessed. Otherwise I have to try to determine things by ear.
Dwedit
He/Him
Joined: 3/24/2006
Posts: 692
Location: Chicago
Procmon will tell you what range of data is being read, but then you need to figure out where the files actually are on the disk image separately.
Joined: 12/26/2012
Posts: 3
Location: Macomb, MI
I think that might work, actually. But I don't know how to really interpret the offset value in Process Monitor correctly. I am guessing it's offset is from the start of the ISO, but when I use the command line program wit to list all the files along with their offsets, they don't seem to match up. Only thing I can think of is that it might have to do with the headers on the ISO, but I'm not sure. As an example, the opening music of the game is called Movie_opening.brstm, wit says it's located at offset f49ce4ec, when I play the song in the in-game sound test, Process Monitor gives me an offset of 10c028000. Edit: Upon digging a little more, Process Monitor appears to always show an offset that is at a 32K alignment. I'm trying to see if the offsets it's getting for the music files have any sort of correlation to the offsets that wit is giving me.
Joined: 3/11/2012
Posts: 149
Location: WI
Does Dolphin have any debugger features similar to WiiRd and GCNrd? Back on the Gamecube, I was able to accomplish a similar task by setting a read breakpoint on the address of a file in the FST. The game would only read from that location if the file for that table entry was being requested. I don't know where it's loaded in memory on the Wii, but on the GCN the FST was always near the end of main RAM and there was a pointer to it somewhere near the beginning. Since WiiRd has the same FST modification features that GCNrd had, I'm assuming the same trick would work.
RachelB
She/Her
Player (129)
Joined: 12/3/2011
Posts: 1579
Dolphin has breakpoints. You need to use debug mode (start with /d) to use them.