Thisarticle was written by Ishrak and by wikiHow staff writer, Jack Lloyd. Ishrak is a Gaming & Video Expert specializing in sharing Pokmon and Minecraft videos. With over seven years of gaming and streaming experience, Ishrak has a follower base of over 30,000 YouTube subscribers and over 8 million views. He is also a Pokmon ROM-Hacker and some of his most popular videos highlight tips and advice for people learning how to play Pokmon games.
The wikiHow Tech Team also followed the article's instructions and verified that they work.
This article has been viewed 1,232,732 times.
This tutorial teaches you how to randomize a Pokmon ROM on your Windows- or Mac-based emulator. You'll use the Universal Randomizer program for any Pokmon game on any computer for generations one through five, but only Windows users can randomize generations six and seven by using the PK3DS randomizer.
You can only randomize a Pokmon game if you have a ROM and emulator. Install the emulator of your choice and download a Universal Randomizer. Extract the randomizer file and open it in your ROM before running the game.
What's needed:
An anti piracy patch is reported to help reduce the freezing, but it isn't recommended unless you're sure youre stumped. Google is your best friend here (hint: Rudolph's patch).
Optimal Settings:
Soft Rasterizer. Enable Textures is needed (threshold: 0), the rest of the 3D settings don't make a difference.
Advanced BUS Level-Timing is not needed, disable it. External BIOSes and firmware are not needed. Sound works well with Dual SPU Synch.
Optimal speeds:
Decent speed+limited frameskip: Frameskip 9, Auto-Minimzed skipping enabled.
High speed, limited frameskip: Frameskip 4-5.
Highest speed: Frameskip 9.
Use x64 if your system supports it. Don't use SVNs unless you know what it means and you want it (note: official releases are optimized and give a huge FPS boost if you don't optimize your SVNs).
*As with all pokemon games, make an in-game save as early as possible and relaunch the emulator to verify that it can be loaded. This will help make you feel secure that when you get to the end of the game and need to reset and load a save file, it will work.
Feel free to ask any questions regarding this game here. Granted, this forum is meant for emulation/compatibility related questions, not to discuss the actual game (unless it's related to a bug in the emulation).
This isn't working for me, I load my save state, but when I save in game it does not read it and whenever I leave the room I am in it glitches- the bottom menu has no icons and sometimes the screen turns black. Please Help !!
Anyhow, I'm not planning to ban anyone for asking a question about a game that isn't supported, or that was already answered. First of all, banning is a bit of a problem since it works via IP. In today's world of ever-changing dynamic IPs that will both be useless for banning that user and disruptive to a different, innocent user who might receive that IP and be unable to enter the forum.
Pokemon: Crushed Pikachu!! Why: Pokeballs are too small!
Mario Bros: Exhausted Luigi!! Why: He's the [PROFANITY]ing comedy relief. Of course he's going to be put through all the humorous torture!
Spyro: Why?!?!?!?!?!??!?! You were sooooo young!!!!!!!
I'm pretty sure some developers may not know about this, but the freezing problem in HeartGold/SoulSilver is not really an AP problem, it's an emulation problem. Even a flashcard has some sort of thing to emulate the ROMs. Just look at Mario & Luigi: Bowser's Inside Story on NO$GBA, it keeps repeating the attack when battling Bowser at the start, but with DeSmuME... it doesn't have that problem. So really, it's just a coding that an emulator cannot read, and when it cannot read the code, it skips it and continues on. I have not yet tried out HeartGold and SoulSilver on DeSmuME 0.9.7 yet, so I'm not sure as of yet if the problem is fixed.
And yes, I do indeed agree that all Pokmon fans really should pay attention to the thread and not ignore the fact that Pokmon HeartGold/SoulSilver and Black/White are unsupported because too many keep creating threads about that HeartGold/SoulSilver keeps freezing for them.
developers are well aware of the fact that what gamers call "AP" may just be emulation bugs. I am 100% certain that HG/SS have crashing emulation bugs, and it is unlikely that AP consists of random freezing. the AP as an EXP limit sounds more plausible and would be a strange thing for an emulation bug.
AFAIK the random freezes have been deemed to be intentional anti-piracy measures. The game runs a check on memory addresses, when it reaches a memory address higher than what the original cart should have (which emulators and most flashcards allow) the game freezes.
I haven't had problem with freezing, but it seems that my "touch screen" part of the game is not fully working. I am only in the very very beginning, but when the mother gives me things like the map, phone, pokedex, whatever else, etc, I don't have a menu to choose from. I even got to the point where I am in the woods after meeting Prof. Juniper and the bottom touch-screen simulator only has a pink screen with no buttons or anything. Is this normal? Or is this a glitch? I am playing Desmume 0.9.7 on Mac... maybe thats why? Thanks.
Hi, I play Pokemon Heart Gold, and it worked fine, and i got all the badges and was trying to catch 'em all, but then i entered a code in the cheat section, and now when i open DeSmuME.0.9.4-win32 and click open ROM and click on Heart Gold, it freezes, and I can't remove the cheat because it freezes just as i click on heart gold, so I can't get in on the cheat list.. What should I do?!
Let me just start by saying what a pain it was to figure all of this out. So, I'm putting my knowledge out here in order to help others enjoy playing Gen 4 Roms with an increased shiny rate. The base of my knowledge is based on this Reddit Post:
and from there I reverse engineered the rest of the games. Note that I did this with English version Roms. I don't think this will work for other languages but I'll include a way to try. So, without further ado I'll explain the process.
For Pokemon Diamond and Pokemon Pearl (I only tried Pearl but they should be similar enough it doesn't matter), take your rom and open the .nds file in the Hex Editor. Hit Control + G and search for the offset 0006CAC0. Starting at Line 4, you should see the values 08 28 01 D2. For full odds possible without hacking, replace the "08" with "FF". This will give you a shiny odds of 1/257, or 0.4%. Make sure to save the file.
For Pokemon HeartGold and SoulSilver (I only tried HeartGold but again it shouldn't matter), do the same as you did for Diamond and Pearl but search for the offset 000559A0. Starting at line 0A, you should see the values 08 28 01 D2 01. Again, change the "08" to "FF" for 1/257 shiny odds. Make sure to save the file.
From there, I recommend starting that Rom or making a randomizer of that specific rom and doing encounters until you find a shiny to double check. Should take roughly 150ish, at least from my experience with testing. A 100% guarantee that it's working is that if you do a playthrough and a opponent trainer sends out a Pokemon that is shiny. Then it definitely works because that only happens when the rate is boosted this way.
If for some reason you can't find the value, specified or you want to try a different rom language, try this method that I used to find the offsets. For Pokemon Diamond, Pearl, and Platinum, hit Control + F and click on the Hex Values tab. In the bar, search for "08 28 01 D2 01 20 00" and change the "08" value ONLY! For HeartGold and SoulSilver, search for "08 28 01 D2 01" and replace the "08" value ONLY! Hopefully that works, let me know below.
NOTE***: I tried sharing my files with my friend so he could use my modified shiny boosted roms and they weren't working. Changing and saving the Rom .nds file ALSO modifies the .nds.bak file. You need both the modified .nds file and the .nds.bak file that goes with it for this to work. So if it isn't working there may be an unknown problem with your .nds.bak file.
hey, im using the same hex editor too but still not working. i cant see 08 not matter what i do, i tried searching for 0006CAC0 08 28 wasn't there, and also tried only searchirng for "08 28 01 D2 01 20 00" it also didnt find anything. Do you know what to do ?
3a8082e126