RSS | Archive | Random

About

This blog is solely dedicated to cataloging the best moments from the train wreck that is Pokemon Vietnamese Crystal. Don't be afraid to submit fanart or screenshots of your own!

One last note: this blog runs on a queue. It posts 5 posts a day from 9am to 5pm.

Play the ROM! (But be sure to check out the bugs we've found first!)
You will need a GB emulator to play. Click to download VBA, the one I use.

Ask questions
Submit content

Visit Our Affiliates! DeliciousCinnamon's Youtube DeliciousCinnamon's Tumblr Nuzlocke of Vietnamese Crystal InvaderNebu's Let's Play InvaderNebu's Tumblr
5 June 12

My adventure of writing the item/attack translation sheet. WARNING: TL;DR

Back in ‘11, when I was having a real downer of a day/night, a friend called me to tell me he had found something amazing that he wanted me to watch. It was this: http://www.youtube.com/user/DeliciousCinnamon

These two guys in the video are playing through a bootleg copy of Pokemon Crystal that was APPARENTLY translated from Japanese, into another language, and then into English by a third party and sold in Vietnam back before it had come out in North America. For the complete background story behind the origins of this game, go here: http://forums.extralives.org/viewtopic.php?f=6&t=368

The translations are so terrible that I was dying laughing throughout the entire course of the video. My friend and I were still on the phone while watching it, and after the first one was done I told him we had to keep watching. At the time there were 16 parts uploaded, and over the course of 2 or 3 days we watched all of them together. Needless to say, I cheered right up.

As we were watching, I was curious to see what the other NPCs (ones not featured in the videos) would say if you talked to them. So, I downloaded the ROM myself (their videos contain links to it if you’re interested) and started playing.

I softmodded my PSP back in ‘10 when I should have been studying (oops), so I stuck the ROM in MasterBoy and started playing the game on it during my daily trips to/from school. As is evidenced in the videos, the item names are screwed up and some of the descriptions are none too helpful. As is also evidenced in the videos, the attack names are REALLY screwed up, which is pretty bad when your Pokemon levels up, tries to learn a new move, and you have no idea what the hell it’s trying to learn unless you look up what move it’s supposed to learn on Serebii or whatever. And since in-game strategies usually correspond to little more than “switch out to whatever is super effective against what your opponent is about to switch to”, it was frustrating not being able to do that since the Pokémon had new, unfamiliar names (i.e. Pidgey is LAP).

I got tired of having a billion and one Serebii.net and Bulbapedia tabs open when all I wanted to do was learn a new move or use an item in my bag or cheaply defeat my opponents, so I started recording what the items, attacks, and Pokemon actually were — i.e. DRUG was Potion, etc. I recorded in-game descriptions, too, since some of the items in Vietnamese Crystal had the same names (for example, there are 21 items named POLE).

At the time I started recording this, I couldn’t find a pre-existing master list out there for all of the items/attacks/Pokemon in the game. I then made it my mission to create one.

As I progressed through the game, every time I picked up an item, I would look up a guide for the area I was in to see what that item corresponded to if the description didn’t make sense. Then, the completionist in me kicked in, and I copied a list of all the items in NTSC Crystal, and filled in “translations” for them as I came across them in the game.

I knew I could have just used an emulator with Gameshark capabilities to make this a lot easier, but I decided that wouldn’t be nearly as fun. As I was compiling my list of items I had yet to get, some problems presented themselves:

1) There are some items which I remembered could only be obtained by trading Pokemon over from red/blue/yellow/green. i.e. Trade a Jigglypuff from Blue, and then in Crystal it will be holding a Polkadotbow, which cannot otherwise be obtained in-game.

2) There are some items which can only be obtained by mystery gift, i.e. scope lens and eon mail.

3) There are some items which can only be obtained by using Thief on Pokemon which only have a 10% or less encounter rate, and even then, their drop rate was only 8%.

