Uploaded December 2013 | Updated September 2026, 3 weeks ago
The routine at address 00B5 in Pokemon Red is called when data has to be copied from register pair hl to register pair de. If I render that routine useless the game can go a bit crazy...
ROM / RAM Address: 00B5
Value: 0xC9 (ret)
If you enjoyed this video, check my Youtube Channel for more! - youtube.com/user/CrystaL12RG
The routine at address 00B5 in Pokemon Red is called when data has to be copied from register pair hl to register pair de. If I render that routine useless the game can go a bit crazy...
ROM / RAM Address: 00B5
Value: 0xC9 (ret)
If you enjoyed this video, check my Youtube Channel for more! - youtube.com/user/CrystaL12RG
![Pokemon Pyrite - Modified Obedience System
This video shows one of the features of the GBC hack Pokemon Pyrite: modified obedience checks that affect both traded and non-traded Pokemon. Countine reading...
This follows the purpose of preventing the player from overtraining Pokemon to make the game easier or from playing an overlevelled solo run (which usually makes the game easier and less entertaining as well).
Continue reading for details.
If Pokemon Level Badge Level → Pokemon will always obey.
If Pokemon Level = Badge Level + 1 → Pokemon will disobey 13% of the times aprox.
If Pokemon Level = Badge Level + 2 → Pokemon will disobey 25-26% of the times aprox.
If Pokemon Level = Badge Level + 3 → Pokemon will disobey 37-39% of the times aprox.
If Pokemon Level = Badge Level + 4 → Pokemon will disobey 50-52% of the times aprox.
From there, the chances of not obeying increase slowly, and are comparable to:
[ Pokemon Level / (Badge level + Pokemon Level ) ] * 100%
The higher [Pokemon Level - Badge Level] is, the higher is the chance for worse effects to happen (begin to nap, hit due to confusion...). This part works similarly to the way it does in the original game.
***********************************************************
You can follow the progression of the hack here:
http://hax.iimarck.us/post/16385/
A Beta version, playable up to the Johto League included, will be released in around 15 days time.
Check my Youtube Channel! - https://www.youtube.com/user/CrystaL12RG/videos Pokemon Pyrite - Modified Obedience System](https://i.ytimg.com/vi/UkkIF21_kMM/mqdefault.jpg)


![Pokemon R/B/Y - Level 1 / 171 Psywave infinite loop
In the first generation, Psywave deals damage equal to a number randomly generated between 1 and aproximately 15 * attackers level.
When Psywave is used, the game generates a random 1-byte number (between 0 and 255) and loops until the number generated follows these two conditions:
- Its not 0, if its the player turn
- Its lower than [attackers level + attackers level/2], rounded down.
If the level is 1, the 0 number is ignored as a result of the first condition and all the remaining numbers are ignored as a result of the second condition, causing the game to loop indefinitely hopelessly searching for a number it cant find.
If the level is 171, the sum 171 + 171/2 gives out a result of exactly 256; since it has to fit in one byte, 256 rolls over to 0... meaning that the non-0 condition alone causes the infinite loop. Pokemon R/B/Y - Level 1 / 171 Psywave infinite loop](https://i.ytimg.com/vi/VyIFL_-l2o4/mqdefault.jpg)



![Pokemon G/S/C - Using Surf in the limit between two maps
When Surf is used in the limit between two maps so that the player starts surfing (its sprite changes to lapras) in the tile that marks the beggining of the new map, the new map will not be loaded, and the [block data of the] current map will be loaded again instead. The connection data of the map remains, including the blocks that correspond to the strip of the connected maps, as these blocks were loaded when the old map was loaded (in this case, an area of 3x9 blocks from the left Route 27 and same from the right of Route 29).
Eventually, or possibly earlier due to the alignment of the connected maps, the X and Y coordinates will reach certain values that will make the game freeze (in this case, the Y coordinate will underflow at one point). But if you go back to the corrdinates of the original maps before, everything will be back to normal.
In reality this bug is never found obviously, so all things considered it cant be called a bug. The tile in the right of New Bark Town was hacked if you havent noticed; it was originally a water tile (w/ ledge). Pokemon G/S/C - Using Surf in the limit between two maps](https://i.ytimg.com/vi/XFOWvMNG-zw/mqdefault.jpg)


![Pokemon Gold/Silver - Create your own custom trainer with coin case
From Bulbapedia: If the player has used Mystery Gift, he [Cal] is replaced with a Trainer with the same name and party of the last person the player used Mystery Gift with.
Coin case glitch: http://forums.glitchcity.info/index.php/topic,6716.0.html
Coin case setup as a memory editor: https://www.youtube.com/watch?v=ffZjCabeNr4
How to spell each hexadecimal number with the box name: http://pastebin.com/4ZDpQXGe (remember that the first four characters of the box name are the 2-byte address, and the last two characters are the byte to write on that address).
In order to be able to write to the SRAM (where the game stores the data of the variable trainer of the Trainer House), we need to enable it first and to open bank 0 in particular. Because of this, we need to add a few more lines to our code spelled out with items. Heres the full list: http://pastebin.com/vjBywmiL
Everything else is explained in the video. Pokemon Gold/Silver - Create your own custom trainer with coin case](https://i.ytimg.com/vi/Y9r9Gy3Shi8/mqdefault.jpg)