Jump to content

[GEN 3] Mystery Event/Gift Research


ajxpk

Recommended Posts

It would be interesting to have a tool that emulates Wonder Spots. You know, these machines (Wonder Spots) were used for downloading Wonder Cards to your game, when you connect your GBA to them using Wireless Adapter. You could find them on real life events (like Pokémon Festa).

U9JkZja.png

(Wonder Spot from Pokémon Festa 2005 in Japan. It was used for downloading Old Sea Map.)

Unfortunately, it is nearly impossible to make tool for Wonder Spots :frown:

Link to comment
Share on other sites

I have the skills to code an injector extractor even for gamecube since the "difficult" code is open source (gc-gba comunication protocol and gba save block handling), but if I have the skills to figure out the info for that is something I don't know.

I don't see what harm would do sharing the info at this point in the games lifetime though, but the script dumps are something great to have.

Feel free to do whatever you like.

I guess we need an new Mystery Gift Editor AND possibly an (improved) Injection Tool for the officially distributed Events...

I would love to see a Tool from you, also since lostaddict is gone now and comradesean as well.

Now I would like to explain why I'm hestitating with making the checksum algorithm public.

The reason is because I'm working together with the collectors scene.

The thing is that I have still a little bit hope that I could get a few more Mystery Gift saves files we don't have yet.

The chances are very small, but there's still hope and as long as the Mystery Gift save files are still rare, they have a higher trade value.

This could be useful to lure out rare Mystery Gift Events we don't have collected yet.

So it's also a matter of effeciency and we should carefully decide when it's the best time to release something and think about how it affects trades.

But then I must say that I haven't heard anything from the person I worked with since end of last year.

He was onto something huge and then it became silent around him all over sudden.

Anyway, I would let you decide when you want to release your Tool when it's done.

The algorithm however should still be kept as a secret, at least for now.

Btw. the funny thing is that some fractioned information for the algorithm are inside this thread... lol

So it's not even a big secret anymore. But with the thread becoming this large who would do the effort to collect all the pieces together?

Even I completely lost the overview of this thread...

:wink:

Link to comment
Share on other sites

It would be interesting to have a tool that emulates Wonder Spots. You know, these machines (Wonder Spots) were used for downloading Wonder Cards to your game, when you connect your GBA to them using Wireless Adapter. You could find them on real life events (like Pokémon Festa).

U9JkZja.png

(Wonder Spot from Pokémon Festa 2005 in Japan. It was used for downloading Old Sea Map.)

Unfortunately, it is nearly impossible to make tool for Wonder Spots :frown:

That's exactly the kind of thing I want. But unfortunately, we'd need someone willing to dump one of the Aurora Ticket distribution carts. At this point, I wouldn't count on it. Which is why I'd settle on a GameCube/Wii or DS homebrew solution.

On another note, I'd also love if somebody dumped one of the 10th Anniversary carts as well, but that's even less likely.

Link to comment
Share on other sites

Hello. I was working on a similar project in a spanish forum many years ago, but at the moment we can't do anything (legal problems? Flanderism? I don't know) and part of the work has vanished. I met suloku in that forum last month, and now I'm interested in the 3rd gen Mistery Gift again. I used to read Project Pokémon forums, but when I saw this thread I had to say hello, at least.

I'd like to help, if I can.

It would be interesting to have a tool that emulates Wonder Spots. You know, these machines (Wonder Spots) were used for downloading Wonder Cards to your game, when you connect your GBA to them using Wireless Adapter. You could find them on real life events (like Pokémon Festa).

U9JkZja.png

(Wonder Spot from Pokémon Festa 2005 in Japan. It was used for downloading Old Sea Map.)

Unfortunately, it is nearly impossible to make tool for Wonder Spots :frown:

THIS is my dream. I also remember a strange GBA cartridge in a spanish event, in Madrid. I had to connect my GBA with Pokémon Ruby using link cable to another GBA with this cartridge for downloading Eon Ticket.

