Hacking The general VC rom injection thread (NES,GB/C/A etc.)

  • Thread starter Thread starter gamesquest1
  • Start date Start date
  • Views Views 206,047
  • Replies Replies 313
  • Likes Likes 19
hey what up peeps?,

just wanted to drop by and say awesome work gamequest,
i was also just wondering i came across this multi-snes collection 3ds rom
called Namco - J Legend Retsuden.. it seems to have a compilation of nes and snes roms
would it be possible to rip this rom and inject some snes maybe if it has similar structure to the vc romfs?
it also includes a bottom screen scalier although it is in Japanese.. just a heads up maybe we can have a look into it?

Decided to have a look at this. The nes/snes roms are in the exefs, not the romfs, you can find the full unmodified rom dumps in the decompressed code.bin. Been fiddling with it this evening, and the news isn't great, I had a go at replacing the Dragon Ball Z - Super Butouden 2 snes rom with games that use the same cartridge configuration and compress to the same size or smaller when compressing code.bin - the two I've tried as yet were Mortal Kombat and Jungle Strike. It wasn't straightforward to get the .3ds rom booting with a replaced snes rom, but it was doable*, and the .3ds rom acts happily as if everything is ok, but when trying to start the modified game, the emulation just stays on a blank screen, no signs of life at all (edit: the emulated screen stays blank, but the border shows, the controls on the touchscreen still work, you can scale the emulated screen, return to the main menu etc). The other games still work from the menu.
It was never going to be a general purpose snes emulator, but I don't know if there'll be any other games that will do anything at all in it.


*replace snes rom in code.bin with hex editor,
recompress code.bin (I cobbled together a tool to do this using makerom's sources)
replace code.bin in exefs with hex editor and manually fix filesize and checksum for code.bin in exefs header
xor modified exefs with exefs xorpad from original rom
replace xor'd exefs in .3ds rom with hexeditor and manually fix exefs checksum (seems to be in two places).

edit: I'm open to suggestions from someone knowledgeable like StapleButter about what games might be worth trying if they use the right screen modes and whatever.
 
I successfully injected Metroid 2 (Color Hack) into Pokemon Crystal using the Bob Version. However the game appears as Pokemon Crystal in the ROM menu. What's the easiest way to edit the ROM name (its ID I guess?)?
Did the color hack actually work correctly? If so please PM me as when I injected this game it was trippy
 
did you use the RSF file from the main post about using normal retail encrypted games? the nes roms seem to want 2MB for save space, so the RSF files in other tutorials will likely just cause a black screen
Could you share one of the available RSF file for NES.ROM? Or how to get a correct RSF file?
And how to do it?Only drop nes rom into it which didn't need to be renamed as vc_rom.bin?The same as GBC game? Thank you very much!
 
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
Nagato Normmatt

I have a tool to decrypt and decompress them... I'll have to get around to making it recompress and encrypt them before I release it though.
 
I have a tool to decrypt and decompress them... I'll have to get around to making it recompress and encrypt them before I release it though.
I cannot wait to see this so are they literally a compressed Rom and that's it have u tried running the sonic 2 extracted Rom in a pc emu or do they have some form of a custom header or something other than compression?
 
Could you share one of the available RSF file for NES.ROM? Or how to get a correct RSF file?
And how to do it?Only drop nes rom into it which didn't need to be renamed as vc_rom.bin?The same as GBC game? Thank you very much!
the RSF file is in the first extaction method the GBC VC method is limited to only really doing the BBB VC injected games, you will be wanting to extract a nes VC game anyway if you want to get the headers from the nes roms
I couldn't understand how the NES injection works.
I'm supposed to use the same Pokémon Crystal ROM? I need to copy the header from the original ROM to the one I want to inject, but where is this original ROM? I have to extract it from a NES-VC file?
yeah it is covered in the nes VC injection bit, you need to extract a nes VC game that has a rom that has the same header as the NES rom you intend to inject, so for example SMB3 and bart vs the world have the same NES carts specs as seen in the list that is liked in the OP, so you extract the SMB3 VC rom, open the VC version of SMB3 nes rom in a hex editor and copy the top line over the top line of the normal bart vs the world rom
I have a tool to decrypt and decompress them... I'll have to get around to making it recompress and encrypt them before I release it though.
thats cool, good thing about the GG emulator is it should run master sytem games too
 
I cannot wait to see this so are they literally a compressed Rom and that's it have u tried running the sonic 2 extracted Rom in a pc emu or do they have some form of a custom header or something other than compression?

Same as scene dumps... only 4 bytes changed.... not sure what they do though.
 
It's interesting you said that GBA emulation is very poor, so what is the difference with the ambassadors 3ds? If the ambassadors inject GBA Roms, they can play it very well then?
 
It's interesting you said that GBA emulation is very poor, so what is the difference with the ambassadors 3ds? If the ambassadors inject GBA Roms, they can play it very well then?
yeah there is 2 different GBA emulation methods on the 3DS, this one was presumably a beta project that got scrapped which uses the same engine as the other VC games, but its not very good, the other is what the VC games use, if/when gateway fix GBA mode in emunand, it would probably be possible to play injected GBA roms on the same setup as the GBA ambassador games, from what i have read they are simply GBA roms injected into the .code section of the exefs, and the romfs section is left blank, this loads the game up in a different firmware mode called AGB_FIRM, similar to how DS games run in DS mode
 
  • Like
Reactions: Margen67
the RSF file is in the first extaction method the GBC VC method is limited to only really doing the BBB VC injected games, you will be wanting to extract a nes VC game anyway if you want to get the headers from the nes roms

yeah it is covered in the nes VC injection bit, you need to extract a nes VC game that has a rom that has the same header as the NES rom you intend to inject, so for example SMB3 and bart vs the world have the same NES carts specs as seen in the list that is liked in the OP, so you extract the SMB3 VC rom, open the VC version of SMB3 nes rom in a hex editor and copy the top line over the top line of the normal bart vs the world rom

thats cool, good thing about the GG emulator is it should run master sytem games too
Still failed.Still white screen.and I can't understand what you mean.
I do have found the same NES rom,for example SMB3 and bart vs the world,first move Bart vs the world.nes to creatrom.bat,named ABC,done. open SMB3.3DS in a hex editor ,copy the top line,paste it over the top line of ABC.3ds,but,it's not work.
 
did you get the SMB3 from the SMB3 VC....not just a random SMB3.nes off the internet

se that ones very easy as its right there in the OP, the nes header for bart vs the world would be

Code:
54 4E 45 53 10 20 40 00 00 00 00 00 00 00 00 00
 
I have to ask again: Is there an easy way to change the game's name? It still is named Pokemon Crystal after the successful injection. I have no AppData.txt file in the working directory.

Also is it possible to change the button configuration?
 
yes, edit gw.rsf but watchout what you change
You mean here:
BasicInfo:
Title : "Custom Title"
CompanyCode : "00"
ProductCode : "CTR-P-DERP"
ContentType : Application # Application / SystemUpdate / Manual / Child / Trial
Logo : Nintendo # Nintendo / Licensed / Distributed / iQue / iQueForSystem
That doesn't work. The game is still called Pokemon Crystal and not Custom Title.
 

Site & Scene News

Popular threads in this forum