Jump to content

research Gen 3 Event Generation Algorithm Research (10ANNIV, etc)


Recommended Posts

It's not that easy @Invader TAK. I'm afraid to say that...
I need at least one more ROCKS Metang Gen 3 file to even be able to say if what we have is legal.
I'm still confused about its Trash Bytes because what you said is what I've expected.
But its Trash Bytes were totally different than it is the case with フェスタ.

Edit: What's even more worse is that I can't find a ROCKS Metang still as Gen 3 file.
All ROCKS Metang I could find were palparked already.

 

 

Edited by ajxpk
  • Like 2
Link to post
Share on other sites
  • Replies 424
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

I cracked the PCNYabcd algorithm! It uses a variation of BACD algorithm with unrestricted seeds. PIDH is xor'd against PIDL, TID, and SID. This algorithm makes antishiny detection easier (PIDH is

edit

I would like to announce that there's a little christmas gift from @Deoxyz to be found on the Internet and also want to take this opportunity to thank him once again, what he is doing for us is amazin

Posted Images

1 minute ago, ajxpk said:

It's not that easy @Invader TAK. I'm afraid to say that...
I need at least one more ROCKS Metang Gen 3 file to even be able to say if what we have is legal.
I'm still confused about its Trash Bytes because what you said is what I've expected.
But its Trash Bytes were totally different than it is the case with フェスタ.

 

 

Well, that's annoying.

Link to post
Share on other sites
3 hours ago, ajxpk said:

I need at least one more ROCKS Metang Gen 3 file to even be able to say if what we have is legal.

Man, that's gonna be so hard to find. I barely stumbled across the first one I found. I didn't even think there were any left in gen 3. 

Did you ever look into the PCNY Pokemon that I found? I'm pretty sure they're legit but I also can't look at trash bytes or interpret what they mean, even if I could. 

Link to post
Share on other sites
On 12/27/2016 at 0:46 PM, Sabresite said:

if we can get several ROCKS Metang then at least we can determine otg. I would venture to guess though that it's frame 5, rand () >> 7 & 1.

Always male. No worries!
 

On 12/27/2016 at 10:27 AM, HaxAras said:

Man, that's gonna be so hard to find. I barely stumbled across the first one I found. I didn't even think there were any left in gen 3. 

Did you ever look into the PCNY Pokemon that I found? I'm pretty sure they're legit but I also can't look at trash bytes or interpret what they mean, even if I could. 

I'm glad you remember me about them. I always wanted to check them but totally forgot.
Reason why I didn't paid much attention now is because their so different compared to the "regular" 3rd Gen Event...
So that we might need many of them to fully understand PCNY Event Pokémon. Correct me if I'm wrong.
I will check them out soon.

Edit: They all have the same Trash Bytes, but other stuff... I have no idea...
Anything known about their PID method?

Link to post
Share on other sites

Man, I need to stop using Bulbapedia for quick event lookup.  If ROCKS Metang OTG is always Male, that is another thing Bulbapedia probably has wrong.
Anyone want to go on there and update it?

 

Also the PCNY pokes I have do not have consistent trash bytes.  Some have no trash bytes, some do.  Not sure what to make of it.

  • Like 3
Link to post
Share on other sites

 LOL, I just checked too. I didn't even knew that... interesting...
All I can say is that I have never seen one with female OT.
And one thing I noticed about Bulbapedia is that they often tend to write in their articles that both male and female is possible in case they didn't knew it better. The same is going on with a lot of Japanese Events. The Japanese article is even worse... There's a lot of work that needs to be done there.
Regarding ROCKS Metang's OTG I will ask around and see what others say. If possible I will try to gather some more files which would be the best I think...

Edited by ajxpk
Link to post
Share on other sites

Perhaps not entirely related, but does anyone have a build of VBA-M with which link emulation actually works (both cable and Wireless), and GC<->GBA connectivity?

Newest Beta 3 might as well not exist, 2.0.0 Beta 2 from Sourceforge just starts lagging immensely as soon as any kind of link connection gets established, and VBA-M website is useless as it's pretty much abandoned.

