ROM Hack [Release] Ultimate NES VC Injector for 3DS

Asdolo

the Hedgehog
OP
Member
Joined
Apr 29, 2016
Messages
587
Trophies
3
Age
28
Location
Buenos Aires
Website
twitter.com
XP
802
Country
Argentina
Current version: 1.2 (08-11-2016)

Hello everyone. Today I'm releasing a Windows tool that will make the NES injection process much easier and customizable. I'm introducing Ultimate NES VC Injector for 3DS.

What does it do?:
It takes a NES backup file and converts it to an installable CIA for your 3DS with CFW. It does all in a one single program.

Features:
  • VC NES injection into a CIA
  • Easy made custom 3D banner
  • Easy made custom text/footer banner
  • Easy made screen size/aspect ratio configuration
  • Easy made whole process!

Requeriments: Microsoft .NET framework 4.5

Tutorial:
You'll just follow the steps in program. But just in case:

Step 1:

Open the program. You'll see this screen:
mH7hLnL.png


Press Open NES File button. It'll prompt you to pick a .nes file.
LWXHWDA.png


For this tutorial I'll pick the game Battle City.

When you pick a rom you'll be able to go to Step 2 (icon and name).

Step 2:
This is the Step 2 main screen:
4jRMcUE.png


All the fields are explained in the info boxes, but let me know if something doesn't understand.

Complete the fields making the most legit as possible (if you want to). For example:
KZDxJ05.png


I used a title screen screenshot in it's original size as icon (the program will automatically stretch it).

When you complete all the fields you'll able to go to Step 3 (3d banner).

Step 3:
This is the Step 3 main screen:
T1lL2M2.png


Note: The program will load some default values (based on those in Step 2), but you can anyway replace these default values with ohter ones.
Example: if you want the icon and 3D banner to have different images, then first complete Step 2 with the icon image that you want and then complete Step 3 with the banner image that you want. Otherwise if you are too lazy or you want the same standard as legit VC CIA, leave it as is.

For this example, I'll let the same banner image as the icon one, but I'll edit the bottom banner, importing a custom one I made with GIMP (using the import and use custom footer image option):

1zwuZmP.png


You can also make your own text banner without leaving the application, as a quick and easy solution. You can change the font type, size, and brightness. Also there's a preview of that text banner (ignore the red borders, they won't be there in the console).

Doing my changes for this example:

ygxdczG.png


When you complete or modify all the fields you'll able to go to Step 4 (VC parameters).

Step 4:
This is the Step 4 main screen:
beltxSC.png

Yaaay! A lot of options!

Buttons layout:

  • Y = SELECT, X = B, L+R+Y = swap player1-player2
  • Y = nothing, X = VC menu
If the first one is checked, the VC will be able to controll player2 (swaping controllers, holding L+R+Y). Also, the Y button will acts as SELECT button, and X button will act as B button (perfect for Mario games)

If the second option is checked, there won't be any 2nd player control (holding L+R+Y will do nothing), and also, the X button will summon the VC touch menu.

I didn't do that button layouts, and I (you) can't customize as I (you) want, due to it's harcoded on the VC.

Disable dark filter: If this is checked, there won't be any ugly dark filter. You can preview the changes of this.

Game screen size:
It's just that, a screen size picker. You can preview the changes of this.

For this tutorial, I want full screen, dark filter disabled, and the first button layout.

oWQkZDG.png


Once we have everything ready, press Finish button.

That's it! The application will ask you where do you want to save the CIA file and It took some seconds to create it.
When the CIA is ready, the application will let you know it.

OargC6g.png


Then you can install the CIA in sdcard using any CIA manager (actually I use the new FBI).
(The tutorial's screenshot are from v1.0)

Console screenshots:
WqaPPf1.png
hT0S9sT.png
pohv7Q9.png
TODO, petitions, etc: For now I'll just read this thread and make changes acording to the best for all. The code will be released much later; I'm planing to do a series of VC injectors... If a new version comes, I'll post here and I'll edit the OP.

Download links:
v1.2: MEGA
v1.1: MEGA
v1.0: MEGA

Changelog:
v1.2:
* Fixed: Now the injections should be region-free (not tested).
* Fixed: Now the parental control won't be a trouble.
+ Added: Now you can choose 3 different types of 3D Banner, NES, Famicom and Famicom Disk System! (thanks to @cots)

Screenshot of Ice Climber inject with Famicom Disk System 3D banner:
1snWfN2.jpg



v1.1:

+ Added: more roms compatibility (still not even 99%)
+ Added: Game recognition. Most of official roms (non hacks/translated/HVC roms) now will be recognized and it'll auto-complete game name and publisher.
* More Stability™ (?)

v1.0: Initial release


Enjoy!

Is your ROM not working? Try this instead.
 
Last edited by Asdolo,

NicKFree

Well-Known Member
Newcomer
Joined
Mar 10, 2016
Messages
48
Trophies
0
Age
31
XP
70
Country
Cuba
Hey bud, great job! this is amazing, btw what font are you using on your bottom banner, the custom one in GIMP? Thanks :)
 

