Jump to content

VC RBY - Virtual Console Mew (UK)


BlackShark

Recommended Posts

After doing a trade, I realized I shouldn't have used Spearow (it has 5 characters in name :( )

In any case, here's the gen 1 data, if anyone thinks its usable.
Spearow:
normal pretrade.pk1 normal posttrade.pk1
nicknamed pretrade.pk1 nicknamed posttrade.pk1

edit: Here's some Pidgeys. BTW, I noticed Pidgey's name being fully terminated with 0x50s pretrade (not a copy paste error)
pidgey normal pretrade.pk1 pidgey normal posttrade.pk1
pidgey nicknamed pretrade.pk1 pidgey nicknamed posttrade.pk1

Link to comment
Share on other sites

11 minutes ago, Invader TAK said:

So the reason I didn't get any name issues was because I injected the .pk1 into a Gen 1 VC save then traded to Gen 2 VC. Which is exactly what I figured.

That would make sense.

Previously I've been aware of the Nickname and OT ????? from trash bytes problems, but that was due to trading in emus.
I don't think I've yet to trade one on VC to Gen II.

  • Like 1
Link to comment
Share on other sites

2 minutes ago, ajxpk said:

Watching the two HO-OHs from @Holla! it doesn't affects Pokemon caught in VC Gen 2. So it really seems to the trading related.
Let's see if it's only for names that doesn't have a correctly set terminator or if it eliminates all zeroes in general.
Here is another file to put to the test. 151 - MEW - 73D6.pk1

@theSLAYER. Cool, your files came from a Japanese game! Unfortunately Gen 1 is Trash Bytes Mania as it never seems to erase any previous memory.
Only way to get clean memory should be to save the game and reset. In terms of nicknaming it writes the name on top of the old one, you can't clean it up in this case
.
Nothing changed btw. as they have no zeroes... Can you send an legit untouched Japanese ゲーフリ Mew to VC Gen 2 and extract it?
And before you trade, while you're in the trade menu it would be cool if you could check the status of the Mew with the Gen 2 VC game. 
Let me know if you see question marks... ;) 

Here are two more test files you can send along with it in case you want to do more.
Not that necessary though, as I think the patch should behave the same in any language version...  
025 - ピカ - 6AC3.pk1
025 - ピカ - 13DF.pk1
 

Cool, I can give it a try.
Also, VC titles didn't get any form of updates rights?
I was surprised the japanese ones didn't change the trash bytes as per described in the international side.

Link to comment
Share on other sites

12 hours ago, ajxpk said:

Watching the two HO-OHs from @Holla! it doesn't affects Pokemon caught in VC Gen 2. So it really seems to the trading related.
Let's see if it's only for names that doesn't have a correctly set terminator or if it eliminates all zeroes in general.
Here is another file to put to the test. 151 - MEW - 73D6.pk1

Happy to help once again! :)

151 - MEW - 9225.pk1

151 - MEW - 20D6.pk2

  • Like 1
Link to comment
Share on other sites

28 minutes ago, ajxpk said:

Wow. Very interesting. Again, all the 0x50. So it literally turnes all of them into 0x50 regardless there already is a terminator or not.
Thanks! :) Is there anyone here with Japanese VC games? We still have to test the Japanese games. 
 

me. the trades I did was japanese VC ><

Link to comment
Share on other sites

  • 2 weeks later...
On 1/31/2018 at 2:03 PM, ajxpk said:

Yeah, that's because how the normal games work, it's the same thing as on emulator. The Name Strings are taken 1:1. Even the encoding remains they same so they had no reason to change it. I already stated it.

I don't doubt you , but I have been trying to find out if this is actually true or not, to no avail.  Not a lot of verifiable sources, since everyone has been using emulators rather than original hardware since the internet got big.  I always thought this might be an emulator specific.  Do you by any chance have any sources or links/vids/etc?  If not, no big deal.  If I get access to a cartridge save file manager I'll test this myself, but right now not really keen on buying one just to test this one thing.

Link to comment
Share on other sites

@ajxpk Oh it is very much academic for me.  I am actually only a Gen 1 and 2 players, for all their flaws.  I never got into the other games.  As a kid I was never able to go to a mew or celebi event, so had to resort to gamesharks.  Amusingly, not much has changed as an adult since I can't get a legit mew either, lol.  But I'm way smarter now so I can at least fake it much better.  Does it matter?  No, not even a little.  Am I still interested? Heck yeah.