Halp D:

Link to post
Share on other sites
1 hour ago, Sabresite said:

Man, I need to stop using Bulbapedia for quick event lookup.  If ROCKS Metang OTG is always Male, that is another thing Bulbapedia probably has wrong.
Anyone want to go on there and update it?

 

Also the PCNY pokes I have do not have consistent trash bytes.  Some have no trash bytes, some do.  Not sure what to make of it.

This might sound dumb, but the first thing to do might be to see if any of the trash is actually thumb code.  If so, those are probably the first ones generated.  Could the ones with none have been traded to a gamecube game and back?

The trash bytes for the 10anniv pokes exist because GF does a copy of the pokemon's name from a global constant to a local buffer, then copies the local buffer to the .pkm "file" in memory.  The problem is, the first copy is just a strcpyFF(local_buf, global_const) which ends at the 0xFF terminator, so if the name in the variable was 'LUGIA'\xFF FF FF FF, they would only copy 'LUGIA'\0xFF, leaving the last 3 or however many bytes as whatever was on the stack before because they don't zero-out the full size of the local variable before the copy.  Then they would copy the name using strncpy(&pkm.name, local_buf, 10) without caring about the junk past the FF-terminated name. 

The thumb code on the stack that makes up the trash is because of a function that 's basically memcpyFF(dest, src) that copies until it hits an 0xFF that I think is copying waaay too far and is coincidentally not breaking anything so they either didn't notice or left it.

  • Like 2
Link to post
Share on other sites

@Bond697 The way these Trash Bytes come together is so hilarious that I have to laugh about it everytime I think of it. 

Your idea that they could have been traded back and forth Col/XD makes a lot sense btw.
At least if these (hopefully rare) occurences @Sabresite is talking about are zero padded...
It's nothing too suspicious since it's possible to achieve it in a legit way.
Also I must say that I have only the stuff from @HaxAras ect.
Which included Absol, Zangoose, Seviper, Tropius, Machamp & Guardevoir.
And Gardevoir's name is too long so it doesn't have any trash.


Btw. is there a way to determine wether a PCNY is hacked or not without having them all?
PCNY is still new to me but I have a slight idea that it has to do with OT & ID.
Also interesting to see the Held Item stuff again. But hard to know how they get which item without knowing the generation method...

Edited by ajxpk
  • Like 1
Link to post
Share on other sites
On 12/23/2016 at 5:10 PM, pMD said:

VBA/VBA-M do not support multiboot mode emulation. This should work:

1. Download the latest no$gba emulator. (nocashgba-w-v2.8d)

2. Download the bios file for gba and rename it to gba.rom

3. Place the gba.rom file where the no$gba.exe file is.

4. Open the no$gba file and then go to Options -> Emulator Setup. Now, set:

a) Reset/Startup Entrypoint -> GBA/NDS BIOS (Nintendo logo).

b) Number of Emulated Gameboys -> 2.

c) Link Gamepaks -> Gamepaks in all GBAs.

d) Link Cable Type -> Automatic.

6. After you are done with optimazing the settings, go to the no$gba screen and right click -> Link. This should open two gba screens.

7. At the top left, File -> Cartridge Menu (FileName).

8. Check the "Autostart Cartridge" option at the bottom left and choose the "1st machine" option right next to the "Autostart Cartridge" button.

9. Choose as "File name" the rom of the available Gen III games you want to send the pokemon to and click "Open".

10. Repeat the same procedure but this time choose the "2nd machine" option, UNcheck the "Autostart Cartridge" option and choose the GBA distribution rom you want.

11. All you have to do now is follow the steps for the multiboot mode activation. Hold START + SELECT to do so.

BE CAREFUL: You have to manually change the controls for each one of the emulated GBAs. The START + SELECT step should be done on the slave GBA aka the gba that emulates the pokemon game rom where the event pokemon are going to be sent to.

Thanks @Deoxyz for releasing this! I feel sorry for the people who paid serious money for the genuine gba distribution cartridges.

