This thread is now pretty much not needed, there is much easier, simpler tools for making Virtual console injections, please follow these links for the relevant threads
NES
https://gbatemp.net/threads/release-ultimate-nes-vc-injector-for-3ds.437415/
GBA
https://gbatemp.net/threads/release-ultimate-gba-vc-injector-for-3ds.438057/
SNES
https://gbatemp.net/threads/release-ultimate-snes-vc-injector-for-3ds.453891/
GAMEBOY/GAMEBOY COLOUR
https://gbatemp.net/threads/release-ultimate-gbc-vc-injector-for-3ds.434172/
T16-PCE
https://gbatemp.net/threads/release-ultimate-t16-pce-vc-injector-for-3ds.438078/
GAME GEAR
https://gbatemp.net/threads/release-ultimate-gg-game-gear-vc-injector-for-3ds.437226/
MEGA DRIVE (emulator forwarder)
https://gbatemp.net/threads/release-ultimate-gen-md-forwarder-maker-for-3ds.454972/
Good luck and enjoy
[original thread contents]
NES
https://gbatemp.net/threads/release-ultimate-nes-vc-injector-for-3ds.437415/
GBA
https://gbatemp.net/threads/release-ultimate-gba-vc-injector-for-3ds.438057/
SNES
https://gbatemp.net/threads/release-ultimate-snes-vc-injector-for-3ds.453891/
GAMEBOY/GAMEBOY COLOUR
https://gbatemp.net/threads/release-ultimate-gbc-vc-injector-for-3ds.434172/
T16-PCE
https://gbatemp.net/threads/release-ultimate-t16-pce-vc-injector-for-3ds.438078/
GAME GEAR
https://gbatemp.net/threads/release-ultimate-gg-game-gear-vc-injector-for-3ds.437226/
MEGA DRIVE (emulator forwarder)
https://gbatemp.net/threads/release-ultimate-gen-md-forwarder-maker-for-3ds.454972/
Good luck and enjoy
[original thread contents]
sorry for posting a new thread i already think this matter has way too many as it is.....yet for some reason they all focused on gameboy (probably because its the easiest, and works the best though).
so i thought i would condense all the info spread about the 3 threads or so into 1 thread, lets clear up a few things first, the VC system is a sort of multi purpose emulator, the one system works as a gameboy,nes and crappy gba emulator, the output depends on what rom you drop into it, so you could decrypt a GBC VC title and then put nes roms in it and it will be the nes VC emulator....put a GBA
rom in and it does GBA
Decryption Methods
Popular Mods that will work on all different systems
Adding games for various systems
Making your own banners and icons
and i think that's it, if i have missed anything out let me know, and inb4, what about gamegear/master system, it appears the roms are compressed for them, so unless a way to compress roms using the same method is found, you cant do GG/SMS
have fun everyone
PLEASE NOTE: these custom VC games will not work on R4i DE,3DSlink or orange3ds, as they dont have "homebrew" loading capabilities yet
so i thought i would condense all the info spread about the 3 threads or so into 1 thread, lets clear up a few things first, the VC system is a sort of multi purpose emulator, the one system works as a gameboy,nes and crappy gba emulator, the output depends on what rom you drop into it, so you could decrypt a GBC VC title and then put nes roms in it and it will be the nes VC emulator....put a GBA
rom in and it does GBA
Decryption Methods
Retail encrypted VC games
Using the bbb pokemon zero key encrypted roms as a base
1 drag your .3ds rom onto "crtkeygen.exe" this will create a file called ncchinfo.bin in the same folder as your rom
2. copy the XORpad generator (launcher.dat) from the "For the 3DS SD card" folder in this download to the 3DS's SD card
and the ncchinfo.bin that was generated in step 1, then pop the SD back in the 3DS and go to DS profile, this will generate the
Xor pads used to decrypt the game.(this step can be a little buggy if it stays on "opening ncchinfo.bin" for more than a few seconds
reset the console and repeat untill it kicks into action)
3. copy your ROM and XOR pads here, leave out any CTR-P-CTAP.romfs*.xorpad files they are un-needed and may cause issues you just need
the 3 Xor pads for the game exefs,romfs and exh
4. run unpackv2.bat, enter your roms filename (may help if you rename it to something easy like rom.3ds)
go into the "decrypted" folder then "romfs",
make your edits,
5. Go back to the main directory and run makerom.bat
6. If all goes well and you will be given romedited.3ds in the main folder.
thanks to ground for the neat and tidy decryption script,and everyone involved in making the tools
http://filetrip.net/dl?klFzuXHgmF
2. copy the XORpad generator (launcher.dat) from the "For the 3DS SD card" folder in this download to the 3DS's SD card
and the ncchinfo.bin that was generated in step 1, then pop the SD back in the 3DS and go to DS profile, this will generate the
Xor pads used to decrypt the game.(this step can be a little buggy if it stays on "opening ncchinfo.bin" for more than a few seconds
reset the console and repeat untill it kicks into action)
3. copy your ROM and XOR pads here, leave out any CTR-P-CTAP.romfs*.xorpad files they are un-needed and may cause issues you just need
the 3 Xor pads for the game exefs,romfs and exh
4. run unpackv2.bat, enter your roms filename (may help if you rename it to something easy like rom.3ds)
go into the "decrypted" folder then "romfs",
make your edits,
5. Go back to the main directory and run makerom.bat
6. If all goes well and you will be given romedited.3ds in the main folder.
thanks to ground for the neat and tidy decryption script,and everyone involved in making the tools
http://filetrip.net/dl?klFzuXHgmF
DOWNLOAD BOBMCJR VERSION
(FIXED)
1.- Get Pokemon Crystal 3ds VC game
2.- Move the pokemon 3DS VC game to the prepare.bat
3.- Move the GBC/NES game to create3ds.bat or createcia.bat
4.- Fill out the prompts
5.- Wait and it's done!!
DOWNLOAD
https://gbatemp.net/attachments/vcpkg-zip.14975/
this is just the method copied from here
http://gbatemp.net/threads/gbc-vc-generator.371819/
Note that GBA and FDS roms will not work with the BBB Pokemon base, and someone makes an updated tnes.exe, AxROM NES ROMs will not be automatically converted.
(FIXED)
1.- Get Pokemon Crystal 3ds VC game
2.- Move the pokemon 3DS VC game to the prepare.bat
3.- Move the GBC/NES game to create3ds.bat or createcia.bat
4.- Fill out the prompts
5.- Wait and it's done!!
DOWNLOAD
https://gbatemp.net/attachments/vcpkg-zip.14975/
this is just the method copied from here
http://gbatemp.net/threads/gbc-vc-generator.371819/
Note that GBA and FDS roms will not work with the BBB Pokemon base, and someone makes an updated tnes.exe, AxROM NES ROMs will not be automatically converted.
Popular Mods that will work on all different systems
Full screen
Get rid of the delays in bringing up the VC menu and saving
mod, so depending on the rom you intend to run in full screen, make this adjustment in the config.ini file found in the RomFS of your decrypted rom, find the header for the system you are wanting to full screen i.e [NES][GBC] [AGB]
once at the correct header the options underneath let you toggle various features so for example setting the "Width" to 400 on all systems will make the game play in fullscreen
once at the correct header the options underneath let you toggle various features so for example setting the "Width" to 400 on all systems will make the game play in fullscreen
again in the config.ini file found in RomFS, if you go to the bottom of the ini you will see options to change the [MENU] settings, here if you change all the delays to 0, the VC system will be much more responsive instead of having delays between trying to enter the VC menu
Adding games for various systems
GB/C
GBA
NES
simply get a .gb or .gbc rom rename it to follow the naming structure that the VC uses, you don't need to stick to the built in name like Dmgazlp2.f11, you can go for something more recognizable like POKEMONY.F11 (not sure what the limits of the file name are so try to stick to similar to the original setup)
also for GBC its best to make sure you only have a 1 rom inserted or it may cause issues, so don't for example leave the original rom in there too when rebuilding
also for GBC its best to make sure you only have a 1 rom inserted or it may cause issues, so don't for example leave the original rom in there too when rebuilding
GBA
Ignore this section and visit this page
https://gbatemp.net/threads/release-agb_firm-signature-patcher-gba-rom-converter.390313/
another simple one, remove the old roms and copy a GBA rom into the rom folder, the name to match a similar set up to the old filename (but not exactly the same) and leave the extension as .gba so for example you could have AdvanceW.gba
worth noting the GBA emulation is very poor, very slow and only works on smaller roms i think after about 4MB it will just crash the 3DS
https://gbatemp.net/threads/release-agb_firm-signature-patcher-gba-rom-converter.390313/
another simple one, remove the old roms and copy a GBA rom into the rom folder, the name to match a similar set up to the old filename (but not exactly the same) and leave the extension as .gba so for example you could have AdvanceW.gba
worth noting the GBA emulation is very poor, very slow and only works on smaller roms i think after about 4MB it will just crash the 3DS
NES
this one is actually the biggest pain in the butt, basically nintendo doesn't use the normal public method of headers for NES roms (suppose its to be expected),
ok so me and alexenochs got the header layout figured out, so now you should be able to generate you custom header to play pretty much all nes games on the nes VC,
basically the format is
54 4E 45 53 XX YY ZZ 00 01 MM? 00 00 00 00 00 00
XX= Mapper type
YY= PRG
ZZ= CHR
MM= possibly mirroring....not sure though
mapper types we figured out so far are
00= none 01 = MMC1 03=MMC3 05=MMC5 06=UNROM
PRG and CHR are added in 8kb blocks, so 01=8kb, 10=128kb,20=256kb etc
so now you should be able to generate your own header to match the rom you want to inject meaning you aren't tied to only roms that have the same header as released NES VC games
so check here for the details of any given game and edit the header appropriately
http://tuxnes.sourceforge.net/nesmapper.txt
As a bonus feature that only seems to work with nes roms you can actually insert more than one rom in the "rom" folder, and when you start it up you will be able to select the game you want......it will really help giving the games recognizable file names this time, and it seems the only way to get back to the menu is to exit and reload the rom..........but it works
ok so me and alexenochs got the header layout figured out, so now you should be able to generate you custom header to play pretty much all nes games on the nes VC,
basically the format is
54 4E 45 53 XX YY ZZ 00 01 MM? 00 00 00 00 00 00
XX= Mapper type
YY= PRG
ZZ= CHR
MM= possibly mirroring....not sure though
mapper types we figured out so far are
00= none 01 = MMC1 03=MMC3 05=MMC5 06=UNROM
PRG and CHR are added in 8kb blocks, so 01=8kb, 10=128kb,20=256kb etc
so now you should be able to generate your own header to match the rom you want to inject meaning you aren't tied to only roms that have the same header as released NES VC games
so check here for the details of any given game and edit the header appropriately
http://tuxnes.sourceforge.net/nesmapper.txt
As a bonus feature that only seems to work with nes roms you can actually insert more than one rom in the "rom" folder, and when you start it up you will be able to select the game you want......it will really help giving the games recognizable file names this time, and it seems the only way to get back to the menu is to exit and reload the rom..........but it works
Making your own banners and icons
fist you will need to get python and Pillow to use these tools, install both of them and then download
3DSBannerMaker
edit you pictures, running the python script(icon.py,banner.py respectively) in each folder after editing, then once all your icons/banners are edited go back to the main folder, edit the AppData.txt to change the name etc and then run _buildscript.py (using the build.bat would require setting up environment variables which i cba explaining atm, running the .py file will work fine anyway)
one thing to note is that you will need to edit the RSF file for each game or you will end up having cached icons ruining your work, to make sure your custom icons show up between each game, be sure to edit "UniqueId : 0x123456" (in the rsf file)for each custom rom injection you make to avoid icon conflicts
copy the icon.icn and banner.bnr that are outputted into the /decrypted/exefs folder of your VC build, delete/rename the existing banner.bin and icon.bin and rename the banner.bnr and icon.icn to *.bin, and dont forget to make the adjustment to the rsf.rsf file to give each game a unique ID or they will just keep loading the old games icon and name in the menu
3DSBannerMaker
edit you pictures, running the python script(icon.py,banner.py respectively) in each folder after editing, then once all your icons/banners are edited go back to the main folder, edit the AppData.txt to change the name etc and then run _buildscript.py (using the build.bat would require setting up environment variables which i cba explaining atm, running the .py file will work fine anyway)
one thing to note is that you will need to edit the RSF file for each game or you will end up having cached icons ruining your work, to make sure your custom icons show up between each game, be sure to edit "UniqueId : 0x123456" (in the rsf file)for each custom rom injection you make to avoid icon conflicts
copy the icon.icn and banner.bnr that are outputted into the /decrypted/exefs folder of your VC build, delete/rename the existing banner.bin and icon.bin and rename the banner.bnr and icon.icn to *.bin, and dont forget to make the adjustment to the rsf.rsf file to give each game a unique ID or they will just keep loading the old games icon and name in the menu
and i think that's it, if i have missed anything out let me know, and inb4, what about gamegear/master system, it appears the roms are compressed for them, so unless a way to compress roms using the same method is found, you cant do GG/SMS
have fun everyone
PLEASE NOTE: these custom VC games will not work on R4i DE,3DSlink or orange3ds, as they dont have "homebrew" loading capabilities yet
Last edited by gamesquest1,