Tutorial  Updated

How to create official looking Virtual Console Injects


Hello everyone, welcome to my tutorial on how to make accurate Virtual Console injections for the 3DS. This guide is a bit reading heavy, but it's actually rather simple in practice.

The first thing you must do is acknowledge that the actual Virtual Console emulators are not perfect and often are flawed with some particular games, and thus, even if you do everything correctly, there is a chance your game may not work anyway, or portions may not be emulated correctly. This is especially the case for Super Nintendo, Game Gear, and to a certain extent, the Game Boy Advance.​

Section I: What you need

To create official looking Virtual Console injects for the 3DS you will need several tools.
First of all, you will need the injector for the console you wish to create Virtual Console Injects for. All of these Injectors are by @Asdolo and are the only injection methods I will be supporting with this guide. These tools currently only support Windows platforms.​
Note: New Super Ultimate Injector for 3DS (the public beta) is still in active development and is currently not supported by this guide, but the process for making Injects is very similar for it and it is actually much better for making GBA Injects than the older GBA tool listed above. This guide will be updated sometime shortly after Asdolo makes the first stable release of the software.

Alternatively you may use any other injector you'd like. @cots currently has a series of great, more complicated injectors for NES, SNES, and GBA. However, because they're more complex, I will not be covering how to use these to keep in line with the n00b-friendly nature of this guide. Make sure if you have questions about those injectors specifically, to ask on their respective development threads, not here.

Next you will need some other stuff:
  • Some method of attaining screenshots of the games you wish to create injects for.
    Possible Solutions: Google Images, Emulators + ShareX.
  • Roms of the games you wish to inject. I can't help you with this, obtain them on your own from your own sources on the internet.
To start, simply open the injector for the console you wish to create something for and on page 1, feed it the rom you want to create an inject for, and then click "Next step" on the bottom right.

Vb50Sln.png

For demonstration purposes, I will be using the Game Gear with the game, Legend of Illusion Starring Mickey Mouse.

Section II: Icons and Names
Prerequisites.​
  • Screenshot of the title screen of the game you are going to be creating an inject for.
  • It is recommended that this screenshot be pixel perfect and in PNG format.
  • Basic Googling Skills.
  • A character counting tool.
The first thing to do is click the "Load Icon Image" button and import your screenshot, this will create the icon image.

Next, you should google the title of the game you are creating an inject for to find 2 pieces of information. You want to find it's exact title and publisher (not developer). The easiest way to do this is to google the exact title of the game.​

FVTJg.png

As you can see from the image above, the exact title, based on the description of the game is "Legend of Illusion Starring Mickey Mouse" and the publisher is "Sega". While it says "Sega" the actual information you would put it would be "SEGA" as this is the official name of the company.

Now that you have this information, it's a good idea to put the information into the boxes.
Here are some general guidelines for inputting this information that are based on the official virtual console titles.

Long Name:​
  • This field appears on the top screen in the bubble containing the name of the game on the present icon on the top screen before it's unwrapped, above the name of the publisher. It appears in the speech bubble above the icon on the 3DS home menu that appears only while the home menu icons are all the way zoomed in. It appears while the software is suspended in the home menu on the top screen, and lastly, it also appears when you click on the title in the data management menu.
  • The full title of the game goes in this box.
  • You are allowed 2 lines.
  • Each line is allowed to go up to 32 characters.
  • This means your full title should not exceed 64 characters. (technically the actual field allows up to 128, but this is not recommended, as it will cause some distorted, unprofessional appearance throughout the 3DS system.)
  • Place line breaks in long titles up at appropriate locations. Often times longer game titles have a main title and a sub-title. The point after the main title would be an appropriate breakpoint.
  • Some good examples of long names for games with long titles:
    The Legend of Zelda:
    Oracle of Ages
    Legend of Illusion
    Starring Mickey Mouse
    Dr. Robotnik's
    Mean Bean Machine
