Interestingly there are patch files for Crystal included, meaning that a Crystal VC release may still happen (or perhaps they abandoned it after realising they'd need to do something about the GB Mobile Adaptor in the Japanese version).

As with R/B, the patch files include comments with some IDA output and some actual src:

Interesting that the "official" bankswitched call macro takes a bank as well as function address. I guess the official GB/C compiler and linker are inferior to rgbds and doesn't have an inbuilt feature to get the bank number that a symbol is in.

The relevant function in the English version disassembly (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/misc/mobile_5b.asm#L1-L30).

The original value of address 16C000 is F0. This disables the Mobile System GB boot screen but does not seem to affect the availability of the Mobile System GB features in save files on which it has already been unlocked.

The string "MURIYARI" also appears as a comment immediately before some link-related modifications. I initially thought it was a staff member's name (full list (https://bulbapedia.bulbagarden.net/wiki/Staff_of_Pokémon_Crystal)) but the word 「無理やり」refers to doing something against someone's will so I wonder what exactly is the meaning here.

Jynx's color was also changed in Japanese versions since only Western Gold, Silver, and Crystal had censored the design back in 2000 and 2001. Korean Gold and Silver originally use the Japanese sprites and I'm not seeing Jynx mentioned on the Korean patches (the Japanese patches clearly state it directly).

As SatoMew pointed out to me once, there’s a minor issue in Japanese Crystal (but not Gold and Silver, I thought?) with an unusually long delay during the Dude’s catching tutorial. This patch is applied in all Japanese versions; $2ea9f is the address in Gold and Silver while $4e433 is the Crystal equivalent. I never found out what caused the delay, so I don’t know if this fixes it.

The string "MURIYARI" also appears as a comment immediately before some link-related modifications. I initially thought it was a staff member's name (full list (https://bulbapedia.bulbagarden.net/wiki/Staff_of_Pokémon_Crystal)) but the word 「無理やり」refers to doing something against someone's will so I wonder what exactly is the meaning here.

Perhaps it's related to link code where the VC forces something to happen. According to the JWPce dictionary this also means "forcibly".

As SatoMew pointed out to me once, there’s a minor issue in Japanese Crystal (but not Gold and Silver, I thought?) with an unusually long delay during the Dude’s catching tutorial. This patch is applied in all Japanese versions; $2ea9f is the address in Gold and Silver while $4e433 is the Crystal equivalent. I never found out what caused the delay, so I don’t know if this fixes it.

I still get a delay but something did change in the tutorial: you now manually close it instead of waiting for the game to do it (input from the A button is ignored), which fixes the delay, but the initial part remains intact so it still has the issue. I assume they did the same thing for Gold and Silver.

Edit: Now it's past midnight the games are out here. As expected ACE worked perfectly without a problem.

Do note if you want to import your save files with JK's save manager then depending on your emulator you exported the save from you'll have to either delete bytes to fix the file size and fix the checksums (see https://twitter.com/mattyoukhana_/status/910875545390473217) or if the save file is exactly $8000 bytes, append the following data to make it end at $800F in a hex editor: 05 01 00 00 00 00 00 00 7B 72 6B 86 1F 00 00 00

I haven't tried it myself but I'm 99.9% sure it does, and it's officially advertised as so.

Quote from: Nintendo UK

In addition, these titles are compatible with the Time Capsule function, allowing players to Link Trade Pokémon between the Virtual Console versions of Pokémon Gold Version or Pokémon Silver Version and the Virtual Console versions of Pokémon Red Version, Pokémon Blue Version, or Pokémon Yellow Version: Special Pikachu Edition in Pokémon Centres within the games.

I haven't tried it yet, but according to theSlayer (https://twitter.com/PP_theSLAYER/status/910855127480729603), you can't soft reset using the button combination while the game is saving.

That's interesting. I've just confirmed it on the VC version as well, but after further testing on my English Gold cartridge on a Game Boy Advance SP it seems you can't use the button combination to reset the game either.

The same also applies to Red/Blue (both VC and cartridge) with the buttons disabled until the first character of your name in "(PLAYER) saved the game!" is printed. As for Yellow something similar applies for VC and cartridge; you may just have to wait until the "S" in "Saving..." is printed before you can reset during the saving session but (at least) most of the actual saving is done before that.

Edit: Now it's past midnight the games are out here. As expected ACE worked perfectly without a problem.

Do note if you want to import your save files with JK's save manager then depending on your emulator you exported the save from you'll have to either delete bytes to fix the file size and fix the checksums (see https://twitter.com/mattyoukhana_/status/910875545390473217) or if the save file is exactly $8000 bytes, append the following data to make it end at $800F in a hex editor: 05 01 00 00 00 00 00 00 7B 72 6B 86 1F 00 00 00

SnorlaxMonster recently pointed out that the Virtual Console manual mentions that Pokémon holding Mail are not allowed in the Time Capsule, which is confirmed by the English Crystal disassembly (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/PokeCenter2F.asm#L303-L335). As this has been somewhat overlooked, can the Time Capsule exploit be used to bypass this additional requirement?

Also, a trigger in SPECIAL (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/PokeCenter2F.asm#L22-L28) suggests that the Mystery Gift delivery man's appearance relies on a flag set by receiving Poké Balls from Kurt. How exactly and is the player informed about this in-game?

According to the disassembly, (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2054) it can not (the Time Capsule exploit only bypasses the species check).

The Johto Guard Glitch cannot be used to smuggle mail into Gen I. (Below is a detailed explanation using the disassembly, but I didn't test it in-game)

The function that checks for Gen I compatibility is called SpecialTimeCapsuleCompatibility (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2054-L2133).It's basically composed of three loops which check one part of the compatibility each.The first loop parses species, and this is how it returns : until it encounters a $FF species (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2066).The second (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2075) and third (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2093) loop instead use the counter counting the number of Pokémon in the party.

Thus, only the Pokémon species check is affected by the Johto Guard Trick. Quite a shame, but oh well.

As for the Mystery Gift trigger being tied to Kurt, a quick search about the flag (https://github.com/pret/pokecrystal/search?p=1&q=EVENT_RECEIVED_BALLS_FROM_KURT&type=&utf8=%E2%9C%93) turns up that for some reason it's also used by a bunch of other triggers. So I believe something else is going on there, probably that this flag is used as a temporary by different scripts ?I don't really know what's going on there, but here are the elements I found :- The delivery guy is directly tied (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/PokeCenter2F.asm#L1052) to the mystery gift flag. (I don't know how for sure)- When the delivery guy appears, he sets Kurt's flag again (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/PokeCenter2F.asm#L55).

Wow! Great discovery! I didn't knew that. The combination Mystery Gift, deliveryguy and Pokémon Center 2F made me almost think like this is a GS Ball Event. Appearently the Officer Sprite was used for the deliveryguy here.

I tried cloning a Bellsprout about an hour ago in Silver. Instead, the game cloned the previous Pokemon I sent to the box, which was a Level 8 Hoothoot. It also started me at the last spot I saved, rather than having me be next to the computer. I didn't reset the game via the menu, instead I pressed the home button and closed the game. I haven't tested out using the other method yet, I was pretty upset that I had to look for another Bellsprout to trade to get Onix. :P It took me a while to find the darn thing...

Thank you both, Wack0 and ISSOtm. I have also checked the Pokémon Trainer's Guide of my UK Gold and Nintendo of Europe back then did not mention the Mail restriction on the manual, only the new Pokémon and moves.

Wow! Great discovery! I didn't knew that. The combination Mystery Gift, deliveryguy and Pokémon Center 2F made me almost think like this is a GS Ball Event. Appearently the Officer Sprite was used for the deliveryguy here.

Hey, ajxpk! I'd like to take the opportunity to say that we're all very grateful to you and others for your tremendous research on the Mystery Events and Mystery Gift systems of the Generation III Pokémon games (https://projectpokemon.org/home/forums/topic/35903-gen-3-mystery-eventgift-research/), you guys worked hard to preserve the most you could out of those old events :)

As to the Mystery Gift system in the Generation II games, yes, the delivery man uses the same sprite as Officers and it was never used for event items afaik. The GS Ball, Mirage Mail, Bluesky Mail, and possibly others were distributed using the Mobile System GB of Japanese Crystal, which is independent of Mystery Gift.

In non-Japanese Crystal, the GS Ball event (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/GoldenrodPokeCenter1F.asm#L18-L80) can be triggered by simply assigning a value of 0B to address BE3C while inside the Goldenrod Pokémon Center and then stepping on the ground floor's mat tiles (not all emulators seem to handle this well for some reason so, if it doesn't work, try editing the save file directly (https://tcrf.net/Talk:Pokémon_Crystal#0xBE3C_Problems)). The disassembly refers to a GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST but she is actually the Trade Corner attendant of the PokéCom Center, which has blue hair unlike the Cable Club and PokéCom Club attendants on the second floor, which have green hair. She comes from and returns to the second floor in the localized event (video (https://www.youtube.com/watch?v=iO2AKwWE6WM)).

That same Pokémon Center does have something to do with Mystery Gift: you need to use the system to receive Eon Mail and then exchange it for a Revive from the female NPC (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/GoldenrodPokeCenter1F.asm#L88-L107) that was added to the localizations and which replaces the male NPC from Gold and Silver that comments on something related to the amount of Pokémon that have been discovered iirc.

Thank you very much! I know you guys pretty well too and really appreciate your work.

Thanks for the info, most of these things I already knew.Currently I'm doing some Research about Japanese Gen 1 and Gen 2 Events. I try to gather as much information as I can.The Thread can be found right here (https://projectpokemon.org/home/forums/topic/41541-information-about-japanese-gen-1-gen-2-event-pokémon/) in case you're interested.

I'm keenly interested in what you guys doing and what Hacky did with his Python Scripts is awesome.I was a silent reader for a long time until I decided to register just recently.

What I tried to say is that I almost felt like this could have been something like an unused GS Ball Event.But then I had read in the asm that it's about "balls"... plural... I guess it refers to the Balls made by Kurt and has nothing to do with it.It would still be interesting to see it come to action and see how it works.

You're welcome! :) The thread you started about those Japanese events and how Mew had an unusual sprite reminds me of the November 1996 issue of CoroCoro in which multiple Pokémon such as Mewtwo were depicted with sprites that don't match those seen in the actual release of Blue (source (http://d.hatena.ne.jp/poke_age/20120601), direct image link (https://cdn-ak.f.st-hatena.com/images/fotolife/p/poke_age/20120601/20120601163639.jpg)), suggesting these were early sprites.

That June 1997 issue has artwork of Mew I haven't seen before. And it looks like Pokémon Yellow was announced in Japan on April 1998 (May 1998 issue of CoroCoro), exactly one month before Red and Blue were announced at E3 1998.

Yeah, I remember these sprites. How much I would love to see this beta... I think the Mew software must have been made while they were working on Pocket Monsters Blue.

My favorite is this one (http://dogasu.bulbagarden.net/features/pokemon_in_1996/corocoro_comics/05_may_1996/page060-061_mew.png). (Source (http://dogasu.bulbagarden.net/features/pokemon_in_1996.html))IMO an interesting coincidence that the name of the first Mew Screenshot ever shown has the OT Name ゲーフリ.The same name you can find as default name in Pocket Monsters Blue.

Btw. is there any glitch for the Japanese GS versions to get Celebii? From what I remember the Coin Case glitch was for the English Versions only...So there's only the bad clone glitch? It's been a while since I glitched in GS and C.

I'm not sure it is valid for Japanese versions, but for european games, getting Celebi can be performed through:- Bad Clone Trick- Coin Case ACE (english versions only)- TM ACE (requires either a Bad Clone or a 1G game)- Bad Clone ACE (requires a Bad Clone)- Move-0 Type ACE (requires a Red/Blue game)- ????? party overload corruption, either as Daycare data corruption or Roaming data corruption (requires a Bad Clone or any ACE)

So yeah, unless you're able to use a 1G game, you will have to use a Bad Clone. But I think there is another glitch in japanese games using bug contest, no?

Btw. is there any glitch for the Japanese GS versions to get Celebii? From what I remember the Coin Case glitch was for the English Versions only...So there's only the bad clone glitch? It's been a while since I glitched in GS and C.

This one should be the easiest method. The Bug-Catching Contest glitch means you don't have to attempt the cloning glitch wrong (potentially for a long time) for a bad clone.

https://www.youtube.com/watch?v=e2d6yZPHJog

Though wrong TM/HM pocket, glitch Pokédex mode(?) ACE, Hall of Fame SRAM glitch(?) is also an option for Japanese versions of Gold/Silver. I'm unsure if there is a bad move type ACE in the Japanese versions.

The Johto Guard Glitch cannot be used to smuggle mail into Gen I. (Below is a detailed explanation using the disassembly, but I didn't test it in-game)

The function that checks for Gen I compatibility is called SpecialTimeCapsuleCompatibility (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2054-L2133).It's basically composed of three loops which check one part of the compatibility each.The first loop parses species, and this is how it returns : until it encounters a $FF species (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2066).The second (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2075) and third (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2093) loop instead use the counter counting the number of Pokémon in the party.

Thus, only the Pokémon species check is affected by the Johto Guard Trick. Quite a shame, but oh well.

As for the Mystery Gift trigger being tied to Kurt, a quick search about the flag (https://github.com/pret/pokecrystal/search?p=1&q=EVENT_RECEIVED_BALLS_FROM_KURT&type=&utf8=%E2%9C%93) turns up that for some reason it's also used by a bunch of other triggers. So I believe something else is going on there, probably that this flag is used as a temporary by different scripts ?I don't really know what's going on there, but here are the elements I found :- The delivery guy is directly tied (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/PokeCenter2F.asm#L1052) to the mystery gift flag. (I don't know how for sure)- When the delivery guy appears, he sets Kurt's flag again (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/PokeCenter2F.asm#L55).

My favorite is this one (http://dogasu.bulbagarden.net/features/pokemon_in_1996/corocoro_comics/05_may_1996/page060-061_mew.png). (Source (http://dogasu.bulbagarden.net/features/pokemon_in_1996.html))IMO an interesting coincidence that the name of the first Mew Screenshot ever shown has the OT Name ゲーフリ.The same name you can find as default name in Pocket Monsters Blue.

I think they gave Mew that OT to clarify that it was a special gift from Game Freak (ゲーフリ is short for ゲームフリーク), especially since it was the first distribution of Mew and the first ever in Pokémon. The initial event was held on April 15, 1996, less than two months after Red and Green were released. Were there any pre-announcement rumors about Mew's existence among Japanese fans at that point in time?

The Johto Guard Glitch cannot be used to smuggle mail into Gen I. (Below is a detailed explanation using the disassembly, but I didn't test it in-game)

The function that checks for Gen I compatibility is called SpecialTimeCapsuleCompatibility (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2054-L2133).It's basically composed of three loops which check one part of the compatibility each.The first loop parses species, and this is how it returns : until it encounters a $FF species (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2066). The second (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2075) and third (https://github.com/pret/pokecrystal/blob/f0209d6ed6a0cd0e759dff49bdfe4d8171229c29/engine/link.asm#L2093) loop instead use the counter counting the number of Pokémon in the party.

Thus, only the Pokémon species check is affected by the Johto Guard Trick. Quite a shame, but oh well.

As for the Mystery Gift trigger being tied to Kurt, a quick search about the flag (https://github.com/pret/pokecrystal/search?p=1&q=EVENT_RECEIVED_BALLS_FROM_KURT&type=&utf8=%E2%9C%93) turns up that for some reason it's also used by a bunch of other triggers. So I believe something else is going on there, probably that this flag is used as a temporary by different scripts ?I don't really know what's going on there, but here are the elements I found :- The delivery guy is directly tied (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/PokeCenter2F.asm#L1052) to the mystery gift flag. (I don't know how for sure)- When the delivery guy appears, he sets Kurt's flag again (https://github.com/pret/pokecrystal/blob/700321a7fb2d6c852ffc91cc0b8867526cb76813/maps/PokeCenter2F.asm#L55).

What do you mean by "so it does" ?Also ACE cannot modify code. That had been brought up before, but it's all the NOPE.

It can if its in the ram.

None of the game's code is in RAM, except for a small routine that does nothing but wait. So, still, nope.

You can't modify the code directly in-place, but you can write a copy of the code that's exactly identical to the Time Capsule guard code except with the Mail check left out, run that, and then jump to wherever the code flow normally goes after passing the guard. Something like this:

Normal:- Program counter points to location #1.- Talk to Time Capsule attendant, game runs guard code.- After the guard passes, program counter is pointing to location #2.- The player is allowed inside the Time Capsule.

ACE:- Program counter points to location #1.- Use Coin Case, running code that's identical to talking to the Time Capsule attendant and the guard code, except with the Mail check missing.- Manually jump to location #2.- The player is allowed inside the Time Capsule.

@SatoMew: To answer your question, it is difficult to say. But what I do know is that the Mew glitch was discovered very early. Because for the Nintendo Space World 1997 Distribution they made a Flyer where they even mentioned the Glitch. So the glitch must have been well known at this point.

I know that ゲーフリ is the abbreviation for ゲームフリーク of course. The thing about this Mew is that it actually was never distributed from what I heard. Which is hard to confirm since only 20 Mews were distributed in the first Distribution anyway and over 20 years passed. But from what I was told and I believe it's true, the distributed CoroCoro Mews had the コロコロ OT Name. This I could already confirm for the 2nd and 3rd Distributions. And since the Trainer IDs were incremented (and some numbers are known) we know that over 120 were generated using the same System. And even more outside of the distribution... (for journalism ect.) That's we know about CoroCoro Mew

Now after 20 years the Game Freak Mew was finally distributed so it all came to full circle. I'm just sad that they f*cked up both Name and OT Name and have no idea why the hell they did that. Speaking of glitches in Gen 2...The official VC Mews have 0 padding between actual Name and the Terminator. This can't be seen in Gen 1 but in Gen 2 the names aren't getting handed well by the character encoding, since 0x00 isn't Space, it's NULL in Gen 1 and in Gen 2 it's ?. As a result ミュウ becomes ミュウ?? and ゲーフリ becomes ゲーフリ?. This is also the case in the English GF Mew counterpart, where it looks even worse since the names are longer. It's "freaking" weird.

(https://projectpokemon.org/home/uploads/monthly_2017_09/59c50cc16bc61_VCGen1EventMew-QuestionMarks.png.a57488ae530233839e0fb23ada002eed.png)Isn't it funny that an official Event Pokémon can look even more glitchy than a glitched one?

Interesting, because it is considered that the discovery of how to get Mew using instant encounter (aka "Mew Glitch") was made on 2ch by fifth in 2003, hence the first name given to the Ditto Trick, "fifth's method". This would mean the glitch was actually known among players and developers as soon as 1997?

There was a method (http://glitchcity.info/wiki/Second_type_glitch) that preceded the Trainer-Fly glitch involving the Select glitch and a Pokémon with Water as its second type known in at least 2001 or earlier, so it's possible that was known in 1997, although I don't know who discovered it.

Zerot: I think the glitch involved renaming a Magikarp to Myuu or something. I am not sure, however it shouldn't be too hard to find out.

Meowth346: There are too many glitches to get Mew to name, but one involves using the 15th item to change a Pok�mon into Mew (Mew's hex value is 15), and the name rater can change a Water Type (water's hex value is 15) Pok�mon into Mew. Etc, etc, etc...

Furthermore this (http://glitchcity.info/wiki/Japanese_unterminated_name_glitch_item_instant_encounter_glitch) is another popular method for obtaining Mew that may have been known before fifth's method.

@SatoMew: To answer your question, it is difficult to say. But what I do know is that the Mew glitch was discovered very early. Because for the Nintendo Space World 1997 Distribution they made a Flyer where they even mentioned the Glitch. So the glitch must have been well known at this point.

I know that ゲーフリ is the abbreviation for ゲームフリーク of course. The thing about this Mew is that it actually was never distributed from what I heard. Which is hard to confirm since only 20 Mews were distributed in the first Distribution anyway and over 20 years passed. But from what I was told and I believe it's true, the distributed CoroCoro Mews had the コロコロ OT Name. This I could already confirm for the 2nd and 3rd Distributions. And since the Trainer IDs were incremented (and some numbers are known) we know that over 120 were generated using the same System. And even more outside of the distribution... (for journalism ect.) That's we know about CoroCoro Mew

Now after 20 years the Game Freak Mew was finally distributed so it all came to full circle. I'm just sad that they f*cked up both Name and OT Name and have no idea why the hell they did that. Speaking of glitches in Gen 2...The official VC Mews have 0 padding between actual Name and the Terminator. This can't be seen in Gen 1 but in Gen 2 the names aren't getting handed well by the character encoding, since 0x00 isn't Space, it's NULL in Gen 1 and in Gen 2 it's ?. As a result ミュウ becomes ミュウ?? and ゲーフリ becomes ゲーフリ?. This is also the case in the English GF Mew counterpart, where it looks even worse since the names are longer. It's "freaking" weird.

(https://projectpokemon.org/home/uploads/monthly_2017_09/59c50cc16bc61_VCGen1EventMew-QuestionMarks.png.a57488ae530233839e0fb23ada002eed.png)Isn't it funny that an official Event Pokémon can look even more glitchy than a glitched one?

Tell me what is a bug now GameFreak?!

Thank you for your detailed post, it was very informative! :) And you even found a better copy of the flyer, too!

Thanks Torchickens, I was suspecting there was a way to smuggle out a Mew from a Select glitch but I wasn't sure, and didn't know about this other glitch. This made me realize the Yami Shop glitch works in our games, for some reason I believed it to be a jp-exclusive. Cool!

Thanks Torchickens, I was suspecting there was a way to smuggle out a Mew from a Select glitch but I wasn't sure, and didn't know about this other glitch. This made me realize the Yami Shop glitch works in our games, for some reason I believed it to be a jp-exclusive. Cool!

You're welcome! ^^

Yeah, I used to think it was a Japan-only glitch as well until TheZZAZZGlitch made a video of it (link (https://www.youtube.com/watch?v=StkqT6oK5KI)) in the English versions. It's a great glitch.

Doesn't look like it.I didn't create my Celebi using the usual Celebi-Egg glitch, instead using ACE and let one hatch out of an Egg just to verify. Didn't transfer though.Since all my Celebi had wonky levels maybe that's the reason, though.Also worth noting that Pokémon musn't hold an item to be transferred. Contrary to B/W transfer item isn't just removed, but the pokémon blocked from transfer instead.

The distributed Celebi for the purchase of VC Gold/Silver has an OT of Ilex with an ID of 040601.Level: 30Moves: Heal Bell, Safeguard, Ancient Power, Future SightIt's worth a try if that helps.

It is not very surprising if only the Celebi with correct ID and OT passes the bank. After all that's what must be done with Mew. But I guess we should be trying a lvl30 Celebi without modifying OT and ID just to make sure.

This was a Gen II distribution, no? No way it passes since you couldn't pass Pokémon from Gen II to Gen III.

However starting from the HG/SS event Celebi WIN2011 that unlocks the battle with Giovanni, there has been at least 4 distributed Celebi: this one, the one from the Bank in 2014, the GF one in 2016, and the Ilex one.

Among them, the one from the Bank is the only that has your OT and ID. Therefore I'm not sure it is important to have a specific OT/ID. However, the lvl (10), moves (Recover Heal Bell Safeguard Hold Back) and ability (Natural Cure) may be important.