Those instructions are wrong, in case anyone is still trying to make this work like I was (or if anyone finds this thread online while trying to make this work.)

- With NO$GBA 2.8d

- With gba bios named gba.rom in the same directory

- With your Gen. III save file in extension .sv2 (not .sav2) in the BATTERY folder, saved in the Pokémon Center with free space in your party

1. Start up the emulator, click Options --> Save options to create NO$GBA.ini

2. Close the emulator and open NO$GBA.ini in a text editor, change "SAV/SNA File Format == Compressed (good/lz)" to "SAV/SNA File Format == Raw" (Otherwise NO$GBA will compress your save for no reason at all and you won't be able to use it in VBA or restore to physical cartridge anymore.)

3. Start up the emulator again, go to Options --> Emulation setup

4. Set "Reset/Startup Entrypoint" to "GBA/NDS BIOS"

5. Click the "Controls" tab and define controls for both Player 1 and Player 2.

6. Exit the settings, right-click the emulator screen and select Link which will open a second screen.

7. Go to File --> Cartridge Menu (FileName), at the bottom, select 1st machine in the dropdown menu then select the distro rom. The distro rom will start on screen 1.

8. Go to File --> Cartridge Menu (FileName) again, this time select 2nd machine in the dropdown menu and select your Gen. III rom. It will start up on second screen.

9. Hold the keys you have bound in controls to Start + Select for Player 2 (hit File --> Reset Cartridge if you need to), and on Player 1 (distro rom) select one of the Pokémon you want to send.

10. It will send the Pokémon you chose over to your Gen. III game. Once it says you can turn off the power, go ahead and hit File --> Reset Cartridge and repeat the process to receive other Pokémon, or to get to the Pokémon Center in-game if your party gets full.

 

Do note however that NO$GBA 2.8d is shit and will crash on startup after you've done multiplayer stuff, and you'll have to delete NO$GBA.ini and redo the setup again if you need to use it again, but once you're done sending every 10ANNIV over you can just close it and move your save file back over to VBA so it doesn't matter much. The setup only takes a minute or two anyway so if you ever need it again it's not a huge deal.

Link to post
Share on other sites
20 minutes ago, Ammako said:

Those instructions are wrong, in case anyone is still trying to make this work like I was (or if anyone finds this thread online while trying to make this work.)

- With NO$GBA 2.8d

- With gba bios named gba.rom in the same directory

- With your Gen. III save file in extension .sv2 (not .sav2) in the BATTERY folder, saved in the Pokémon Center with free space in your party

1. Start up the emulator, click Options --> Save options to create NO$GBA.ini

2. Close the emulator and open NO$GBA.ini in a text editor, change "SAV/SNA File Format == Compressed (good/lz)" to "SAV/SNA File Format == Raw" (Otherwise NO$GBA will compress your save for no reason at all and you won't be able to use it in VBA or restore to physical cartridge anymore.)

3. Start up the emulator again, go to Options --> Emulation setup

4. Set "Reset/Startup Entrypoint" to "GBA/NDS BIOS"

5. Click the "Controls" tab and define controls for both Player 1 and Player 2.

6. Exit the settings, right-click the emulator screen and select Link which will open a second screen.

7. Go to File --> Cartridge Menu (FileName), at the bottom, select 1st machine in the dropdown menu then select the distro rom. The distro rom will start on screen 1.

8. Go to File --> Cartridge Menu (FileName) again, this time select 2nd machine in the dropdown menu and select your Gen. III rom. It will start up on second screen.

9. Hold the keys you have bound in controls to Start + Select for Player 2 (hit File --> Reset Cartridge if you need to), and on Player 1 (distro rom) select one of the Pokémon you want to send.

10. It will send the Pokémon you chose over to your Gen. III game. Once it says you can turn off the power, go ahead and hit File --> Reset Cartridge and repeat the process to receive other Pokémon, or to get to the Pokémon Center in-game if your party gets full.

 

Do note however that NO$GBA 2.8d is shit and will crash on startup after you've done multiplayer stuff, and you'll have to delete NO$GBA.ini and redo the setup again if you need to use it again, but once you're done sending every 10ANNIV over you can just close it and move your save file back over to VBA so it doesn't matter much. The setup only takes a minute or two anyway so if you ever need it again it's not a huge deal.

actually the workaround I got for that,
Is to not save the option to load gba bios. (meaning it stays are Start Cartridge directly).

when doing the steps, you have to load gba bios,
but clicking "ok" in the control setups isn't the same as the save now and auto save settings options.

As long as load gba bios isn't permanently saved to settings,
I won't have to redo my setup. Backing up a copy of the .ini with all the controls setup is also a good measure,
in case you accidentally save to load gba bios  option to settings permanently.

  • Like 1
Link to post
Share on other sites
13 hours ago, ajxpk said:

@Bond697 The way these Trash Bytes come together is so hilarious that I have to laugh about it everytime I think of it. 

Your idea that they could have been traded back and forth Col/XD makes a lot sense btw.
At least if these (hopefully rare) occurences @Sabresite is talking about are zero padded...
It's nothing too suspicious since it's possible to achieve it in a legit way.
Also I must say that I have only the stuff from @HaxAras ect.
Which included Absol, Zangoose, Seviper, Tropius, Machamp & Guardevoir.
And Gardevoir's name is too long so it doesn't have any trash.


Btw. is there a way to determine wether a PCNY is hacked or not without having them all?
PCNY is still new to me but I have a slight idea that it has to do with OT & ID.
Also interesting to see the Held Item stuff again. But hard to know how they get which item without knowing the generation method...

I'm still wondering if the UK 10ANNIV cart generates Pokemon in the EXACT same way as the other 10th Anniversary carts no matter what differences there are in OT, ID and hold item (or lack thereof). If it does, then all we'd need to do is modify it to distribute the US 10 ANIV events (and others like UK Aura Mew, but there's a chance that ROM will be released).

Edited by Invader TAK
Link to post
Share on other sites
4 hours ago, Ammako said:

Those instructions are wrong, in case anyone is still trying to make this work like I was (or if anyone finds this thread online while trying to make this work.)

- With NO$GBA 2.8d

- With gba bios named gba.rom in the same directory

- With your Gen. III save file in extension .sv2 (not .sav2) in the BATTERY folder, saved in the Pokémon Center with free space in your party

1. Start up the emulator, click Options --> Save options to create NO$GBA.ini

2. Close the emulator and open NO$GBA.ini in a text editor, change "SAV/SNA File Format == Compressed (good/lz)" to "SAV/SNA File Format == Raw" (Otherwise NO$GBA will compress your save for no reason at all and you won't be able to use it in VBA or restore to physical cartridge anymore.)

3. Start up the emulator again, go to Options --> Emulation setup

4. Set "Reset/Startup Entrypoint" to "GBA/NDS BIOS"

5. Click the "Controls" tab and define controls for both Player 1 and Player 2.

6. Exit the settings, right-click the emulator screen and select Link which will open a second screen.

7. Go to File --> Cartridge Menu (FileName), at the bottom, select 1st machine in the dropdown menu then select the distro rom. The distro rom will start on screen 1.

8. Go to File --> Cartridge Menu (FileName) again, this time select 2nd machine in the dropdown menu and select your Gen. III rom. It will start up on second screen.

9. Hold the keys you have bound in controls to Start + Select for Player 2 (hit File --> Reset Cartridge if you need to), and on Player 1 (distro rom) select one of the Pokémon you want to send.

10. It will send the Pokémon you chose over to your Gen. III game. Once it says you can turn off the power, go ahead and hit File --> Reset Cartridge and repeat the process to receive other Pokémon, or to get to the Pokémon Center in-game if your party gets full.

 

Do note however that NO$GBA 2.8d is shit and will crash on startup after you've done multiplayer stuff, and you'll have to delete NO$GBA.ini and redo the setup again if you need to use it again, but once you're done sending every 10ANNIV over you can just close it and move your save file back over to VBA so it doesn't matter much. The setup only takes a minute or two anyway so if you ever need it again it's not a huge deal.

The steps I included in my post work for me and for the most people I tried them with.

You don't have to be inside a Pokemon Center in order to receive Pokemon from multiboot roms. I tried to transfer 10ANNIVs to the save file which was used to verify the legitimatecy of shiny WISHMKRs and it worked fine, even when the game character was outside of a Pokemon Center.

The additional step "Close the emulator and open NO$GBA.ini in a text editor, change "SAV/SNA File Format == Compressed (good/lz)" to 'SAV/SNA File Format == Raw'" is optional and I don't know if it is worth it. Sometimes, editing the no$gba.ini file won't let you use your no$gba save file in VBA or retail cartridges.

The .SAV2 save file extension works for me the same way that .SV2 extension does.

Link to post
Share on other sites
3 minutes ago, pMD said:

The steps I included in my post work for me and for the most people I tried them with.

You don't have to be inside a Pokemon Center in order to receive Pokemon from multiboot roms. I tried to transfer 10ANNIVs to the save file which was used to verify the legitimatecy of shiny WISHMKRs and it worked fine, even when the game character was outside of a Pokemon Center.

The additional step "Close the emulator and open NO$GBA.ini in a text editor, change "SAV/SNA File Format == Compressed (good/lz)" to 'SAV/SNA File Format == Raw'" is optional and I don't know if it is worth it. Sometimes, editing the no$gba.ini file won't let you use your no$gba save file in VBA or retail cartridges.

The .SAV2 save file extension works for me the same way that .SV2 extension does.

.sav2 or .sv2 recognition may be affected by No$gba version.

The changing of to "Raw" is important, else the save can't be imported into PKHeX, flashcarts or other emulators.

If notepad doesn't modify it right, I'll say go with Notepad+

Always backup your .ini before modification, in case it decides not to boot etc.

Link to post
Share on other sites
12 minutes ago, theSLAYER said:

The changing of to "Raw" is important, else the save can't be imported into PKHeX, flashcarts or other emulators.

If notepad doesn't modify it right, I'll say go with Notepad+

Maybe that's the reason. I've tried to modify the .ini file with Notepad++ without success.

By the way, it didn't take much long and scammers have already started to look for unsuspicious victims online.

Spoiler

juwdCDm.png

 

Link to post
Share on other sites

Speaking with @Bond697, it looks like the PCNY trash bytes are also THUMB code.  This tell us that the pokemon were DEFINITELY generated by a GBA, most likely a multiboot rom.  Which makes sense since they probably choose PCNYa, b, c, d.  The thing we need to find out next is the ID incrementing, as we know the main rom does count/track how many pokemon are transmitted.

  • Like 1
Link to post
Share on other sites
8 minutes ago, pMD said:

Maybe that's the reason. I've tried to modify the .ini file with Notepad++ without success.

By the way, it didn't take much long and scammers have already started to look for unsuspicious victims online.

  Hide contents

juwdCDm.png

 

and as said previously, there'll always be scammers, and people should do their research.

Also, if you could find content like this, you could just join the thread and educate the users.

Also, I can't find that forum.

  • Like 3
Link to post
Share on other sites
Just now, theSLAYER said:

Also, I can't find that forum.

It's from a private message on the AssemblerGames forum. The user who received the message asked for a second opinion on another forum and luckily he didn't proceed with the transaction.

Link to post
Share on other sites
1 hour ago, Sabresite said:

Speaking with @Bond697, it looks like the PCNY trash bytes are also THUMB code.  This tell us that the pokemon were DEFINITELY generated by a GBA, most likely a multiboot rom.  Which makes sense since they probably choose PCNYa, b, c, d.  The thing we need to find out next is the ID incrementing, as we know the main rom does count/track how many pokemon are transmitted.

I'm not really sure if this helps at all but I learned not to assume bits of info are just worthless. Some of the PCNY Pokemon I found are PCNYc, but most are PCNYd if I remember correctly. So wouldn't that mean there were more distribution terminals? 

Link to post
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...