Short Name:
  • This field appears in the data management menu in the listing of games. It also is the title used for Title listings in FBI and JKSM.
  • A shortened version of the long name goes in this box, when it is necessary.
  • Titles that are less than 32 characters will be exactly the same as the Long Name field.
  • You are allowed only 1 line.
  • You are not to exceed 32 characters. (technically the field allows up to 64, however exceeding 32 causes odd wrapping in the data management section of the system settings. No official titles exceed 32 characters.)
  • Don't be lazy! Make your short name descriptive, you don't want multiple games using the same short name.
  • If you can't think of a good way to shorten the name, an adequate option would be to type the first 29 characters followed by an ellipsis. (an ellipsis is a series of 3 periods, or ... for those unaware.)
  • Some good examples of short names for games with long titles:
    Zelda: Ages
    Legend of Illusion
    Dr. Robotnik's MBM
Publisher:
  • This field appears on the top screen in the bubble containing the name of the game on the present icon on the top screen before it's unwrapped, beneath the long name of the title. It also appears in the speech bubble above the icon on the 3DS home menu that appears only while the home menu icons are all the way zoomed in.
  • This field contains the company that published the game originally.
  • Don't list the developer here accidentally! There's is a difference.
  • Sometimes Wikipedia lists the name of some companies such as SEGA incorrectly cased to appear more proper in text. Remember to use the correct casing that is consistent with official titles where possible.
GN082vm.png
Once you're satisfied, click "Next Step".​

Section III: Title Cards/Footers
tVEThkq.png

Prerequisites.​
Note: While @Asdolo's Ultimate Injector software does include options for generating these directly in the program, they're not entirely accurate to the official virtual console titles. If you are fine with that, feel free to skip the rest of this section entirely and just use the text box he provides with the fonts you downloaded above. Keep in mind that the reason we use GIMP/PhotoShop is that it provides a lot more customization to make it look more official, though.

To start, simply open the project template I provided above and edit away following these rules the best you can.
If you downloaded the PhotoShop template, read the Readme for how to use that template instead, though I think this stuff still applies in that template too, with little variance.

Suggested Rules for All Text:​
  • Font must be SCE-PS3 Rodin LATIN Bold.
  • Text must be center justified.
  • After you have the number of lines finalized, correctly center the text vertically using the top border of the text box.
  • These are only suggestions. Do whatever looks best, study official VC title cards of the type of console you are creating an inject for. Do what you must to attain the level of quality you want.
Suggested Rules for Game Name text:
  • Up to 2 lines of text are permitted. 1 line is preferred when possible within the rule set below.
  • Text size must be between 15px and 11px. Sizes below 13px work as well but look significantly worse, the smaller you get. If you need to get any smaller to crunch more text in, consider adding a second line if you haven't already, additionally you may adjust letter spacing to -1 on one of the lines to make everything fit, having 2 lines is preferred to having text crunch, in most cases.
Suggested Rules for Release Text:
  • GBA Games do not have this line at all, as the only officially released GBA games were part of the Nintendo 3DS Ambassador program and released before these apparent standards were in place.
  • This line refers to the year that the game was released ON the physical media the Virtual Console is emulating.
  • For games that haven't been released officially on physical media for the original console, like Rom Hacks or Unofficial Translations, input "Not Released." for this line.
  • The font must have letter spacing set to 1 for the entire line. (It must be set to 2 for text that reads "Not Released.")
  • Text size must be 14px or 13px. 13px tends to be used for games that have more than one line for the name.
  • If you're a real stickler for accuracy, you may need to adjust the spacing between the colon and year slightly, and possibly on the year itself, this is a trait inconsistent among official virtual console but I decided to mention it anyway since Xyllon brought it up to me on reddit.
lgPs6As.png

here are some examples of good footer images

Once you have something you think looks good, export it as a PNG file with GIMP and import it by ticking the "import and use custom footer image" box and feeding it the PNG you just made.​

WHlSNwT.png

Section IV: Options

RYHQuTD.png
How you handle these pages is up to you. Each injector has unique options for each console and as such, it's a good idea to figure out what you yourself like the most. This is all up to you.... unless you're doing a GBA game.

Section Q: GBA Games
KQJFv.png