cots

Banned!
Banned
Joined
Dec 29, 2014
Messages
1,533
Trophies
0
XP
1,952
Country
United States
Well, it uses tnes.exe instead of figuring out all the values needed for the TNES header, so I think yours is more rom-compatible!

Possibly. Have you tried to increase your font DPI (for Windows itself) and tested the program? I have it set at 150% and it messes up the bottom greyscale banner upon injection. Other then that it works great as I just tested out TMNT2.
 
Last edited by cots,
  • Like
Reactions: Asdolo

Eduardolicious

Active Member
Newcomer
Joined
Oct 15, 2015
Messages
34
Trophies
0
Age
40
XP
71
Country
United States
going pretty great so far! the only roms ive had tell me Not Supported so far are Friday The 13th and Jaws, but i havent tried alternative roms yet

edit: also Mike Tyson's Punch Out and Pin-Bot
 
Last edited by Eduardolicious,

BOBdotEXE

Well-Known Member
Member
Joined
Mar 25, 2011
Messages
194
Trophies
0
Location
The Internet
XP
782
Country
United States
I seem to get an error when accessing '3dstool.exe'

************* Exception Text **************
System.UnauthorizedAccessException: Access to the path 'F:\temp\201608090046497723\3dstool.exe' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at Ultimate_NES_VC_Injector_for_3DS.frmMain.CreateBannerBinary(Bitmap bannerImage, Int32 interpolationIndex)
at Ultimate_NES_VC_Injector_for_3DS.frmMain.btnNextStep_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I thought it was my anti-virus, but I added an exception for the main program, and even tried disabling it, and rebooting.

I even tried running the program as admin.
 

Asdolo

the Hedgehog
OP
Member
Joined
Apr 29, 2016
Messages
587
Trophies
3
Age
28
Location
Buenos Aires
Website
twitter.com
XP
802
Country
Argentina
I seem to get an error when accessing '3dstool.exe'

************* Exception Text **************
System.UnauthorizedAccessException: Access to the path 'F:\temp\201608090046497723\3dstool.exe' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at Ultimate_NES_VC_Injector_for_3DS.frmMain.CreateBannerBinary(Bitmap bannerImage, Int32 interpolationIndex)
at Ultimate_NES_VC_Injector_for_3DS.frmMain.btnNextStep_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

I thought it was my anti-virus, but I added an exception for the main program, and even tried disabling it, and rebooting.

I even tried running the program as admin.

edit: nevermind, will look into this!
 
Last edited by Asdolo,

justinbug2

Well-Known Member
Member
Joined
Jun 9, 2015
Messages
570
Trophies
0
XP
804
Country
United States
YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS BOOTLEGS HERE I COME OMGGGGGGGGGGG U DA BEST PLS DO TURBOGRAPHIX NEXT
 

BOBdotEXE

Well-Known Member
Member
Joined
Mar 25, 2011
Messages
194
Trophies
0
Location
The Internet
XP
782
Country
United States
It seems that my application doesn't like where is your temp folder. Try opening as Adminstrator.
Already tried that, and it's pointing to the proper temp folder.
I temporally switched it back and got the same error:

************** Exception Text **************
System.UnauthorizedAccessException: Access to the path 'C:\Temp\201608090058030998\3dstool.exe' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at Ultimate_NES_VC_Injector_for_3DS.frmMain.CreateBannerBinary(Bitmap bannerImage, Int32 interpolationIndex)
at Ultimate_NES_VC_Injector_for_3DS.frmMain.btnNextStep_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
 
Last edited by BOBdotEXE,

Asdolo

the Hedgehog
OP
Member
Joined
Apr 29, 2016
Messages
587
Trophies
3
Age
28
Location
Buenos Aires
Website
twitter.com
XP
802
Country
Argentina
Already tried that, and it's pointing to the proper temp folder.
I temporally switched it back and got the same error:

[spoilers]
************** Exception Text **************
System.UnauthorizedAccessException: Access to the path 'C:\Temp\201608090058030998\3dstool.exe' is denied.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.InternalDelete(String path, Boolean checkHost)
at System.IO.File.Delete(String path)
at Ultimate_NES_VC_Injector_for_3DS.frmMain.CreateBannerBinary(Bitmap bannerImage, Int32 interpolationIndex)
at Ultimate_NES_VC_Injector_for_3DS.frmMain.btnNextStep_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

[/spoilers]

What's your Operative System (including architecture)
 

BOBdotEXE

Well-Known Member
Member
Joined
Mar 25, 2011
Messages
194
Trophies
0
Location
The Internet
XP
782
Country
United States
This is maybe stupid, but try launching the app as admin from your temp folder (F:/temp or C:/temp, whichever). I mean, extract the ZIP from the OP to the temp folder and launch it from there.
Just tried that, the main temp folder, and the one with 3dstool.exe
(it seems each time I run it, it gives me a new folder, and a new copy, I now have 14 copies :P)
PrdxfBr.png

I think this may just be an issue with my pc specifically.
 
General chit-chat
Help Users
    AliceCE @ AliceCE: