Hardware Misc Strange issue with a Japanese Pokémon Pearl cartridge

  • Thread starter Thread starter grub
  • Start date Start date
  • Views Views 1,148
  • Replies Replies 3

grub

Member
Newcomer
Joined
May 11, 2019
Messages
19
Reaction score
6
Trophies
0
XP
1,728
Country
United States
Basically, it freezes during the in-game event below, when initiating dialogue with the first Gym Leader. I found mention of it in this Reddit thread.

Pokemon Pearl emulation screenshot, player character facing a Gym Leader


I dumped the game and save data with godmode9 and loaded them with MelonDS, and the same issue occurs.

The most likely issue is that it's just counterfeit and an untested ROM was loaded onto the memory, right? I've attached images of the taken-apart shell and board if you're knowledgeable about spotting fake copies.

The labels on each IC seemed correct to me, and the cartridge itself seems fine too. The serial number on the back looks like it was worn away through usage, it's only visible if you look really closely.

There were 6 cartridge revisions of Pearl in Japan, but the later revisions trimmed down the ROM size from ~128mb to ~64mb. Comparing the dumped ROM with the only early revision ROM i have, 7 hexadecimal bytes are different between them.

When the save file is loaded with this other ROM, the dialogue in-game completes successfully and the battle starts.

please help me, gamers
Post automatically merged:

A small update: I tried reflowing the solder on the ROM chip, still nothing. So I looked into the ROM itself with Tinke to see where the mismatched data actually was in the game files by comparing it to the working reference ROM.

The first six mismatched bytes belong to the field_encounteffect file, which I think means the game is failing to pull up the Gym Leader challenge animation. It would explain the freeze at this specific point.

There's also an additional byte in the font file that doesn't match.

The one Reddit thread I mentioned above posted an image of their cartridge, and the numbers above the contacts seem to match mine. So, it's either an obscure batch of bad Diamond/Pearl cartridges in Japan, or a (very convincing) counterfeit cartridge...?

I guess I'll try to find where I bought it in the first place. I think it was eBay, but it has been a few years.
 

Attachments

  • cart-shell-front.png
    cart-shell-front.png
    280.9 KB · Views: 50
  • cart-shell-back.png
    cart-shell-back.png
    272 KB · Views: 48
  • cart-board-savechip.png
    cart-board-savechip.png
    16.4 KB · Views: 39
  • cart-board-rom.png
    cart-board-rom.png
    80.7 KB · Views: 51
  • cart-board-front.png
    cart-board-front.png
    254.9 KB · Views: 45
  • cart-board-back.png
    cart-board-back.png
    251.6 KB · Views: 41
  • 1742246182756.png
    1742246182756.png
    15.9 KB · Views: 42
Last edited by grub,
it's more likely that it's hardware damage that damaged the data on the chip somehow, than a counterfeit that happens to have just a few bytes wrong. no one makes bootlegs of japanese versions anyway
Oh! That makes more sense! Maybe this batch of cartridges was more prone to whatever the damage might be caused by. Thank you for your response
 
Hey guys, seeing the filename "field_encounteffect" in your post really excited me.
Because I've been investigating why the checksums of my two Japanese Pearl rev0 cartridges don't match the data from nointro.
After unpacking and comparing them, I found the difference lies in the "field_encounteffect" file, especially the file within its subfile id=23 (field_encounteffect_23.RGCN).
1785517982459.png

This is an image of a smiley face (the color palette was randomly selected and does not represent the actual colors). The top left corner shows from the normal file, while the bottom left and bottom right corners show from my two jpn cartridges, both with damaged pixels, especially the bottom right one, which has more damaged pixels than left.
I wondered if the cartridges had deteriorated over 20 years, or if this batch of cartridges was already damaged when it left the factory. So I started searching for similar posts, until I saw "field_encounteffect" again in your post. This makes the latter possibility more likely!

In addition, while reviewing the decompiled Pret project, I investigated where this image is invoked. I discovered that it seems to be triggered only during battles against Gym Leaders. I searched gameplay videos but didn't find this image during battles. I initially thought I had misunderstood the code, but since your triggering issue is stuck during battles against Gym Leaders, it actually proves that this image is very likely involved during those battles.

Considering that the damaged areas on my two cartridges are different, and they functioned normally without getting stuck in gym battles, it's very likely that your random damage data just happened to fall into the address where affecting the game's operation.

You can use Tinke to select the "field_encounteffect" and continue unpacking it, then compare the results to see which file is causing the problem. Is it the same as me, that field_encounteffect_23.RGCN is corrupted?
Post automatically merged:

One of my friends also met crash when battle with Gym leader/Elite 4. I unpack rom, it shows wrong file like this(red file name).
1785564603277.png

1785564613892.png

And the major error i found is in field_encounteffect_23.RGCN. Its header is broken (RAHC->RAHG) while other file have difference in their data section.
(left is wrong, right is correct)
1785564719474.png

Then I fixed this header and run it on emulator, and it's running normally now.

Based on my own experience with two cartridges where only the image area was damaged, but the file headers were intact, they ran normally without freezing. We can draw some preliminary conclusions:

A certain batch of Japanese Diamond & Pearl rev0 cartridges has a ROM chip damage issue. The damaged area is random, but it often involves a corrupted file named field_encounteffect_23.RGCN within graphic/field_encounteffect.narc.
If the file corruption is only in the data section, it won't affect the game's normal operation. However, if the file header is damaged, affecting the program's reading and recognition, it can cause characters with certain battle strating effects (such as Gym Leaders or Elite Four, Champions) to freeze when entering battles.


You can check your ROM, there should be corrupted sub-file headers in field_encounteffect.narc or font.narc.

One solution (not necessarily perfect):
Furthermore, considering that DS cartridges use maskROM chips, they lack the repair mechanism in 3DS cartridges. This means that DS cartridges with corrupted file headers causing serious bugs cannot be repaired.
If you still want to use this cartridge, one method is to utilize the nds-bootstrap's save-relocation feature. After placing a clean, undamaged original ROM into the SD card, use TwilightMenu++ to set save-relocation to game card, and insert this cartridge into slot 1. This allows you to run the game with a clean ROM, while save data is still read and written to the cartridge.
Enhanced Playing Save from retail NDS Cards with TwiLightMenu++
 
Last edited by Wokann,

Site & Scene News

Popular threads in this forum