First of all, if you're just here for the IPS patches, here: Pokemon & Super Mario Advance 4.

Before getting into the more complex patch options, there one extra patch called the sleep patch, which allows you to add a button combo to the game that puts the GBA game into sleep mode. Personally, I can't attest to it actually saving any power, but it does work and it does what it says it does. Some games will crash with it enabled, so use this at your own discretion.

Anyhow, GBA Games oftentimes will work fine without needing any patches at all. But, sometimes, they won't. And that's what this section is for.

Some games, when using the default settings will not save properly when injected, and return errors or crash when starting when you try to play them due to a saving problem. Here is a short, very incomplete list of games that do this:​

  • 2-in-1: Dr. Mario & Puzzle League (needs applied 3 times)
  • Crash Bandicoot 2: N-Tranced
  • Crash Bandicoot: The Huge Adventure
  • Crash Nitro Kart
  • Donkey Kong Country
  • Donkey Kong Country 3
  • Doom
  • Doom II
  • Dragon Ball Z: Supersonic Warriors
  • Grand Theft Auto Advance
  • Green Eggs and Ham
  • Ice Age 2: The Meltdown
  • Nicktoons: Freeze Frame Frenzy
  • Ninja Five-O
  • Rayman 3
  • Shrek: Hassle at the Castle
  • Spider Man
  • Spider Man 2
  • Spider Man 3
  • Spider Man Battle for New York
  • Spyro Season of Ice
  • Spyro Super Pack: Spyro: Season of Ice & Spyro 2: Season of Flame (needs applied 2? times)
  • Super Ghouls 'n Ghosts
  • Super Mario Advance
  • Super Mario Ball / Mario Pinball Land
  • Super Monkey Ball Jr.

These errors are most common for games that use EEPROM saving, so if your game's saving doesn't work and it detects as EEPROM, chances are, the SRAM patch will fix it for you. Additionally, some of these EEPROM games may appear to save properly but when you exit and restart them from the Home Menu the saves will no longer be present. It is important you check and make sure. Trial and Error is key.

These games will require you tick the "SRAM Patch" box and depending on the type of rom, enable multiple applications of this patch. In particular, multicarts tend to need multiple passes, like Dr. Mario & Puzzle League which needs 3 whole passes to have the whole game save properly. Again, Trial and Error is key.

Next we have games that absolutely need custom patches to save or work properly. Here is a list of games that you absolutely need these IPS patches for.
  • Pokemon Ruby
  • Pokemon Sapphire
  • Pokemon Emerald
  • Pokemon FireRed
  • Pokemon LeafGreen
  • Pokemon Mystery Dungeon: Red Rescue Team
  • Super Mario Advance 4: Super Mario Bros. 3
Currently, there are IPS patches available for the USA versions of all the Pokemon Games.
Simply tick the IPS patch box and pick these files on page 4 of the injector and your games should save properly.

Now, for Super Mario Advance 4. This game basically requires you grab the USA, Australia Rev1 copy of that rom. (That's how it's labeled in the No-Intro Collection.)

This is the patch for the rom.

After applying this in step 4 of the injection, the game will softlock when creating a save file, from there, just use Start+Select+A+B to reset the game, and then from there, play the game, only using 1 save file and don't use the Quick Save option in the pause menu. For World E there's no additional work needed, it works fine. The game will also complain of corruption on start up, which is normal, Unfortunately, there's not really any way around this yet. Sorry.

Section V: Completion!

Once you're satisfied, hit finish to export your rom. It'd be wise of you to include the product code and TitleID in the file name, just so you can replace it without creating a new title if you realize you messed something up. From there, pop the CIA on your SD card or a web server and install it with your favorite CIA installer and you're all set.​
pTeL3lk.png
And just like that, you have something that to the untrained eye, looks like it came right from the eShop itself. Enjoy your retro gaming, everyone. If you have any questions or concerns, feel free to voice them in the thread below. Hopefully this helped some of you out there.

