Well, it's been a long time since I last had a look at a yu-gi oh game... But no... Here in Type-0 the problem is that the game loads a so many assets (textures, 3D models, text, etc...) that the PSP can hardly hold them all at the same time (that's why sometimes the game can lag even on official hardware). The Crimson Codex is one of the largest files to be loaded by the game, and it's static, meaning that it will never be deleted from RAM, even during a battle, for example, that there is no way to check the CC out (so yeah, in some places the game could unload the Crimson Codex to free up resources).
The problem was that, the more we translate, the bigger the CC becomes. At one point, the game stopped booting because it had no RAM left to load the CC. It was fixed with 2 memory optimization I implemented on the game (actually they apply for all texts in the game, so the benefits are even bigger):
-Load in ram texts only once -> before this hack, all texts were loaded once per occurrence, so for example, if 2 characters say the same, the same text would be loaded twice in RAM. With my hack, they are only loaded once, I then I use a pointer refference, so the second character reads its text from the same memory position than the first one. Obviously, this can only done for repeated text, for perfects occurrences (which believe it or not, are pretty common).
-The second optimization is an ASM hack. Basically, this game had the problem that uses an optimized, custom encoding, that uses 1 byte for hiraganas, and two for the rest of the font. So each Japanese text can take one or 2 bytes, while latin text always take 2 bytes per character. This is a waste of memory, and I fixed it tweaking the encoding, so it uses 1 single byte for latin characters, and 2 for the rest of the font.
In case of yu-gi oh, IIRC the problem is that the game performs a LBA integrity check (many games do that, tales of VS and FF4, for example), but i don't really remember the details. In any case, there should be 2 ways of fixing that. Either updating the integrity check (so it matches the new data), or removing it via ASM.
~Sky
EDIT: Ok, the question this was an answer to was deleted... oh well... xD
...