I found this asm in the github you linked: https://github.com/pret/pokecrystal/blob/c60f1331fef22b886adf3472d2b4f348832cfaf7/engine/routines/checknickerrors.asm

Since I'm not too familiar with pokemon data structure, maybe you could take a look at it and see if this could explain the phenomena we are seeing.

I think its funny that you list all these pokemon as legal or not.  I mean, if we are being honest, unless you were actually at an event and got the mew, its really not legal.  There is just no way for anyone to know.  You know what's extra funny?  I see the paper pokemon authenticity certificates on ebay here and there, and the Mew they are selling with it is totally fake. https://www.ebay.com/itm/Official-Mew-with-certificate-Gameboy-Color-Pikachu-Edition-Pokemon-Yellow/152848861064?hash=item2396808788:g:4-gAAOSwTQtaSeOt.  The guy hacked together a mew that is using event DV values for its actual attack/defense/special/speed lol.

Link to comment
Share on other sites

13 minutes ago, quickbunnie said:

I think its funny that you list all these pokemon as legal or not.  I mean, if we are being honest, unless you were actually at an event and got the mew, its really not legal.

You know what's funny? You, on a hacking forum, discussing about whether something is legal.


Indeed, unless you gotten it yourself, you wouldn't know if a Pokemon is Legit.
And a Pokemon can be hacked to appear Legal.

In any case, before any flamewars start, I'll like to point out that if this goes in the direction of discussing the boundaries or Legal/Legit/Illegal, then its going to be off-topic.
Stay on topic, and talk about the VC Mew, as opposed to, for example, listing examples of people selling fakes.

  • Like 1
Link to comment
Share on other sites

@theSLAYER Sorry, didn't mean to go off topic, and certainly wasn't trying to start a flamewar.  I honestly thought it was amusing, which was the only reason I talked about it.  I certainly don't mean to judge anyone - I'm here to learn.

@ajxpk Ah OK.  An early comment reads that the code is a peace offering to gamesharkers, which I didn't really follow.  Did Gamesharked pokemon not have a terminator in the nick?

Both: Got it, now I clearly understand legit vs legal. Thanks.

So, in terms of legality, the next thing I would want to check is taking the TRU Mew posted earlier in the thread, putting it on a cart, then transferring it to GSC, correct?  The export that off the cart and check out the data structure.

  • Like 1
Link to comment
Share on other sites

1 hour ago, ajxpk said:

