ROM Hack [Release] Pokemon Gold, Silver, and Crystal Virtual Console Wireless Linking Patches

Would you like to see documentation on how to make patches like this in the future?


  • Total voters
    490

Deleted member 370283

Well-Known Member
OP
Member
Joined
Aug 19, 2015
Messages
496
Trophies
0
Age
22
XP
1,021
Country
United States
On February 27th, 2016, Nintendo rereleased the original Gen I Pokemon games for Gameboy onto the 3DS Virtual Console with a new twist: the ability to link with other players through wireless means. The feature had never been used before, and how it worked was mostly a mystery (besides the fact that it was activated through patches).

No more.

Today I present to you a port of the patch to Pokemon Gold, Silver, and Crystal. They all have full linking capabilities, including the Time Capsule feature which allows backwards compatibility with Pokemon Red, Blue, Yellow, and Green players.

Please note that these videos were recorded during testing and may not be entirely accurate to the final product.



Warning: If you have already installed this patch and are reinstalling it for the new color correction, you gotta back up your save, or else you might lose all of your progress!

INSTALLATION:
  1. Dump your copy of either Pokemon Red, Blue, Yellow, or Green using Braindump. Once complete, eject the SD card, and find a file with a title ID and .cxi extension on the SD card.
  2. Take this .cxi to a safe place and write down the title ID somewhere.
  3. Download CTRTool, and then place it into the folder with the .cxi file.
  4. While in the folder, hold the SHIFT key and right click. You will see an option in the menu that appears called 'Open command window here'. Click on it.
  5. Type the following:
ctrtool --exefs=exefs.bin --romfs=romfs.bin PUTTITLEIDHERE.cxi
ctrtool --romfsdir=romfs romfs.bin

