FIX94 / Nintendont

A Wii Homebrew Project to play GC Games on Wii and vWii on Wii U
1.96k stars 326 forks source link

Adventure mode does not work in Pokemon box #224

Open Michaelcaff opened 8 years ago

Michaelcaff commented 8 years ago

When you load up adventure mode it's like when you don't inset a gba game into a game boy when it only shows the game boy logo

carnage702 commented 7 years ago

do you have native mode turned on? can you deposit and withdraw pokemons still?

MatandoYT commented 7 years ago

I can confirm the issue. Regular operation for box functions works as intended however "Adventure Mode" does not. Upon selecting Adventure Mode the menu loads properly but it never gets passed the gameboy advance boot screen.

I know that Pokemon Box uses software emulation for "Adventure Mode" so it may be an anti-piracy measure of some kind as DIOS-MIOS has the same issue (Even though I am using a real disc.... lol). I am using the "Boot GC Disc in Drive" option so I'm not sure if using an IPL dump will make a difference.

Mythris29 commented 7 years ago

I'm seeing this behavior as well with the newest version of Nintendont. I can save and use pokemon box normally without issue (other than the list issue I commented on today as well) so I believe my setup works in general. When I select Adventure mode it loads the logo and then stalls there.

I'm using a Wii and launching through homebrew. Real memory card, official GBA-GC cable and 1st gen GBA. It's only supposed to work in adventure mode with Ruby and Sapphire but I only have Ruby so that is the only game I've tested with.

Please let me know if I can provide any other information.

JrFelixXD commented 5 years ago

Has anybody found a fix for this issue yet?

carnage702 commented 5 years ago

i guess you can try using older versions of nintendont, i know it worked long ago no idea when it got broken tbh.

JMC47 commented 3 years ago

While I was working on a bug report in Dolphin regarding adventure mode in Dolphin, I ran into this bug report. We've since solved our issue after doing some debugging in the game itself. I believe some of this information may help with fixing the issue with Nintendont and other backup loaders.

"The GBA game likely gets loaded into some buffer in MEM1 correctly but in Wii mode there's probably a BAT that maps 0x90000000 to MEM2, which conflicts with the game's page table entry for the ROM. BATs take precedence over PTEs so the game probably ends up reading and writing from the wrong location, even though the ROM loaded correctly."

Real96 commented 3 years ago

In case it is needed, this is the dolphin pull request which fixed the issue: https://github.com/dolphin-emu/dolphin/pull/9625#issuecomment-813738987

Real96 commented 3 years ago

While I was working on a bug report in Dolphin regarding adventure mode in Dolphin, I ran into this bug report. We've since solved our issue after doing some debugging in the game itself. I believe some of this information may help with fixing the issue with Nintendont and other backup loaders.

"The GBA game likely gets loaded into some buffer in MEM1 correctly but in Wii mode there's probably a BAT that maps 0x90000000 to MEM2, which conflicts with the game's page table entry for the ROM. BATs take precedence over PTEs so the game probably ends up reading and writing from the wrong location, even though the ROM loaded correctly."

@carnage702 sorry for the ping, i just wanted to be sure you saw the comment >.< the fix should be easy

carnage702 commented 3 years ago

While I was working on a bug report in Dolphin regarding adventure mode in Dolphin, I ran into this bug report. We've since solved our issue after doing some debugging in the game itself. I believe some of this information may help with fixing the issue with Nintendont and other backup loaders. "The GBA game likely gets loaded into some buffer in MEM1 correctly but in Wii mode there's probably a BAT that maps 0x90000000 to MEM2, which conflicts with the game's page table entry for the ROM. BATs take precedence over PTEs so the game probably ends up reading and writing from the wrong location, even though the ROM loaded correctly."

@carnage702 sorry for the ping, i just wanted to be sure you saw the comment >.< the fix should be easy

the fix would be easy for fix94 or some veteran lol i dont know how to program, i can do small logic stuff but not patches or advanced stuff sorry.

Real96 commented 3 years ago

While I was working on a bug report in Dolphin regarding adventure mode in Dolphin, I ran into this bug report. We've since solved our issue after doing some debugging in the game itself. I believe some of this information may help with fixing the issue with Nintendont and other backup loaders. "The GBA game likely gets loaded into some buffer in MEM1 correctly but in Wii mode there's probably a BAT that maps 0x90000000 to MEM2, which conflicts with the game's page table entry for the ROM. BATs take precedence over PTEs so the game probably ends up reading and writing from the wrong location, even though the ROM loaded correctly."

@carnage702 sorry for the ping, i just wanted to be sure you saw the comment >.< the fix should be easy

the fix would be easy for fix94 or some veteran lol i dont know how to program, i can do small logic stuff but not patches or advanced stuff sorry.

Sorry for the ping then xD

Nesius commented 2 years ago

any updates on this?

stefanmielke commented 1 year ago

bumping this as I tried the same today and didn't work for me either. if you want me to test a specific version, let me know (I'm not sure if any version would, given the fix).

also, if there's any easy way to guide me to where in the code the fix need to be made, I can try my hand on it.

ThomasHineXYZ commented 1 year ago

@stefanmielke Here's a link to a post from one of my previous mods on some alternative ways to run it on a Wii.

https://www.reddit.com/r/WiiHacks/comments/o9c6qr/pokemon_box_adventure_mode_a_post/

stefanmielke commented 1 year ago

@stefanmielke Here's a link to a post from one of my previous mods on some alternative ways to run it on a Wii.

https://www.reddit.com/r/WiiHacks/comments/o9c6qr/pokemon_box_adventure_mode_a_post/

thanks for the link! unfortunately I don't have either a cd/dvd burner or an SD gecko :(

carnage702 commented 1 year ago

bumping this as I tried the same today and didn't work for me either. if you want me to test a specific version, let me know (I'm not sure if any version would, given the fix).

also, if there's any easy way to guide me to where in the code the fix need to be made, I can try my hand on it.

from what i saw they say this ""The GBA game likely gets loaded into some buffer in MEM1 correctly but in Wii mode there's probably a BAT that maps 0x90000000 to MEM2, which conflicts with the game's page table entry for the ROM. BATs take precedence over PTEs so the game probably ends up reading and writing from the wrong location, even though the ROM loaded correctly." now where that is in nintendont i have no idea.

stefanmielke commented 1 year ago

Ok, after reading this article, it seems like these "BAT" are memory mappings that should be used before a "Page Table" is (if any is set), and Pkmn Box seems to write to that "0x90000000" address, which is used by something on the Wii, which causes this issue.

Checking the code, I found a few references to that address (including this one, that shows that the address is used by "aram", which is an extended memory that can be used by devs), but I'm still clueless on where in the code the address that will be used is called (where it would call BAT or PTE).

Onlinerocker commented 1 year ago

I ran into this issue today and ended up here... maybe a title specific patch is the best solution here. If we can just adjust the rom to be stored in better location that should fix the problem?