Link to comment
Share on other sites

THIS is my dream. I also remember a strange GBA cartridge in a spanish event, in Madrid. I had to connect my GBA with Pokémon Ruby using link cable to another GBA with this cartridge for downloading Eon Ticket.

Pokemon Ruby and Saphire didn't used Mystery Gift system. They used different system called "Mystery Event". The most of Mystery Events required e-Reader and e-Cards (like EON TICKET Event). Unlike Mystery Gifts, Mystery Events were distributed with a link cable, not with Wireless Adapter.

E-Reader Mystery Event distribution can be also emulated. :redface:

[video=youtube;zSrLvgGbB2Y]video

Here's a video I found. It shows how to emulate EON TICKET distribution. I hope this helped.

Link to comment
Share on other sites

Pokemon Ruby and Saphire didn't used Mystery Gift system. They used different system called "Mystery Event". The most of Mystery Events required e-Reader and e-Cards (like EON TICKET Event). Unlike Mystery Gifts, Mystery Events were distributed with a link cable, not with Wireless Adapter.

E-Reader Mystery Event distribution can be also emulated. :redface:

[video=youtube;zSrLvgGbB2Y]video

Here's a video I found. It shows how to emulate EON TICKET distribution. I hope this helped.

I know. In fact, link cable was the only way to communicate with GBA in 2002\2003. But if we can emulate the strange cartridge then it's all done! (for RS I mean)

I remember something like that in the other GBA screen, but i'm not sure. In addition, my cartridge received 100 eon tickets that I had to

distribute with other players in the records center, not only one.

I have to watch that video.

Thanks.

Link to comment
Share on other sites

I know. In fact, link cable was the only way to communicate with GBA in 2002\2003. But if we can emulate the strange cartridge then it's all done! (for RS I mean)

I remember something like that in the other GBA screen, but i'm not sure. In addition, my cartridge received 100 eon tickets that I had to

distribute with other players in the records center, not only one.

I have to watch that video.

Thanks.

For the Eon Ticket, I'd say our best bet is to make e-Reader dot codes for the Japanese, Spanish, French, German and Italian games (said dot codes could even be coded for the English e-Reader).

Link to comment
Share on other sites

For the Eon Ticket, I'd say our best bet is to make e-Reader dot codes for the Japanese, Spanish, French, German and Italian games (said dot codes could even be coded for the English e-Reader).

Actually it's not hard to get the Eon Ticket dot code working for other languages. There are 3 or 4 bytes that have to be changed in the decompressed file.

The only problem is the Japanese language. You have to translate the file because none-Japanese characters will crash the e-Reader.

Maybe hatschky's disassembly of the e-Cards helps in the translation process if anyone wants to try. https://github.com/hatschky/pokecarde

Link to comment
Share on other sites

I know. In fact, link cable was the only way to communicate with GBA in 2002\2003. But if we can emulate the strange cartridge then it's all done! (for RS I mean)

I remember something like that in the other GBA screen, but i'm not sure. In addition, my cartridge received 100 eon tickets that I had to

distribute with other players in the records center, not only one.

I have to watch that video.

Thanks.

There's a problem with emulating that strange cartridge. Because that is a GBA cartridge, and we already have GBA emulators lol. What we actually need is a ROM file of that cartridge. We could easly just link our games with that ROM file and get 100 EON TICKETS. But that is another impossible thing, dcuz there is no ROM file like that :frown:

Link to comment
Share on other sites

Actually it's not hard to get the Eon Ticket dot code working for other languages. There are 3 or 4 bytes that have to be changed in the decompressed file.

The only problem is the Japanese language. You have to translate the file because none-Japanese characters will crash the e-Reader.

Maybe hatschky's disassembly of the e-Cards helps in the translation process if anyone wants to try. https://github.com/hatschky/pokecarde