The first one, I figured, wasn’t that big a deal: I could just copy my save data back onto my computer and use the emulator TGB Dual (http://www.emulator-zone.com/doc.php/gameboy/tgbdual.html), which allows you to play two games at once and simulate link-cable connectivity between them. The second one I decided I just wouldn’t include in my guide. The third one was going to take me FOREVER. So, naturally, I started tackling the first problem.

I already had a copy of Pokemon Yellow on my computer, but some of the Pokemon I needed to trade were things like Articuno, Chansey, etc, which show up late in the game. No problem, I just needed some save states. I found a save state with a complete Pokedex and most of the Pokemon I needed in the PC. Wonderful! Everything was good to go. I set up my two games, took them into the Time Capsule, sat the two characters at the table, and started up the trading process.

And then this happened in Yellow: Pic: http://gyazo.com/ee6e54ecc0c0775a04f173d54298bc12.png

Ohh dear.

Yellow was frozen at this point, and the Crystal player was automatically booted from the trading screen, but she could still walk around freely and the game was functioning normally (well, as normally as a bootleg copy can, anyway). My first instinct said that it was a problem with one of the Pokemon in my Crystal party. No big deal, I thought, I’ll just try sticking some other ones in my party that are Yellow-compatible.

Still no luck.

I was getting pretty upset at this point, I couldn’t think of anything else I could do to change this. I remembered trading between Gold and Blue countless times as a young child with no problems, so I had never quite honed my skills at debugging cross-generational trading.

Then it hit me: Vietnamese Crystal is essentially a patched Japanese Crystal. DERP

So, of course, I set out to find a Japanese Yellow rom. That part was easy enough. The hard part was that I could not find any save states for this game, anywhere. NTSC save states don’t work on it, and I did not want to sit there and play through Yellow in Japanese just to get an Articuno and trade it to Crystal. This was when I gave in and went for Gameshark codes… on the Japanese Yellow, of course!

This is where things got tricky: Japanese Yellow codes are different from NTSC Yellow codes. NTSC yellow codes literally don’t do anything to the Japanese game. Lucky for me, GameFAQs has an FAQ specifically for Japanese Yellow gameshark codes: http://www.gamefaqs.com/gameboy/198314-pokemon-yellow-version-special-pikachu-edition/faqs/5809

“Oh boy,” I thought when I loaded it, “my problems end here!” There were codes listed in this FAQ that can change a Pokemon in your party’s species to whatever species you want. So, I started a new game in Yellow, caught a few Pidgeys and Rattatas, and changed them to Chansey, Articuno, Jigglypuff, and a few others. I went back into the trading room… and sure enough, it didn’t crash! I traded my Pikachu over to Crystal smoothly. Things were looking up!

Then, I attempted to trade my Chansey, which used to be a Pidgey. I had no idea what any of the menus in this part of the game even said, but by the placement of each option I knew what I was selecting — until when I tried to trade, the trade automatically cancelled itself. I couldn’t read the error message, because I can’t read Japanese, and my Crystal was unintelligible.

So I left to go investigate what was wrong with my Yellow pokemon. I deposited a few in my PC, and when I checked my party again, I noticed I had spots taken up by a Pokemon with a blank name, level 0, and a blank HP bar, that I could not select to check its stats/move/etc. What the heck was going on?

I went and caught some more wild Pidgeys to try and take up those slots and see if that would rectify the problem. After depositing them, I realized it did not.

Crap. The GS code had screwed up my Yellow rom, and I couldn’t even trade anything in those slots.

I decided to put Chansey in the first party slot, where my legit Pikachu used to be, and try again. Still no luck. I restarted my Yellow file to get rid of the glitchy slots and determine a new course of action.

After pondering what to do for a few minutes, I remembered that there were NTSC Gameshark codes available that let you encounter any wild Pokemon you want. I figured that would be a great idea, perhaps if I encountered it and caught it, the game might recognize it as being legit.

Another problem presented itself here: The Yellow Gameshark FAQ had no such code, and I could not find this Yellow code anywhere else. The NTSC code did not do it.

I was right about ready to give up, until I had one last idea: What about Pokemon Green codes? That game was Japan-only, so there wouldn’t be any NTSC-related Google results to confuse me. The games are from the same generation, so there was a chance of it working. I found this on good ol’ Serebii’s site: http://www.serebii.net/green/gameshark.shtml — The code I needed was right there! I decided the first one I would try was Articuno.

I plugged it into my Yellow, gave myself maximum master balls, ran around in the grass until a wild Pokemon came up. Sure enough, it was Articuno.

YEAH!

I caught the Articuno, and ran to the trading room, set my Crystal up, and tried trading one last time. It worked. Crystal now had an Articuno with Brightpowder attached. I was feeling way too accomplished for doing something so worthless.

So, I did that for all the remaining Yellow-only items, and decided to call it a night.

 

The next day, I finished getting every find-able item in the game, except for those in Problem #3. There were only four items left to get: Thick Club from Cubone/Marowak, Big Mushroom from Paras, Silverpowder from Butterfree, and Lucky Egg from Chansey. The last three only had 10% encounter rates in their respective areas where Cubone/Marowak was 40%, so I tried for that one first.

I used Thief 60 times (I counted) and did not get one item. I was not about to do that all over again for Pokemon that only had 1/4 the encounter rate. So, I found Japanese Crystal codes (http://www.gamefaqs.com/gbc/375087-pokemon-crystal-version/faqs/13410) that put any item you want in your inventory, and gave myself those four.. as well as the items in Problem #2. My item guide was done!

Then I remembered, I was also planning on making a list of all the moves. Whoops. There were only 100-odd items, but there were 251 attacks.

I was not about to catch every Pokemon in the game and raise them so as to learn what all their attacks were; I had exams to study for (which conveniently didn’t stop me from starting this in the first place)! I decided to use the Gameshark for this one too. I knew that there were codes out there that could change your Pokemon’s attacks to whatever you wanted, so I looked for those.

Couldn’t find them. The GameFAQs guide (http://www.gamefaqs.com/gbc/375087-pokemon-crystal-version/faqs/13410) only has those codes for the NTSC version, which I tried to no avail.

“No problem,” I thought, “I can just look up the codes for Japanese Gold/Silver and try those!” That didn’t work either — apparently that only works in Gen 1 games. Crystal used different codes than G/S (which makes sense in retrospect considering it was developed for an entirely different handheld console).

I was out of ideas. I could not find these move-editing codes anywhere. I was right about to call it quits on the moves list, until I took another long look at some of the codes that were available in the Crystal gameshark guide:

——————————————————————————————————-

1st Pokemon Infinite HP: 91ffc8dc 91ffcadc

——————————————————————————————————-

1st Pokemon: Max Attacks:91ffbcdc 91ffbddc 91ffbedc

——————————————————————————————————-

1st Pokemon: Max Level:  9163c4dc

——————————————————————————————————-

1st Pokemon: Max Stats:  91ffccdc 91ffcedc 91ffd4dc 91ffd2dc 91ffd0dc

——————————————————————————————————-

2nd Pokemon: Infinite HP:91fff8dc 91fffadc

——————————————————————————————————-

2nd Pokemon: Max Attacks:91ffecdc 91ffeddc 91ffeedc 91ffefdc

——————————————————————————————————-

2nd Pokemon:  Max Level: 91fff4dc

——————————————————————————————————-

2nd Pokemon: Max Stats:  91fffcdc 91fffedc 91ff02dd 91ff04dd 91ff00dd

——————————————————————————————————-

 

From what little I remember about memory addressing and hex values from my days in computer engineering class, I figured out a pattern for memory storage in this game. “1st Pokemon Infinite HP” really means that the first pokemon in your party will have 255 hp. FF corresponds to 255, so I figured the third and fourth slots correspond to what value you want. All the “1st Pokemon” codes end in DC, and then codes that end in DC start covering attributes for your second pokemon, so I assumed the attribute code for the first pokemon should end in DC. I wasn’t sure what 91 did, but since all these codes contained the 91, I figured it was best not to change it. That meant that the 5th and 6th digit determined the pokemon’s attribute to edit, and the last 4 numbers determined the memory address. If only I hadn’t taken computer engineering 4 whole years prior to that time, this probably could have been a lot simpler and more cohererent, but my memory kinda blows.

Anyway, I knew that the attack Pound (or PAT in Vietnamese Crystal) corresponded to a hex value of 01, so I changed the 3rd and 4th digit to 01. I set the 5th and 6th digits to 00, and kept the first two and end two as 91 and dc. In my emulator’s code editor, I changed the 5th and 6th digits in increments of 4, checked my Typhlosion’s moveset to see if it had PAT in any of its slots, and increased by another 4 if it didn’t (this was assuming that the memory addresses where moves are stored were all consecutive, of course, but I didn’t want to have to try 256 addresses when I could just try 64).

Sure enough, eventually I found the address — which I almost missed, but when I noticed that Cut was no longer an option when selecting my Typhlosion, I knew I had struck gold! Just in case anyone out there will ever care about this EVER, here are the codes:

1st poke, 1st attack slot

91xxA7DC

1st poke, 2nd attack slot

91xxA8DC

1st poke, 3rd attack slot

91xxA9DC

1st poke, 4th attack slot

91xxAADC

I’m sure there was a simpler way to figure out these codes, but this worked for me, someone who has never used a Gameshark or messed around with a ROM ever, in her life. :P

Long story short, once I found these addresses, I changed the “xx” to hex values corresponding to moves I hadn’t recorded yet, and wrote down what I saw. I did this until I had finally covered all 251 of them.

The end result is here: https://spreadsheets.google.com/pub?hl=en&hl=en&key=0ArkzFjoaZsGndEhidTlKMGZKVEZtcEVZLVFjQllXVUE&output=html

This spreadsheet contains translations for every attack and every item (but not every Pokemon because an anonymous Pastebin user has already got that covered: http://pastebin.com/RLkndsdV )

I first shared this with staff members at Serebii’s chat, because they loaded it up and got a good laugh out of some of the move descriptions.

So yeah, watch DeliciousCinnamon’s videos, because those two make a pretty entertaining walkthrough of this already-hilarious game. Download the game yourself if you want to get a kick out of even more ridiculous dialogue that they don’t cover in their vids. And use my spreadsheet if you don’t want to load 938498r9495 tabs just to figure out what corresponds to what.

I won’t be surprised if my friendslist total drops a bit because of this note. But there you have it.

I’d like to thank everyone who listened to me go on and on and on and on and on AND ON about this game and my projects surrounding it.

  1. himebrain reblogged this from fuckyeahvietnamesecrystal and added:
    Interesting posts like these make...post my own investigations
  2. jasonalanjr reblogged this from fuckyeahvietnamesecrystal and added:
    highly appreciate...list. It’s awesome...very much...
  3. punchcardalchemist reblogged this from fuckyeahvietnamesecrystal and added:
    Wow, you are incredible.
  4. deliciouscinnamon reblogged this from fuckyeahvietnamesecrystal
  5. superhslevel-lonesiekarp reblogged this from fuckyeahvietnamesecrystal
  6. pidgezero-one submitted this to fuckyeahvietnamesecrystal
Themed by Hunson. Originally by Josh