Afterword.
I'd like to thank a few people, as this guide wouldn't be as fleshed out as it is without them:
@Asdolo for making these injectors and being an awesome dev
@Asia81 for making threads with guides for hex editing roms (which I've turned into IPS patches)
@AmeenX for some pokemon patches
@Tdam01 for some more pokemon patches
@yafeee for making the patch for Mystery Dungeon Red Rescue Team, which I ported to the USA version
 
Last edited by CheatFreak47, , Reason: change filetrip link to a GBAtemp Downloads link

CheatFreak47

Catgirl Expert
OP
Member
Joined
Oct 11, 2011
Messages
1,574
Trophies
2
Age
28
Location
Michigan, USA
XP
2,769
Country
United States
I've seen GBA virtual console games made already but how is it that the injector isn't released?
This guide is only for Asdolo's Injectors, and he has yet to complete all of them. There are other injectors as well, but at this time I'm only supporting his because they're the best. In the future, more injectors of this type will be made by him for GBA, TG16, and SNES.
 

ironmaster49

Well-Known Member
Member
Joined
Aug 9, 2015
Messages
764
Trophies
0
XP
254
Country
Can we package SNES games into a CIA file included with an emulator that can work on o3ds and 2ds? thanks. Will be cool to have snes vc on o3ds.
 

CheatFreak47

Catgirl Expert
OP
Member
Joined
Oct 11, 2011
Messages
1,574
Trophies
2
Age
28
Location
Michigan, USA
XP
2,769
Country
United States
Can we package SNES games into a CIA file included with an emulator that can work on o3ds and 2ds? thanks. Will be cool to have snes vc on o3ds.
You can't use the official VC emulator on old 3DS, it runs horribly slowly. If Asdolo includes support for BlargVC as an option for his injector when he makes it, maybe.
 

ironmaster49

Well-Known Member
Member
Joined
Aug 9, 2015
Messages
764
Trophies
0
XP
254
Country
You can't use the official VC emulator on old 3DS, it runs horribly slowly. If Asdolo includes support for BlargVC as an option for his injector when he makes it, maybe.
Yeah i meant blargvc emulator as in "an emulator" or retroarch maybe. It is a good idea to add in BlargVC as an option really.
 

CheatFreak47

Catgirl Expert
OP
Member
Joined
Oct 11, 2011
Messages
1,574
Trophies
2
Age
28
Location
Michigan, USA
XP
2,769
Country
United States
Yeah i meant blargvc emulator as in "an emulator" or retroarch maybe. It is a good idea to add in BlargVC as an option really.
I'm sure if you ask nicely, he will have a look at adding it as an option when he's looking into making his SNES injector. One thing I admire about him as a developer is how willing he is to make more options and features for his programs, something that a lot of other developers could learn from.

@Asdolo Keep up the awesome work over there, your injectors are legendary in terms of quality and maintenance.
Thanks. :)
 
  • Like
Reactions: CatmanFan

Asdolo

the Hedgehog
Member
Joined
Apr 29, 2016
Messages
600
Trophies
3
Age
30
Location
Buenos Aires
Website
twitter.com
XP
1,247
Country
Argentina
I just see this! Amazing guide @CheatFreak47 ! Better explained than my poor tutorial, but you catch all the details to the perfection!

I just want to say, I'm currently developing GBA injector

U1Zp8WQ.png



Ah, @CheatFreak47 : the last version of every injector has now the Short Title feature
 
Last edited by Asdolo,

CheatFreak47

Catgirl Expert
OP
Member
Joined
Oct 11, 2011
Messages
1,574
Trophies
2
Age
28
Location
Michigan, USA
XP
2,769
Country
United States
  • Like
Reactions: Seriel

Seriel

Doing her best
Member
Joined
Aug 18, 2015
Messages
3,297
Trophies
3
Age
24
Location
UK
XP
5,982
Country
United Kingdom
That's neat but I'm making this guide specifically for @Asdolo's injectors because they're a bit more noob friendly overall.

It never hurts to have options, maybe in the future I'll expand the guide for his injectors as well.
You could add a thing saying that this injector exists, but works differently?
Or just.. mention it in some way lol
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: roms wont boot with wood r4menu