Multi-language dot codes SHOULD be possible, if you make them completely from scratch. For example, Prof. 9's custom Mega Man Battle Network dot codes scan on English e-Readers yet they're able to send data to both English AND Japanese games (while the Battle Network 6 dot codes will send data to the Japanese versions ONLY).

Link to comment
Share on other sites

I've been reading the thread, a dump/inject tools seems easy, given we have the WC3 files. I'll test with the ones I already have and release when it works. It'd be command line for easy GC/Wii porting.

After that might come an editor. The checksum routine for the WCs is posted in asm in this thread, I will try to at least code a tool that allows validating an edited WC3.

What I'm really interested is in official events, for which a dumper/injector is enough.

About the RS eon ticket, I forgot mentioning that I used my spanish save in the usa rom to get the ticket, then after receiving it I mixed records with my emerald as a way to obtain the ticket (which is the only known way for european emerald). What is curious is that when I went to receive the eon ticket with my spanish save, this time using the spanish rom, the text for the eon ticket event was in english. That means there's some kind of script that was injected in the RS eon ticket distributions. I'll look into that too, see if we can get the official RS eon ticket distributions. The problem would be actually checking how many eon tickets remain to be distributed...

Dr. Matt, your RS save with eon ticket is one that can send eon tickets via mixing records right? If that's the case, the script for the event might still be in the save.

ps: morpheo also has some codes for RS eon ticket, will check them later.

edit: first post is missing the EUR MASTER and DMA codes (I think the EUR english rom is the same as the USA rom, explaining why it works with usa e-reader)

France

POKEMON RUBIS

Master Code

F57C7BCB ADC632B9

90A6E9C3 2D8D03E3

POKEMON SAPHIRE

Master Code

F57C7BCB ADC632B9

A43FB15C 1E8ECF5D

POKEMON EMERAUDE

Master Code

D8BAE4D9 4864DCE5

A7308156 808311D9

Anti DMA

A57E2EDE A5AFF3E4

1C7B3231 B494738C

POKEMON ROUGEFEU

Master Code

D8BAE4D9 4864DCE5

0B40BD4C 6F70EA2C

Anti DMA

115D14A2 58B9B5BF

78DA95DF 44018CB4

POKEMON VERTFEUILLE

Master Code

D8BAE4D9 4864DCE5

FB41D9B3 3A1BF27D

Anti DMA

115D14A2 58B9B5BF

78DA95DF 44018CB4

Italy

POKEMON RUBINO

Master Code

33E6A427 056936FC

93A1C658 8DD5F1D0

POKEMON ZAFFIRO

Master Code

33E6A427 056936FC

F5288E7B 33220035

POKEMON SMERALDO

Master Code

D8BAE4D9 4864DCE5

6FF77D3F 15E9225C

Anti DMA

B2809E31 3CEF5320

1C7B3231 B494738C

POKEMON ROSSOFUOCO

Master Code

DFC87987 BBA21C13

8378FDD4 5ABC5853

Anti DMA

1C83801E D2A043BF

78DA95DF 44018CB4

POKEMON VERDEFOGLIA

Master Code

DFC87987 BBA21C13

518E0AB2 E182C852

Anti DMA

1C83801E D2A043BF

78DA95DF 44018CB4

Germany

POKEMON RUBIN

Master Code

5E263E14 AD8EF97D

851B05E0 594B5D88

POKEMON SAPHIR

Master Code

5E263E14 AD8EF97D

41C1BF4B 17EE5233

POKEMON SMARAGD

Master Code

D8BAE4D9 4864DCE5

DD5F41DA 90B02762

Anti DMA

B2809E31 3CEF5320

1C7B3231 B494738C

POKEMON FEUERROTE

Master Code

DFC87987 BBA21C13

CEBF8DCD FD0A2E01

Anti DMA

A269812A 7C8BB4D9

78DA95DF 44018CB4

POKEMON BLATTGRUNE

Master Code

DFC87987 BBA21C13

66A64C7D C1365507

Anti DMA

A269812A 7C8BB4D9

