Jump to content

PokeGC - A Gamecube Pokemon Checking Tool


Bond697

Recommended Posts

http://pokemon.thundaga.com/research/apps/pokegc_14.exe

http://pokemon.thundaga.com/research/apps/pokegc_14_src.7z

also:

----------

http://hack.thundaga.com/doc.html

http://dl.dropbox.com/u/18231634/PokemonWebApps/Pages/XDLegit.html

abilities and pid restrictions aren't nailed down yet, thus they are not included.

anything not strictly on-topic(feature suggestions, etc) is gone.

Link to comment
Share on other sites

Ageto Celebi (written to Colosseum) cannot be shiny

Although it is not yet possible to RNG abuse the Ageto disc on a retail console because of the unknown seeding parameters, it is however possible on Dolphin for the first Celebi that is written directly into the Colosseum save file. After selecting the Colosseum part of the disc the Colosseum RNG is seeded (memory location 0x80477098 as confirmed by Kaphotics/OmegaDonut/...). There's some advancement after the intro screen (about 100) then an non consistent number of frame advancements (more than a thousand, there are dialogs that wait for user input while the RNG keeps advancing which makes abusing much harder than the direct transfer to GBA). Then the function to create the Celebi is called at 0x8012d4f0 (it is the same for both methods of transfer). After two frames the IVs are generated (comon GC method). After a skipped frame the PID is generated by the function at 0x80121310. It has a recursive anti-shiny check as illustrated below:

ageto.png

Frames 3 and 4 are the IVs. 6-7 and 8-9 would result in a shiny PID but are skipped.

Since shiny Ageto is not possible here are two RNG abused HP Fire spreads:

(Seed=7ddf12c8 PID=77e9f030, Nature=Bold) 31/14/31/30/31/30

http://www.pokecheck.org/?p=detail&uid=470139

(Seed=7c5f5fcc PID=ecbeb9d6, Nature=Modest) 31/2/31/30/31/30

http://www.pokecheck.org/?p=detail&uid=470141

Of course they should not be considered as RNG abused because they were obtained by altering the seed at the start of the disc. Note that because the VBA-M <> Dolphin trading does not work yet I had to write a program to extract and convert the Pokémon data from the Colosseum save to a 3gpkm file.

If you have a GameCube and memory card you can download the Colosseum (US) save here: http://tmp.pokecheck.org/Colosseum_RNG_Celebi.zip and transfer the Celebi yourself.

Link to comment
Share on other sites

this is for the colo celebi, right? not he gba one?

e: wait, less than a week ago you had said the colo celebis weren't generated using the common gc method?

e2:

Also, to those who say the Ageto disc is figured out, they are forgetting that there are two kind of Celebi: the one written directly to the Colosseum save file and the 50 you can subsequently transfer to the game boy directly. Only the second uses the comon GC method.

The Ageto Pikatchu also is not fully figured out yet.

so.. the colo celbi IS made with the common gc method?

Link to comment
Share on other sites

so.. there's still no outright confirmation for the gba celebis, just the colo celebis, correct? i say that because it's very, very likely that the gba celebis are generated by the multiboot rom, not the gamecube disc. and considering that the multiboot rom is written for an arm cpu, it's possible gamefreak wrote it and allowed shinies since they were going straight to the cart. it seems like they didn't want shinies in the gc games, but the gba celebis went straight to the gen 3 game in the gba.

e: would be nice if it was a. possible to dump the full multiboot rom or b. if the multiboot rom was in 1 piece in the bonus disc iso. unfortunately, it's not...

Link to comment
Share on other sites

Correct, this does not prove the GBA celebi cannot be shiny. However despite a lot of effort I cannot have VBA-M recognized by Colosseum or the bonus dic using Joybus although it is supposed to be implemented both by VBA-M and Dolphin.

It does react to the connection but eventually fails. So probably some more awful PPC and ARM ASM is required before we get a definitive answer.

Link to comment
Share on other sites

Correct, this does not prove the GBA celebi cannot be shiny. However despite a lot of effort I cannot have VBA-M recognized by Colosseum or the bonus dic using Joybus although it is supposed to be implemented both by VBA-M and Dolphin.

It does react to the connection but eventually fails. So probably some more awful PPC and ARM ASM is required before we get a definitive answer.

apparently it's a timing issue between vba-m and dolphin? so say the devs anyway.

yeah, myself and arcee have been able to dump a portion of the colo multiboot rom that creates the gba celebis, but not enough to get anywhere. we have the irq handler, a few functions that are incomprehensible with no context, some data, and more arm that doesn't seem to have anything to do with pkm creation. another 3 seconds of connectivity and we would have had the whole thing.

e: we also tried to rip the rom from the iso, but it's in a million pieces.

Link to comment
Share on other sites

I have the same problem, I used the memory viewer in VBA-M to record and save the Joybus stream but it cuts off pretty fast. It's pretty clear there are big sync/timing issues resulting is hangs/timeouts. The Dolphin source for GBA controller support is very messy clearly unstable (trying to change the synchronization always resulted in Dolphin all but freezing when a GBA is connected) but it's probably a safer bet than looking though the ISO.

e: also if you looked at the junk ARM you can see a lot of checks related to the R/S save. From what I understand it is required to have a japanese Ruby or Sapphire save with the E4 beaten and National dex, and it must be saved inside a Pokemon Center. Possibly more restrications, also I doubt this works with FR/LG/E? or any non japanese save.

Link to comment
Share on other sites

Yes, in fact it even seems to work with FRLG.

