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

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,958
Trophies
2
XP
30,547
Country
United Kingdom
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.
 

alexenochs

Well-Known Member
Member
Joined
Aug 30, 2010
Messages
467
Trophies
1
XP
881
Country
United States
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
 

Uiharu

Member
Newcomer
Joined
Sep 24, 2014
Messages
19
Trophies
0
Age
24
XP
81
Country
Switzerland
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!
 

Normmatt

Former AKAIO Programmer
Member
Joined
Dec 14, 2004
Messages
2,161
Trophies
1
Age
33
Website
normmatt.com
XP
2,233
Country
New Zealand
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.
 

alexenochs

Well-Known Member
Member
Joined
Aug 30, 2010
Messages
467
Trophies
1
XP
881
Country
United States
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?
 

gamesquest1

Nabnut
OP
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
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
 

Normmatt

Former AKAIO Programmer
Member
Joined
Dec 14, 2004
Messages
2,161
Trophies
1
Age
33
Website
normmatt.com
XP
2,233
Country
New Zealand
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.
 

eriol33

Well-Known Member
Member
Joined
Jan 2, 2014
Messages
1,250
Trophies
1
Location
Amsterdam
XP
3,279
Country
Netherlands
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?
 

gamesquest1

Nabnut
OP
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
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

Uiharu

Member
Newcomer
Joined
Sep 24, 2014
Messages
19
Trophies
0
Age
24
XP
81
Country
Switzerland
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.
 

gamesquest1

Nabnut
OP
Former Staff
Joined
Sep 23, 2013
Messages
15,153
Trophies
2
XP
12,247
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
 

SpaceJump

Well-Known Member
Member
Joined
Aug 18, 2005
Messages
3,866
Trophies
1
Location
Zebes
XP
3,320
Country
Germany
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?
 

SpaceJump

Well-Known Member
Member
Joined
Aug 18, 2005
Messages
3,866
Trophies
1
Location
Zebes
XP
3,320
Country
Germany
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

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: https://youtube.com/shorts/4FTASzSPThM?si=i8JRmmFkpcXXIT7o +1