78DA95DF 44018CB4

Spain

POKEMON RUBÍ

Master Code

33E6A427 056936FC

E87BA897 4FFD3634

POKEMON ZAFIRO

Master Code

33E6A427 056936FC

B02EF1DB D06782F2

POKEMON ESMERALDA

Master Code

D8BAE4D9 4864DCE5

BB26EE7E 4AF89D9E

Anti DMA

A57E2EDE A5AFF3E4

1C7B3231 B494738C

POKEMON ROJOFUEGO

Master Code

D8BAE4D9 4864DCE5

4879A617 AE7683D9

Anti DMA

61181D0E ABC43CBE

78DA95DF 44018CB4

POKEMON VERDEHOJA

Master Code

D8BAE4D9 4864DCE5

CB89E5ED 0ADBAF91

Anti DMA

61181D0E ABC43CBE

78DA95DF 44018CB4

Link to comment
Share on other sites

I've been reading the thread, a dump/inject tools seems easy, given we have the WC3 files. I'll test with the ones I already have and release when it works. It'd be command line for easy GC/Wii porting.

After that might come an editor. The checksum routine for the WCs is posted in asm in this thread, I will try to at least code a tool that allows validating an edited WC3.

What I'm really interested is in official events, for which a dumper/injector is enough.

About the RS eon ticket, I forgot mentioning that I used my spanish save in the usa rom to get the ticket, then after receiving it I mixed records with my emerald as a way to obtain the ticket (which is the only known way for european emerald). What is curious is that when I went to receive the eon ticket with my spanish save, this time using the spanish rom, the text for the eon ticket event was in english. That means there's some kind of script that was injected in the RS eon ticket distributions. I'll look into that too, see if we can get the official RS eon ticket distributions. The problem would be actually checking how many eon tickets remain to be distributed...

Dr. Matt, your RS save with eon ticket is one that can send eon tickets via mixing records right? If that's the case, the script for the event might still be in the save.

ps: morpheo also has some codes for RS eon ticket, will check them later.

edit: first post is missing the EUR MASTER and DMA codes (I think the EUR english rom is the same as the USA rom, explaining why it works with usa e-reader)

France

POKEMON RUBIS

Master Code

F57C7BCB ADC632B9

90A6E9C3 2D8D03E3

POKEMON SAPHIRE

Master Code

F57C7BCB ADC632B9

A43FB15C 1E8ECF5D

POKEMON EMERAUDE

Master Code

D8BAE4D9 4864DCE5

A7308156 808311D9

Anti DMA

A57E2EDE A5AFF3E4

1C7B3231 B494738C

POKEMON ROUGEFEU

Master Code

D8BAE4D9 4864DCE5

0B40BD4C 6F70EA2C

Anti DMA

115D14A2 58B9B5BF

78DA95DF 44018CB4

POKEMON VERTFEUILLE

Master Code

D8BAE4D9 4864DCE5

FB41D9B3 3A1BF27D

Anti DMA

115D14A2 58B9B5BF

78DA95DF 44018CB4

Italy

POKEMON RUBINO

Master Code

33E6A427 056936FC

93A1C658 8DD5F1D0

POKEMON ZAFFIRO

Master Code

33E6A427 056936FC

F5288E7B 33220035

POKEMON SMERALDO

Master Code

D8BAE4D9 4864DCE5

6FF77D3F 15E9225C

Anti DMA

B2809E31 3CEF5320

1C7B3231 B494738C

POKEMON ROSSOFUOCO

Master Code

DFC87987 BBA21C13

8378FDD4 5ABC5853

Anti DMA

1C83801E D2A043BF

78DA95DF 44018CB4

POKEMON VERDEFOGLIA

Master Code

DFC87987 BBA21C13

518E0AB2 E182C852

Anti DMA

1C83801E D2A043BF

78DA95DF 44018CB4

Germany

POKEMON RUBIN

Master Code

5E263E14 AD8EF97D