As far as I can tell I get exactly the same ARM dump.

As for the Ageto Pikachu, I wasn't able to test how it is written to the GBA but unlike what I had thought the two specimen I know of (PID 1568718567, spread 28/24/7/24/14/31 and PID 3836930036, spread 22/25/22/18/18/14) do not use any simple variation of known GBA/GC PID methods. I tried looking for more legitimate samples but they are hard to find and hard to make without a GC and writeable memory card.

I tried patching the disc to use the Pikachu function at 8012d5dc instead of the Celebi function at 8012d4f0 when writing to the Colosseum save and the result is a perfectly fine Ageto Pikachu, except with a standard GC PID.

Since there's is no example of a legal Ageto Celebi with a non-standard GC PID (among more than 150, some of which must have been written to the GBA) I am really wondering how the bonus disc writes to GBA saves. I have serious doubts Ageto Pokemon are actually made on the GBA, but if that's not the case then why does Celebi seem to get a GC PID but Pikachu doesn't?

Link to comment
Share on other sites

  • 3 weeks later...
Ageto Celebi (written to Colosseum) cannot be shiny

Although it is not yet possible to RNG abuse the Ageto disc on a retail console because of the unknown seeding parameters, it is however possible on Dolphin for the first Celebi that is written directly into the Colosseum save file. After selecting the Colosseum part of the disc the Colosseum RNG is seeded (memory location 0x80477098 as confirmed by Kaphotics/OmegaDonut/...). There's some advancement after the intro screen (about 100) then an non consistent number of frame advancements (more than a thousand, there are dialogs that wait for user input while the RNG keeps advancing which makes abusing much harder than the direct transfer to GBA). Then the function to create the Celebi is called at 0x8012d4f0 (it is the same for both methods of transfer). After two frames the IVs are generated (comon GC method). After a skipped frame the PID is generated by the function at 0x80121310. It has a recursive anti-shiny check as illustrated below:

ageto.png

Frames 3 and 4 are the IVs. 6-7 and 8-9 would result in a shiny PID but are skipped.

Since shiny Ageto is not possible here are two RNG abused HP Fire spreads:

(Seed=7ddf12c8 PID=77e9f030, Nature=Bold) 31/14/31/30/31/30

http://www.pokecheck.org/?p=detail&uid=470139

(Seed=7c5f5fcc PID=ecbeb9d6, Nature=Modest) 31/2/31/30/31/30

http://www.pokecheck.org/?p=detail&uid=470141

Of course they should not be considered as RNG abused because they were obtained by altering the seed at the start of the disc. Note that because the VBA-M <> Dolphin trading does not work yet I had to write a program to extract and convert the Pokémon data from the Colosseum save to a 3gpkm file.

If you have a GameCube and memory card you can download the Colosseum (US) save here: http://tmp.pokecheck.org/Colosseum_RNG_Celebi.zip and transfer the Celebi yourself.

ok and this works with dolphin you say? Cool can you show me where it is and how it works? I tried the links in your post but nothing seemed the right one you speaking of

Link to comment
Share on other sites

  • 1 year later...
  • 2 weeks later...
  • 2 months later...

Since there's a Pokémon legality issue caused by patching the JP Bonus disc to distribute to NA Colosseum saves, I've decided to take care of it, and put the saves on a single Colosseum save. Also, I have them as .3gpkm files. I'd rather not say what the issue was, but trading between NA and JP saves back and forth took care of it.

Also, I tutored them Mimic and Metronome over Confusion and Recover.

RNGAgetoCelebi..zip

RNGAgetoCelebi..zip

Link to comment
Share on other sites

  • 3 months later...

Do you happen to know the hex seed for the Ageto Celebi's nature to be Timid and also the seed for Modest?

Ageto Celebi (written to Colosseum) cannot be shiny

Although it is not yet possible to RNG abuse the Ageto disc on a retail console because of the unknown seeding parameters, it is however possible on Dolphin for the first Celebi that is written directly into the Colosseum save file. After selecting the Colosseum part of the disc the Colosseum RNG is seeded (memory location 0x80477098 as confirmed by Kaphotics/OmegaDonut/...). There's some advancement after the intro screen (about 100) then an non consistent number of frame advancements (more than a thousand, there are dialogs that wait for user input while the RNG keeps advancing which makes abusing much harder than the direct transfer to GBA). Then the function to create the Celebi is called at 0x8012d4f0 (it is the same for both methods of transfer). After two frames the IVs are generated (comon GC method). After a skipped frame the PID is generated by the function at 0x80121310. It has a recursive anti-shiny check as illustrated below:

ageto.png

Frames 3 and 4 are the IVs. 6-7 and 8-9 would result in a shiny PID but are skipped.

Since shiny Ageto is not possible here are two RNG abused HP Fire spreads:

(Seed=7ddf12c8 PID=77e9f030, Nature=Bold) 31/14/31/30/31/30

http://www.pokecheck.org/?p=detail&uid=470139

(Seed=7c5f5fcc PID=ecbeb9d6, Nature=Modest) 31/2/31/30/31/30

http://www.pokecheck.org/?p=detail&uid=470141

Of course they should not be considered as RNG abused because they were obtained by altering the seed at the start of the disc. Note that because the VBA-M <> Dolphin trading does not work yet I had to write a program to extract and convert the Pokémon data from the Colosseum save to a 3gpkm file.

If you have a GameCube and memory card you can download the Colosseum (US) save here: http://tmp.pokecheck.org/Colosseum_RNG_Celebi.zip and transfer the Celebi yourself.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...