Yeah, this routine seems to be the reason why we are seeing these ? marks. haha... Interesting. (I didn't knew it tbh...) 
This could actually mean that Mew's name was on purpose. Maybe they were fooling us? And then they added the Virtual Console patch to fix it.
When you think of it, it does make sense... because only someone who hack the VC games is able to even notice it, right?

Hanlon's razor. This is Nintendo you're talking about.

Link to comment
Share on other sites

Are we both talking about the same Nintendo?

Those who programmed in a shiny check for Wishmaker Jirachi, but failed to have it function properly; those who programmed Emerald's RNG and yet failed to properly pass RTC data to it, resulting in a permanent starting seed of 0; those who mis-programmed Partner Cap Pikachu's script rendering the shiny check useless, and forgetting to set the Not-OT handler byte; those who... the list goes on (and it's not just Game Freak, Nintendo has made plenty of errors writing invalid characters onto official Nintendo event OTs. Remember 20th Mew and XY&Z trio?)

Spoiler

btw, remember Coin Case glitch too?

Repeating the same mistake from the Japanese event to the UK event doesn't seem so Farfetch'd, either. Create Japanese event, everything looks fine and no-one notices the error since it doesn't cause any visible issues in-game. Copy/paste it to different language, of course the same mistake would be present again. No reason for them to have changed it at the time. Then they notice it during Gen. II VC development and add in a quick fix to correct the terminator bytes.

(Besides, if the developers believed it to be proper behavior at the time of writing, then repeating the same mistake would be expected, not unusual.)

Edited by Guest
Link to comment
Share on other sites

Technically, it was Game Freak that messed up the programming, not Nintendo ;P
Additionally, it might not even be the same staff members that made these mistakes, since 21 years has passed (in total).

In my mind, it is either:
1. They wanted the abnormal trash bytes on the Mews, for Transporter to check, but didn't realized transporter has OT/Nickname limits (maybe it does),
so they wrote a patch in VC Gen II to normalize it
2. Whoever in-charge of modding the Mew Distro rom (could be the same person here, since both title IDs are back to back) assumed x00 is a valid terminator byte.
The error only got caught after release, so they wrote a patch in VC Gen II to normalize it

  • Like 1
Link to comment
Share on other sites

On 1/9/2017 at 6:35 PM, suloku said:

Is the mew pk1 file you attached comming from your sav.dat? I'm asking because the one in the sav.dat is a little different, more precisely OT name:

Your sav.dat: 86 85 00 00 00 00 00 50 89 80 82
RupeeClock's: 86 85 50 00 00 00 00 50 89 80 82
scottishdanstfu*: 86 85 50 00 00 00 00 50 89 80 82

*scottishdanstfu kindly shared his savegame with me to check the mew, it's 100% the same as RupeeClock's

@HMM, did you directly dump your savegame with the new entrypoint (soundhax) or did you trade it to your already homebrew enabled 3DS?
I'm gonna see if boxing RupeeClocks's Mew produces this result, I'm kinda puzzled right now.

EDIT: Nevermind, I tested RupeeClock's savegame and boxed the mew: it converted to 86 85 00 00 00 00 00 50 89 80 82 (same as HMM's) so it was really due to boxing.

I guess there's no doubt now about them being all the same (we were pretty much sure anyways).

So I I was messing around with looking at the hex values and I couldn't actually reproduce this.  I dropped in the original pk1 mew into PKHex, imported the .sav onto my VC Yellow.  Boxed, then unboxed, saved, exported the sav, then used PKHex to save the mew to a pk1 file.  I'll attach the pk1 file.  Could this be a yellow specific thing, did you or HMM box/unbox on a different version?  Or did I do something wrong in trying to reproduce the trash byte changes.  I used an empty Box 2, if it matters.

Kind of confused now, so any explanation or enlightenment would be awesome lol.  Thanks!

151 - MEW - E4BE.pk1

Link to comment
Share on other sites

OK, I think something wonky is happening with PKHex.  I went ahead and manually edited the first 50 terminator to 00 in the pk1 file.  I dropped it into PKHex, then saved a fresh version, and that also has the 50 terminator.

Using PKXDelta's pokemon save file, the trash bytes are different:

85 86 00 00 00 00 00 50 00 00 00

vs

85 86 50 00 00 00 00 50 89 80 82

If anyone can confirm this, I'd be grateful.  I'll attach the PKXDelta pokemon save file (it has no extension).

These are both Rupee's UK event Mew.

UK Mew

Link to comment
Share on other sites

Okay, so if I’m reading you correctly, PKHex is inserting a 50 terminator, while PKX Delta is ignoring trash bytes completely.  Is there a method for injecting a legal mew with intact trash bytes and no terminator?  Maybe it’s easiest to load the untouched sav file and trade to a different 3DS then trade back?

Link to comment
Share on other sites

1 hour ago, ajxpk said:

PKHeX randomly sets a 0x50 terminator directly after the OTG Name. Which is why I want @Kaphotics to take a look at it and it will be fixed hopefully soon. PKXDelta is removing the Trash Bytes after the terminator close to the end which is even worse. Currently there doesn't seems to be a perfect way but I recommend you to use PKHeX still...

Like already said PKHeX doesn't necessarily saves it this way, just drop the pk1 file into a Party Slot and you should be fine. Don't edit and save the Mew using PKHeX! Only save the save file itself after dropping the Mew in, it worked for me this way, but if you want to be sure that everything was saved correctly, just use a Hex Editor on the save file after saving and do a hex search for the sequence "86 85 00 00 00 00 00 50 89 80 82" to be sure.
Alternatively I can check your save file as well. Would be no problem...

Relevant lines where 0x50 is used as the underlying default value:
https://github.com/kwsch/PKHeX/blob/master/PKHeX.Core/PKM/PK1.cs#L53
https://github.com/kwsch/PKHeX/blob/master/PKHeX.Core/PKM/PK1.cs#L65
https://github.com/kwsch/PKHeX/blob/master/PKHeX.Core/PKM/PK1.cs#L86
https://github.com/kwsch/PKHeX/blob/master/PKHeX.Core/PKM/PK1.cs#L123
https://github.com/kwsch/PKHeX/blob/master/PKHeX.Core/PKM/PK1.cs#L484

  • V-Wheeeeeel!!! 2
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...