851B05E0 594B5D88

POKEMON SAPHIR

Master Code

5E263E14 AD8EF97D

41C1BF4B 17EE5233

POKEMON SMARAGD

Master Code

D8BAE4D9 4864DCE5

DD5F41DA 90B02762

Anti DMA

B2809E31 3CEF5320

1C7B3231 B494738C

POKEMON FEUERROTE

Master Code

DFC87987 BBA21C13

CEBF8DCD FD0A2E01

Anti DMA

A269812A 7C8BB4D9

78DA95DF 44018CB4

POKEMON BLATTGRUNE

Master Code

DFC87987 BBA21C13

66A64C7D C1365507

Anti DMA

A269812A 7C8BB4D9

78DA95DF 44018CB4

Spain

POKEMON RUBÍ

Master Code

33E6A427 056936FC

E87BA897 4FFD3634

POKEMON ZAFIRO

Master Code

33E6A427 056936FC

B02EF1DB D06782F2

POKEMON ESMERALDA

Master Code

D8BAE4D9 4864DCE5

BB26EE7E 4AF89D9E

Anti DMA

A57E2EDE A5AFF3E4

1C7B3231 B494738C

POKEMON ROJOFUEGO

Master Code

D8BAE4D9 4864DCE5

4879A617 AE7683D9

Anti DMA

61181D0E ABC43CBE

78DA95DF 44018CB4

POKEMON VERDEHOJA

Master Code

D8BAE4D9 4864DCE5

CB89E5ED 0ADBAF91

Anti DMA

61181D0E ABC43CBE

78DA95DF 44018CB4

Good luck with your tool. Can't wait 'til you finish it.

Link to comment
Share on other sites

@suloku

These are all the offsets used by the Mystery Gift and Mystery Event features.

Section 0
RS	0x498 - 0x553	e-Card Trainer
E	0xBEC - 0xCA7	e-Card Trainer
FRLG	0x4A0 - 0x55B	e-Card Trainer

Section 4
RS 	0x2E0 - 0x80F	e-Card Berry
RS	0x810 - 0xBFB	Mystery Event Script
RS	0xBFC - 0xC03	Record Mixing Item

E	0x360 - 0x51F	Wonder News
E	0x520 - 0x66F	Wondercard
E	0x860 - 0xC4B	Deliveryman Script
E	0x854 - 0xC93	Mystery Event Script
E	0xC94 - 0xC9B	Record Mixing Item

FRLG	0x2A0 - 0x45F	Wonder News
FRLG	0x460 - 0x5AF	Wondercard
FRLG	0x79C - 0xB87	Deliveryman Script

Record Mixing Items Structure

0x00	32 bit checksum of 0x04 - 0x07
0x04	Amount
0x05	Distribution counter
0x06	Itemindex

The Eon Ticket script from the US e-Card has laready been posted somewhere in this thread.

I currently can't find that post, but this is it.

Unfortunately there's a killscript command at the end, so once you received your Eon Ticket the script is gone.

//---------------
#org 0x61
setvirtualaddress 0x2000061
checkitem 0x113 0x1
compare LASTRESULT 0x1
virtualgotoif 0x1 0x20000BF
checkpcitem 0x113 0x1
compare LASTRESULT 0x1
virtualgotoif 0x1 0x20000BF
checkflag 0xCE
virtualgotoif 0x1 0x20000BF
lock
faceplayer
virtualmsgbox 0x20000C9 //"DAD["][player]! Good to see you!\n..."
waitmsg
waitkeypress
checkitemroom 0x113 0x1
compare LASTRESULT 0x0
virtualgotoif 0x1 0x20000C0
giveitem 0x113 0x1 MSG_OBTAIN
setflag 0x853
virtualmsgbox 0x2000104 //"DAD["]It appears to be a ferry TIC..."
waitmsg
waitkeypress
release
killscript

//---------------
#org 0xBF
killscript

