Homebrew Pokemon Virtual Console Patches (Debug Menu, Speed Up, Full Screen)

  • Thread starter Thread starter zaksabeast
  • Start date Start date
  • Views Views 134,679
  • Replies Replies 87
  • Likes Likes 31

zaksabeast

Well-Known Member
Member
Joined
May 24, 2016
Messages
346
Reaction score
648
Trophies
0
XP
1,273
Country
United States
Hey!

A few days ago, I was digging through a VC disassembly and found what looked like a debug menu. I'm not the first person to find these, but I had never seen it before and decided to make some patches for it.

The best use for this is being able to speed up or slow down virtual console games. You can download the patches below. :)

Patches:
- Full Width Screen
- Touch bottom screen for debug menu
- Touch bottom Screen for debug menu, and have `Emulator Speed` patched to have a max of 10 (regular is 4)

EDIT: If you want full width and the speed 10 debug menu in one patch, LooneyNoons has combined them into one patch that you can download here.

Usage:
To use these patches, you'll need the latest Luma CFW.
1. Download the zip file below
2. Pick out a patch you want to use and rename it to code.ips
3. Place your code.ips in '/luma/titles/<title id>/code.ips'
- Your title id will be different depending on the game you wish to use this patch for

Notes:
- Gen 1 and Gen 2 virtual console games have different patches - do not mix them up
- Gen 1 games are Red, Blue, and Yellow
- Gen 2 games are Gold, Silver, and Crystal
- I have not tested them for all regions, but they should work
- These should only work for Pokemon virtual console games

Have fun! :D
 

Attachments

Last edited by zaksabeast,
Well this is now possible the changerom feature works.

d990gWK.png
 
Last edited by AyanamiRei0,
• Currently on Luma 9.0-2a840f2.
• Have the US version of Pokemon Yellow.
• Renamed g1VC_debugSpeed10_code.ips to code.ips
• Placed in luma/titles/0004000000171200/

When I run the Pokemon Yellow VC, all I get is the standard VC menu (Resume Game & Reset) when I touch the bottom screen. Is there anything I could have potentially missed? Very excited to try this; I played through Yellow using RetroArch at increased speed, but my game would only save half the time, and then last week my save randomly vanished. I know if I play through official VC I won't run into any save troubles, and will be able to transfer to Gen 7 without having to use PkHex. :)
 
Last edited by dman1987,
• Currently on Luma 9.0-2a840f2.
• Have the US version of Pokemon Yellow.
• Renamed g1VC_debugSpeed10_code.ips to code.ips
• Placed in luma/titles/0004000000171200/

When I run the Pokemon Yellow VC, all I get is the standard VC menu (Resume Game & Reset) when I touch the bottom screen. Is there anything I could have potentially missed? Very excited to try this; I played through Yellow using RetroArch at increased speed, but my game would only save half the time, and then last week my save randomly vanished. I know if I play through official VC I won't run into any save troubles, and will be able to transfer to Gen 7 without having to use PkHex. :)
Did you enable "Enable game patching" in your Luma settings?
 
That speed feature is really nice. It would be much nice if we had a way to apply it to the whole vc engine, and not have to patch every games.
GB games was fcking slow, 2 years to start a battle, thanks to the vba speed boost also.
 
That speed feature is really nice. It would be much nice if we had a way to apply it to the whole vc engine, and not have to patch every games.
GB games was fcking slow, 2 years to start a battle, thanks to the vba speed boost also.
There is no "whole vc engine". Each VC title contains its own copy of the emulator.
 
  • Like
Reactions: DarthDub
• Currently on Luma 9.0-2a840f2.
• Have the US version of Pokemon Yellow.
• Renamed g1VC_debugSpeed10_code.ips to code.ips
• Placed in luma/titles/0004000000171200/

When I run the Pokemon Yellow VC, all I get is the standard VC menu (Resume Game & Reset) when I touch the bottom screen. Is there anything I could have potentially missed? Very excited to try this; I played through Yellow using RetroArch at increased speed, but my game would only save half the time, and then last week my save randomly vanished. I know if I play through official VC I won't run into any save troubles, and will be able to transfer to Gen 7 without having to use PkHex. :)

First, thank you for the in depth information to help troubleshooting - the more info, the better.

As Kunoichiz mentioned, please make sure to enable game patching in your Luma settings - I tested Pokemon Yellow, and it's working nicely. :)
 
Thanks KunoichiZ and zaksabeast -- that worked. It's been forever since I've had to access the Luma menu so I totally forgot about it. :)
 
Last edited by dman1987,
  • Like
Reactions: zaksabeast
will this work on non official VC Injects?
Yes, if they use the same emulator version; if you used an injector instead of replacing the rom yourself, you'd need to figure it out yourself - but the older NES injector by Asdolo most likely uses the Gen 1 emulator (assuming you selected the version with network but no savestates as base)
 
Yes, if they use the same emulator version; if you used an injector instead of replacing the rom yourself, you'd need to figure it out yourself - but the older NES injector by Asdolo most likely uses the Gen 1 emulator (assuming you selected the version with network but no savestates as base)

I've gotten myself all turned around trying to research this, is there a guide I can take a look at for replacing the ROM in the RomFS instead of using the injector? I'm trying to manually replace the Crystal ROM in the official Crystal VC with a Crystal romhack instead, as there's a slight jitter before every battle if you use the injector. I know the current injectors don't use the Crystal VC as a base for GBC VC injection, hence the need to do it manually. I figured putting a Crystal hack in the Crystal VC might rectify the jittering.
 
is there a guide I can take a look at for replacing the ROM in the RomFS instead of using the injector?
Once you know about extracting and repackaging a standard 3DS application, it's easy ~

The funny named file in the "rom" folder is (for GB/C games) just a renamed standard GBC rom;

then you may need to adjust the patches (found in the root of the romfs with the same name as the game's rom), if code/data modified by the patch file in the original game was moved around - which is quite hard to say if you didn't make the hack completely by yourself...

then the icon/banner (found in the exefs) ought to be edited (you can just rip them off the one you made with the injector)

then titleid (byteswapped) ought to be changed, it's found in both header and exheader (twice); while you're there, change the uniqueid (ctr-n-xxxx) found in the header to anything you want, you have 15 characters to express yourself, no need to stick to the original format and add confusion

...then just reassemble the whole package, install it, and laugh at whatever error everyone's going to make the first time they try :)
 
  • Like
Reactions: Helix Fossil
Once you know about extracting and repackaging a standard 3DS application, it's easy ~

The funny named file in the "rom" folder is (for GB/C games) just a renamed standard GBC rom;

then you may need to adjust the patches (found in the root of the romfs with the same name as the game's rom), if code/data modified by the patch file in the original game was moved around - which is quite hard to say if you didn't make the hack completely by yourself...

then the icon/banner (found in the exefs) ought to be edited (you can just rip them off the one you made with the injector)

then titleid (byteswapped) ought to be changed, it's found in both header and exheader (twice); while you're there, change the uniqueid (ctr-n-xxxx) found in the header to anything you want, you have 15 characters to express yourself, no need to stick to the original format and add confusion

...then just reassemble the whole package, install it, and laugh at whatever error everyone's going to make the first time they try :)
In fact the VC can load the roms perfectly without changing the file extenstion

LMBgIJs.png
 

Site & Scene News

Popular threads in this forum