And then...
  1. Get yourself a ROM image of the game that you want to use the patch for, and then put it somewhere safe. (GBC Pokemon game ROMs aren't too hard to find online nowadays ;) )
  2. Download the VC Patch Pack linked above.
  3. Locate the appropriate patch for your ROM, as well as for the language of your ROM. (For example, if you're using the German version of Crystal, you'd find 'germancrystal.bin.patch'.)
  4. Extract the appropriate patch and keep it somewhere safe with the ROM.
  5. Rename the ROM to match the patch NOT INCLUDING the .patch ending.
  6. Open up the extracted RomFS of your copy of Pokemon Red/Blue/Yellow/Green.
  7. Delete all of the files in the root of the RomFS with the extension of '.patch'. (This just saves space for the long run. You can skip this step if you want to.)
  8. Place the new '.patch' file from somewhere safe into the root of the RomFS.
  9. Go into the RomFS's 'rom' folder.
  10. Delete whatever file is inside and replace it with the ROM you have from somewhere safe.
  11. If you're going to be using Pokemon Gold and Silver, listen closely. Otherwise, skip ahead to Step 15.
  12. Go back to the root of the RomFS and open up the patch file in a text editor.
  13. Go to the very last patch at the bottom of the file.
  14. Decide now whether you want to play the game in DMG (Original Gameboy) mode or GBC (Gameboy Color) mode. If you want to play DMG mode, leave the patch as is and exit. Otherwise, change the "Fixcode" to 0x80.
  15. Exit out of the RomFS entirely and move into the ExeFS.
  16. Find the 'code.bin' within the ExeFS.
  17. Using 3DSTool, decompress the code using the following command in CMD:
3dstool -uf code.bin --compress-type blz --compress-out decompressed_code.bin
  1. Using a hex editor (doesn't matter which one), go to address 0x96EB7 and change the value to 0xE1. Save, and then recompress the code using this command in CMD:
3dstool -zf decompressed_code.bin --compress-type blz --compress-out code.bin
  1. Your 'code.bin' has now been fixed so that colors display properly. Go ahead and delete 'decompressed_code.bin' and copy 'code.bin' to somewhere safe.
  2. Rebuild your RomFS using the RomFS Builder in Pack Hack. (you need to open up SetupUS.exe, and then HackingToolkit3DS.exe, and in HackingToolkit3DS.exe type RFSB)
  3. Export the newly built RomFS with a name of the last 8 digits of the Title ID you were supposed to write down earlier and the extension of '.romfs'.
  4. If you don't already have it, make a folder called 'hans' on the root of your SD, and then copy the build .romfs file into said folder.
  5. Take the 'code.bin' from earlier and rename it to the last 8 digits of the Title ID you were supposed to write down, along with the extension of '.code'. Copy this to the 'hans' folder on the SD card, as well.
  6. Eject your SD card, put it back into the 3DS, and load up the Homebrew Launcher.
  7. Run HANS, selecting the Pokemon game that you dumped earlier.
  8. On the HANS menu, change the 'RomFS' option to 'YES', change the 'Code' option to 'YES', and then boot into the game. (You're probably going to want to save the configuration for later)
Phew! Congratulations! It was a lot of work, but now you're finally ready to use this newfangled patch on your game!
Whenever you go to use a linking function within the game, the Wireless Connection menu should automatically pop up. From here, you should know what to do.

As a small note, if all of this seems like too much work, never fear! My man @Traiver will be releasing .CIA versions of Pokemon Gold, Silver, Crystal, and Bronze onto "that ISO site" with the new patch already implemented, as well as professional banners and everything. So, if you're interested, keep your eyes peeled.

TROUBLESHOOTING:
Q: Why are the colors freaking out? Sometimes they're blank, and other times, they're flashy!
A: You didn't follow the steps correctly for patching the 'code.bin'. Go back and try again.

Q: *a general issue that's probably a bug*
A: Report it to me either through this thread or through PM and I'll take a look.

CREDITS:
  • @TheStoneBanana (me!) for researching and writing the new patch for Pokemon Crystal.
  • @Pandaxclone2, @darkalex004, and @Traiver for testing the original patch(es) to death.
  • @Traiver for porting my original patch to Pokemon Silver, Gold, and the Bronze ROM hack, as well as porting it to support other languages.
RELEASES THUS FAR:
(these are avaliable on that ISO site as well!)

n5kudm3h.jpg
 

Attachments

  • VC Wireless Link Patch Documentation.txt
    8.2 KB · Views: 3,539
Last edited by Deleted member 370283,

ThisIsDaAccount

Well-Known Member
Member
Joined
Apr 8, 2016
Messages
1,158
Trophies
0
XP
954
Country
United States
It's here! Awesome! Thanks guys!

Edit: If anyone wants to make a .cia with these patches included, you can insert them into a .cia with Asia81's PackHack (https://gbatemp.net/threads/tutorial-how-to-decrypt-extract-rebuild-a-cia.388677/) Note that this tutorial is slightly outdated. For the editing portion of the guide, simply place the patches into the decrypted file like instructed here. For reconstructing the .cia, instead of using the guide's instruction's, use the new PackHack's rebuild cia option.

Edit2: Also, if you guys ever want to test any new patches, I'd be glad to help :)
 
Last edited by ThisIsDaAccount,

Frezgle

Well-Known Member
Member
Joined
Aug 4, 2016
Messages
168
Trophies
0
Age
30
XP
275
Country
United States
Yes! YES!!
Downloading now and gonna try it out right away; this is incredible. Thank you so much.
EDIT: Braindump seems to be having... Issues with all three of my VC gen 1 games. They're all legit from the eshop so I dunno what's up. It gives me this error:
An exception occured

Processor: ARM11 (core 0)
Exception type: data abort
Current process: d1play
 
Last edited by Frezgle,

ThisIsDaAccount

Well-Known Member
Member
Joined
Apr 8, 2016
Messages
1,158
Trophies
0
XP
954
Country
United States
Yes! YES!!
Downloading now and gonna try it out right away; this is incredible. Thank you so much.
EDIT: Braindump seems to be having... Issues with all three of my VC gen 1 games. They're all legit from the eshop so I dunno what's up. It gives me this error:
An exception occured

Processor: ARM11 (core 0)
Exception type: data abort
Current process: d1play

Try creating a .cia file like I said in my post and tell us if the error persists.
 

Frezgle

Well-Known Member
Member
Joined
Aug 4, 2016
Messages
168
Trophies
0
Age
30
XP
275
Country
United States
I'm gonna try that, but after updating Luma to see if that would fix the issue, as it has fixed so many others, now I get the same error when launching HB at all :/
So I think I have unrelated issues afoot.

EDIT:
Try creating a .cia file like I said in my post and tell us if the error persists.
I patched and rebuilt a custom CIA of Gold successfully, it seems (the CIA installed and plays just fine), but the wireless features aren't enabled.
Like... Do I need to start with an official CIA of R/B/Y?
 
Last edited by Frezgle,

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
Does anyone know why I'm getting a failure during dumping while trying to dump a legit copy of Yellow? It dumps the RomFS and ExeFS then says "Failure during dumping. Output data in incomplete!" Could someone send my their copy of braindump (not the .cxi but the actual dumper itself)?

Is the exefs.bin file supposed to be 1 KB?

EDIT: Hang on, it decided to dump a .cxi and I'm gonna try to use that and see if it works.
 
Last edited by KunoichiZ,

duffmmann

Well-Known Member
Member
Joined
Mar 11, 2009
Messages
3,966
Trophies
2
XP
2,306
Country
United States
Can OP or someone that has successfully patched these games post them to either the ISO or Chaos site. Really all I want is Crystal English, but the others would be appreciated as well!

Edit: just read the fine print, never mind lol.
 
Last edited by duffmmann,

Deleted member 370283

Well-Known Member
OP
Member
Joined
Aug 19, 2015
Messages
496
Trophies
0
Age
22
XP
1,021
Country
United States
EDIT: I patched and rebuilt a custom CIA of Gold successfully, it seems (the CIA installed and plays just fine), but the wireless features aren't enabled.
Like... Do I need to start with an official CIA of R/B/Y?
Yes. You can only use Pokemon Red/Blue/Yellow/Green for this tutorial.
No idea if it needs to be official though. I bought my copies legally.

EDIT: Actually, if I'm understanding you correctly, yes. You can't use the custom Pokemon CIAs on that ISO site, because they dont use the special emulator the official version uses.
 

Frezgle

Well-Known Member
Member
Joined
Aug 4, 2016
Messages
168
Trophies
0
Age
30
XP
275
Country
United States
Wellp, after "getting" a legit CIA copy of Yellow to try that instead, it failed to decrypt fully despite multiple attempts and the rom folder won't extract.
What a time for Braindump to decide it doesn't work anymore :(

EDIT: Actually, it does still work on my retail carts. Kinda wish I didn't decide to test that since now my 2DS is held hostage for an hour lol.
Is there a specific version of BD that's known to be able to dump VC games? I'm just using the latest and it either gives me the error I mentioned before, or it freezes on a red screen.
 
Last edited by Frezgle,

Deleted member 370283

Well-Known Member
OP
Member
Joined
Aug 19, 2015
Messages
496
Trophies
0
Age
22
XP
1,021
Country
United States
No. These are made just for Gold, Silver, Crystal, and the Bronze ROM hack (which was ported as a bonus).

ROM hacks of Pokemon Red, Blue, Yellow, and Green could have a patch ported to them with little issue, assuming that they still use the original code for linking.
 
  • Like
Reactions: Thunder Kai

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
I keep getting the error when dumping with Braindump. I'm even using the latest version of it too. I've tried a legit copy from the eShop and a downloaded copy from freeShop but neither will successfully dump. I'll just wait for the .fia release on that iso site.
 

tommikinder

Well-Known Member
Member
Joined
Jan 3, 2014
Messages
138
Trophies
0
XP
705
Country
This is awesome! I'll be waiting for those CIAs.
So will Gold and Silver be in black and white like Red and Blue and Crystal in colour like Yellow?
 

Deleted member 370283

Well-Known Member
OP
Member
Joined
Aug 19, 2015
Messages
496
Trophies
0
Age
22
XP
1,021
Country
United States
Gold and Silver have the options of either being played in their original color format or in Gameboy mode. There's details in the instructions on how to pick and choose what you want.
Crystal will always be in color, since the game itself has no DMG support.

(Also, as explained in troubleshooting, the blanked out colors are still an issue to keep in mind, which is why Gold and Silver are set to DMG mode by default)
 
  • Like
Reactions: xJoelituh

Traiver

Developer
Developer
Joined
Aug 1, 2014
Messages
1,326
Trophies
1
Location
???
XP
3,000
Country
United States
Watch out "somewhere"...


Code:
*Updated on 12/29/16* - Full fixed versions

Unique ID      Name
0x01916        Pokémon Bronze (English) - Color - v1.2

0x01901        Pokémon Crystal (English) - v1.2
0x01902        Pokémon Crystal (French) - v1.2
0x01903        Pokémon Crystal (German) - v1.1
0x01904        Pokémon Crystal (Spanish) - v1.2

0x01917        Pokémon Crystal Emu Edition (English) - v1.2
0x01920        Pokémon Crystal Kaizo Version (English) - v1.0 - *Removed*
0x01921        Pokémon Prism v0.92 (English) - v1.1

0x01906        Pokémon Gold (English) - Color - v1.3
0x01908        Pokémon Gold (French) - Color - v1.2
0x0190A        Pokémon Gold (German) - Color - v1.1
0x0190C        Pokémon Gold (Spanish) - Color - v1.2

0x01918        Pokémon Silver (English) - Color - v1.3
0x01919        Pokémon Silver (French) - Color - v1.2
0x01912        Pokémon Silver (German) - Color - v1.1
0x01914        Pokémon Silver (Spanish) - Color - v1.2
 
Last edited by Traiver,

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • SylverReZ @ SylverReZ:
    Yeah, it wasn't that bad. Say its average.
  • BigOnYa @ BigOnYa:
    I've been listening to it last couple hours on repeat, its ok, abracadabra only good one really, and its just mid. You can tell Dre didn't do much of the producing on it.
  • K3Nv2 @ K3Nv2:
    It's giving revival vibes tbh
  • BigOnYa @ BigOnYa:
    I think my favorite is the Brand new dance track, its got some funky samples and a cool beat
  • K3Nv2 @ K3Nv2:
    Felt likes he's trying to sound like Encore era too much
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, how are you?
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Doing alright thx
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, im fine too
    +1
  • Xdqwerty @ Xdqwerty:
    @SylverReZ,
    the version of quake 1 im downloading is the 2021 remaster and im gonna run it through the ironwail source port
    +1
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Fun fact: Shareware version of Quake on CD has full versions of Doom and Wolf 3D. ;)
    +1
  • SylverReZ @ SylverReZ:
    You need to unlock them via a keygen ofc.
  • K3Nv2 @ K3Nv2:
    Dookie
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, what a deal
  • Xdqwerty @ Xdqwerty:
    2 games and 1/5 for free
  • SylverReZ @ SylverReZ:
    That's why they're super rare now lmao.
  • SylverReZ @ SylverReZ:
    id has used something called TestDrive where you would select the game you wanted to buy, call support and give them the number on-screen, then they would give you a registration key to unlock it. Fortunately for them, the games were encrypted using some weak encryption cryptography, so somebody wrote up a crack to generate keys to unlock them without calling id. John Romero got pissed and left some unworthy messages on Usenet.
  • Xdqwerty @ Xdqwerty:
    @SylverReZ, so it still kinda
    counted as piracy?
  • SylverReZ @ SylverReZ:
    @Xdqwerty, Well it was id's fault for not educating themselves before shipping it out. Always make sure your protection isn't reversable, but the 90's was alot different back then.
    +1
  • SylverReZ @ SylverReZ:
    Copy protection was straight forward, consumer CD burners weren't out until '96. Most of them used dongle or CD checks, nothing like SafeDisc or StarForce.
    +1
  • The Real Jdbye @ The Real Jdbye:
    all protection is reversable
    +2
  • SylverReZ @ SylverReZ:
    @The Real Jdbye, True. It's easy if you've got so much programming experience with how the protection works.
    +1
  • SylverReZ @ SylverReZ:
    I've cracked CD and dongle checks before, heck, even first time manually unpacked SafeDisc myself.
  • KingGoose @ KingGoose:
    Anyone here got skills to work on citra custom cheat codes for FOV ?
    KingGoose @ KingGoose: Anyone here got skills to work on citra custom cheat codes for FOV ?