//---------------
#org 0xC0
virtualmsgbox 0x2000183 //"DAD["][player]' the KEY ITEMS POCK..."
waitmsg
waitkeypress
release
end


//---------
// Strings
//---------
#org 0xC9
= DAD["][player]! Good to see you!\nThere's a letter here for you,[player].

#org 0x104
= DAD["]It appears to be a ferry TICKET.\nbut I've never seen one like it before.\lYou should visit LILYCOVE and ask\nabout it there.

#org 0x183
= DAD["][player]' the KEY ITEMS POCKET in\nyour BAG is full.\pMove some key items for safekeeping\nin your PC' then come see me.

Link to comment
Share on other sites

Dr. Matt, your RS save with eon ticket is one that can send eon tickets via mixing records right? If that's the case, the script for the event might still be in the save.

Sure. As I said, I distributed a few in 2003. I sent one via mixing records to my spanish emerald also, I don't remeber english text in that game during the process.

Link to comment
Share on other sites

What I'm really interested is in official events, for which a dumper/injector is enough.

I will send these later to you.

But the problem is that we might never be able to collect all of them and with those I dumped alone we're not able to support all of the game versions.

And even if we have all of them, we couldn't support all of the games. That's why the scripts I posted are so important.

So I think an Wonder Card Editor should be on top of the list... I can give you the alpha version of lostaddicts's tool if needed.

It's not working yet and just UI, but it can give you a feeling about what we would like to have for a Tool.

You can also see pictures of it in the Thread...

The official Wonder Cards we already have you can see on the list in the first post... A lot of them are still missing like the UK, the French and the Spanish Aurora Tickets for example.

We have an UK one that was downloaded by gldsun on Emerald but the FireRed one would have been more important so it's a pity we don't have this one...

Btw. one thing I always forgot to ask you guys...

I think there's a chance that we might be able to get the french Aurora Ticket.

As you can see in this video, he has one downloaded on his french LeafGreen version.

It would be cool if someone could ask gldsun if he could dump a save file for us.

Sure. As I said, I distributed a few in 2003. I sent one via mixing records to my spanish emerald also, I don't remeber english text in that game during the process.

In Ruby & Sapphire the very first receiver (who received it at an Event or via e-Card Reader) gets the Ticket from the father in Petalburg City.

Just like BlackShark already mentioned the Scripts gets terminated by a killscript command at the end of the Script when the text ends.

So after saving the game 2 times the Script is lost forever...

The "Mixing Record"-feature works differently, there's a counter for it and everyone you mix records with (when you're the 1st Player) receives one after mixing records.

This works as long as the counter falls to 0.

Link to comment
Share on other sites

I will send these later to you.

But the problem is that we might never be able to collect all of them and with those I dumped alone we're not able to support all of the game versions.

And even if we have all of them, we couldn't support all of the games. That's why the scripts I posted are so important.

So I think an Wonder Card Editor should be on top of the list... I can give you the alpha version of lostaddicts's tool if needed.

You want the editor to recreate the missing WCs, that's something that can be done with an hex editor (there are not that many missing WCs) using another WC from the same region, and of course we would have to think something that identifies them as recreated (probably changing the ID/background color is more than enough). Recreating the official cards via hex editing is way quicker than a full editor, and with full editor I mean something that can give you any item, any pokemon, trainer card, berries... etc.

That's why my priority would be a way to dump/inject and preserve official events, then comes all the non-released stuff imho. Also, I don't know java (which would be great do to multi-platform), so an editor would be done in c#.

In fact, since BlackShark already posted the offsets, the dumper/injector is trivial. I'll add support for all those.

WC3 file structure will be WC+Deliverymanscript (.wc3)

mistery event structure will be script+item (.me3)

wc news (.wcn)

still thinking extensions for e-trainer card and e-berry.

EDIT: @BlackShark, Mistery event script in emerald is bigger (84 bytes), any reason for that or just nintendo things? I'm still reading the thread.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...