Hacking 64Inject - Definitive N64 Wii U Virtual Console Injector

Status
Not open for further replies.

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
172
Trophies
0
XP
1,339
Country
Mexico
Version 1.8 of "64Inject" is the final version of independent development. "64Inject" was the base and is integrated into "Phacox's Injector", and its development continues within this.

Thanks to all who supported this thread.



Hello,

64Inject is a program that allows you to inject games into the Nintendo 64 virtual console of the Wii U. Focused on streamlining the testing of different combination of ROM, ".ini" configuration file and base game.

Download <-- 1.8

Features

- Two modes of use, graphic and by commands.
- Contextual help and two languages, English and Spanish.
- Virtual console configuration, easily disable the dark filter, aspect ratio and display scale of the game.
- Simplify the incorporation of the ".ini" configuration file for the game.
- Support for ROM formats *.z64, *.n64, *.v64 and *.u64
- Support images *.png, *.jpg and *.bmp
- The Title ID reflects if you have used the same combination of ROM, ".ini" configuration file and base game.
- Option to package the result (WUP Installer format) or leave it unpacked (Loadiine format).
- Define folders for your ROM collection, ".ini" configuration files and image gallery.
- Use packed Wii U virtual console games (files, title.cert, title.tik, title.tmd, "* .app" and "* .h3") or unpacked (folders, code, content and meta) as base.
- Multiple options through the command window, you can define each thing or simply an input folder and an output folder, or combine (see examples).


Have the Wii U common key (look it up on Google).
To pack or unpack in WUP format you must have Java installed.
You can get the "base" games with USBHelper or similar. I recommend F-Zero (USA) for being the last version they released.


Use in graphic mode
Main
In this section you only need to choose a ROM (it can be from any region, USA, EUR, JPN), put the name that will appear in the console menus and load a base (you can leave the one that is already loaded).
You can optionally change the Virtual Console settings:
- Disable the dark filter.
- Change the aspect ratio from 4:3 to 16:9 (this stretches the image if the ROM does not have a widescreen patch)
- Change the display scale of the game.
- Choose the configuration file that corresponds to the game you are going to inject (not all games have a configuration file and partly because of that they do not work in the virtual console). You can download all existing configuration files here.

main_en.png


Images
In this section you can modify the menu icon and the game presentation images.
You can load only the image of the title screen and it will be updated in all templates, select the year of launch of the game, the number of players it supports and if you want to show or hide the name you gave the game.

images_en.png


Packing
To enable the buttons, first choose a ROM, name the game and load a base.
By clicking on the "Pack" button you will have to select a folder where the game will be placed in WUP Installer format (files, title.cert, title.tik, title.tmd, "* .app" and "* .h3"). If you do not have Java installed or have not yet set the Wii U common key, it will result in a failed injection (technically the injection is performed, but the result cannot be packed).
By clicking on the "Not pack" button, you must select a folder where the game will be placed in Loadiine format (folders, code, content and meta).
Regardless of whether it fails or not, an injection will show the program log file.

packing_en.png


Settings
In this section you can enter the Wii U common key, this will allow you to pack and unpack games in WUP format.
You can change the language of the program and disable contextual help.
You can also choose the folders of your ROM, image and configuration files ".ini" collections.
- Choosing the ROM collection folder allows you to go directly to that folder when you click on the button to choose a ROM in the Main section.
- Choosing the configuration file collection folder allows you to go directly to that folder when you click on the button to choose a configuration file in the Main section.
- Choosing the image collection folder allows you to go directly to that folder when you click on the "Icon", "GamePad", "TV" buttons in the Images section.

settings_en.png
Use in command mode
Help comand:
Use: 64inject [-base folder_path] [-name short_name] [-longname name_line_1 name_line_2] [no-darkfilter] [widescreen] [-zoom value] [-in folder_path] [-rom file_path] [-ini file_path] [-icon file_path] [-tv file_path] [-drc file_path] [-out folder_path] [not-encrypt]
Or: 64inject help
Or: 64inject load-key common_key
Or: 64inject load-base folder_path
Or: 64inject create-image [-frame file_path] [-title file_path] [-name short_name|-longname name_line_1 name_line_2] [-r value] [-p value] [-out folder_path]
Or: 64inject create-icon [-frame file_path] [-title file_path] [-out folder_path]
Or: 64inject pack|unpack -in folder_path [-out folder_path]

Options:

help
Show this help message.

load-key common_key
The Wii U Common Key is required to pack and unpack NUS CONTENT.
load-base folder_path
Path to the N64 VC game that will be copied internally "base" where the ROM will be injected.

create-image
Indicates that must create an image for the boot screen.
create-icon
Indicates that must create an icon to represent a game.

pack
Indicates that the NUS CONTENT input will be encrypted.
unpack
Indicates that the NUS CONTENT input will be decrypted.

-base folder_path
Path to the N64 VC game where the ROM will be injected.
The process does not modify the N64 VC game since it creates an internal copy of the game "base", if not specified, the previous loaded base will be used.
-name short_name
A short game name to show.
If not specified, the name inside ROM will be used.
If the create-image option is present, it indicates the name of a single line that will be placed on the frame image.
-longname name_line_1 name_line_2
A long game name to show can be two lines.
If not specified, the short name will be used.
If the create-image option is present, it indicates the name of two lines that will be placed on the frame image.
no-darkfilter
Indicates that the dark filter should be removed from the layout.
If not specified, the dark filter will remain active.
widescreen
Indicates that the masking pillarbox must be removed from the layout.
If not specified, the masking pillarbox will remain active.
-zoom value
A value between 50 and 200 that represents the zoom percentage of the game image. If not specified, the value 100 will be used.
-in folder_path
Path where the "rom.z64", "vc.ini", "icon.png", "tv.png" and "drc.png" files are taken.
If the pack|unpack option is present it indicates the path to the NUS CONTENT.
-rom file_path
Path to the N64 game ROM.
If not specified, the "rom.z64" file will be searched in the "-in" folder.
-ini file_path
Path to the N64 VC INI file.
If not specified, the "vc.ini" file will be searched in the "-in" folder, if not found an empty INI file will be injected.
-icon file_path
Path to an image file to use as icon (*.png, *.jpg or *.bmp).
If not specified, the "icon.png" file will be searched in the "-in" folder, if not found a default image will be used.
-tv file_path
Path to an image file to use as boot tv (*.png, *.jpg or *.bmp).
If not specified, the "tv.png" file will be searched in the "-in" folder, if not found a default image will be used.
-drc file_path
Path to an image file to use as boot drc (*.png, *.jpg or *.bmp).
If not specified, the "drc.png" file will be searched in the "-in" folder, if not found the boot tv image will be used.
-out folder_path
Path where the result will be put.
If not specified, the root folder of 64Inject will be used.
not-encrypt
Indicates that the result should not be encrypted, by default is encrypted.

-title file_path
Path to the image of the title screen, which will be placed on the background by default. If not specified, a black box will be placed.
-frame file_path
Path to the frame image, which will be placed on the title screen.
If not specified, the background will be seen by default.
-r value
A value greater than or equal to 1996, that represents the launch year of the game, will be placed on the frame image.
-p value
A value between 1 and 4, that represents the number of players that the game supports, will be placed on the frame image.

Note:
If the paths or names contain spaces put them in quotes.
Examples:

First use

>64inject load-key XXXXXXXXXXXXXXXXXX

Load the Common Key to be able to decrypt and encrypt NUS content.

>64inject load-base "c:\path\to\n64 game [00050000XXXXXXXX]"

Load the game "n64 game [00050000XXXXXXXX]" as the base for the injections.

Simple injection

>64inject -name "Game Name" -rom "c:\path\to\some n64 rom.z64" -ini "c:\path\to\some n64 vc INI file.ini"

Change the ROM of the base game and put the specified INI file. Use the specified name. Encrypts the result.

Simpler injection

>64inject -name "Game Name" -in "c:\path\to\input folder"

Previously the "input folder" must contain the file "rom.z64" and optionally the files "vc.ini", "icon.png", "tv.png" and "drc.png". Encrypts the result.

Even simpler injection

>64inject -rom "c:\path\to\some n64 rom.z64"

Change the ROM of the base game and put an empty INI file. Use the internal name of the ROM. Encrypts the result.

Advanced injection

>64inject -base "c:\path\to\other n64 game [00050000XXXXXXXX]" -name "Game Name" -in "c:\path\to\input folder" -rom "c:\path\to\some n64 rom.z64" -icon "c:\path\to\some Image.jpg" -out "c:\path\to\output folder" not-encrypt

Load the game "other n64 game [00050000XXXXXXXX]" as a base. Use the indicated rom and icon (skip the search for the files "rom.z64" and "icon.png"), if the "input folder" contains the files "vc.ini", "tv.png" or "drc .png ", will use them for the injection. Put the result unencrypted in the folder "output folder".
Warning messages
Two warning messages are considered, when 64Inject is started.

One occurs when Java is not detected, which is necessary to run both NUSPacker and JNUSTool.

warning_java.png


The second occurs when NUSPacker or JNUSTool are not detected. 64Inject will work, although these tools are not present, but it will not be able to decipher or encrypt NUS content, if it is requested to decrypt an encrypted base game it will simply detect it as invalid, if it is requested to encrypt the result, it will perform the injection in the base game but it will not can complete the process by launching a failed injection message.

warning_nuspacker_jnustool.png

Changelog
1.8 FINAL (2019-12-02)
- Now set the names (short and long) as the title of all regions.
- Show more relevant information in the log file.
- Change the way to calculate the Title ID.
- Other corrections and minor changes.

1.7 (2019-10-15)
- Leave the beta phase.
- Includes VCN64Config Editor 1.1.
- Fixes an error that produced invalid injections if it did not go through the Images section before Packing section.
- Now load the log file every time the Packing section is loaded.
- Prevents errors when the VCN64Config Editor program is not available.
- Other corrections and minor changes.

1.6 beta (2019-10-11)
- Includes the Wii U N64 virtual console configuration file editor.
- Missing files to validate a base game are best indicated in the program log file (thanks piratesephiroth).

1.5 beta (2019-09-16)
- Redesigned graphical user interface.
- Contextual help and two languages, English and Español.
- It is no longer necessary to correctly load an ".ini" file to enable packing.
- Now identify all the base games correctly.
- Change the way the program settings are saved.

1.4 beta (2019-07-22)
- Usability improvements, the graphic mode saves the output folder. Now the common key is no case sensitive.
- When an injection error occurs, the user is instructed to find more information in the log file.
- Other minor fixes.

1.3 beta (2019-07-11)
- By default it creates a log file (both in CMD mode and in GUI mode) with the messages of the injection process of the command line.
- Minor corrections.

1.2 beta (2019-05-16)
- Changed the layout of some elements of the GUI form.
- Change the way to calculate the Title ID.
- Minor corrections and improvements in stability.

1.1.1 beta (2019-04-24)
- Fixes an error that prevented packing NUS content without a loaded base.

1.1 beta (2019-04-22)
- Change version of .Net Framework from 2.0 to 3.5.
- Fixes an error that caused the arguments not to be compiled correctly from the command line.
- Show more messages in the injection process on the command line to detect problems.

1.0 beta (2019-04-08)
- Initial release.
Disclaimer

The tools packaged with this application belong to their respective developers.

Credits

NUSPacker by timogus.

JNUSTool by Maschell.
 
Last edited by phacox_cll,
D

Deleted User

Guest
nice. it may be better than injectiine ill try it
 

SG854

Hail Mary
Member
Joined
Feb 17, 2017
Messages
5,215
Trophies
1
Location
N/A
XP
8,104
Country
Congo, Republic of the
Hello,

64Inject is a program that allows you to inject N64 games into the Wii U VC. Focused on streamlining the testing of different ROM combinations, configuration INI file and Wii U VC base game.

Download <-- 1.0 beta

Features

- Two modes of use, graphic and commands.
- Configure the dark filter, the aspect ratio and the scale of the game image.
- Support for ROM formats *.z64, *.n64, *.v64 and *.u64
- Simplifies the incorporation of the INI configuration file for the game.
- Image support * .png, * .jpg and * .bmp
- The Title ID reflects if you have used the same combination of ROM, INI and Wii U VC base game.
- Option to encrypt the result (WUPInstaller format) or leave it deciphered (Loadiine format).
- Define folders for your ROM collection, INI files and image gallery.
- Use encrypted or decrypted Wii U VC games as a base.
- Multiple options through the command window, you can define everything or just an input folder and an output folder, or combine (see the examples).

Use in graphic mode
The first time you open 64Inject go to the configuration tab, define the folders of your collections, enter the Wii U Common Key and select a N64 game from the Wii U VC that you previously have.

config.png


Once the base has been loaded correctly, go to the main tab.

Click on the respective button on the right and select the N64 ROM and the INI file.

Enter a name and if you want enter also a name of two lines.

Modify the game layout.

If you do not want to use the default images, change them with the respective buttons.

Choose if you want to pack (encrypt) or not the result.

Click on the inject button, select the output folder and wait for the process to be performed. The program will let you know if the injection was successful or if there was a problem.

main.png


It is only necessary to enter the Wii U Common Key once and it will be saved. It is necessary if you want to encrypt or decrypt NUS content.
Use in command mode
Help comand:
Use: 64inject [-base folder_path] [-name short_name] [-longname name_line_1 name_line_2] [no-darkfilter] [widescreen] [-zoom value] [-in folder_path] [-rom file_path] [-ini file_path] [-icon file_path] [-tv file_path] [-drc file_path] [-out folder_path] [not-encrypt]
Or: 64inject help
Or: 64inject load-key common_key
Or: 64inject load-base folder_path
Or: 64inject create-image [-frame file_path] [-title file_path] [-name short_name|-longname name_line_1 name_line_2] [-r value] [-p value] [-out folder_path]
Or: 64inject create-icon [-frame file_path] [-title file_path] [-out folder_path]
Or: 64inject pack|unpack -in folder_path [-out folder_path]

Options:

help
Show this help message.

load-key common_key
The Wii U Common Key is required to pack and unpack NUS CONTENT.
load-base folder_path
Path to the N64 VC game that will be copied internally "base" where the ROM will be injected.

create-image
Indicates that must create an image for the boot screen.
create-icon
Indicates that must create an icon to represent a game.

pack
Indicates that the NUS CONTENT input will be encrypted.
unpack
Indicates that the NUS CONTENT input will be decrypted.

-base folder_path
Path to the N64 VC game where the ROM will be injected.
The process does not modify the N64 VC game since it creates an internal copy of the game "base", if not specified, the previous loaded base will be used.
-name short_name
A short game name to show.
If not specified, the name inside ROM will be used.
If the create-image option is present, it indicates the name of a single line that will be placed on the frame image.
-longname name_line_1 name_line_2
A long game name to show can be two lines.
If not specified, the short name will be used.
If the create-image option is present, it indicates the name of two lines that will be placed on the frame image.
no-darkfilter
Indicates that the dark filter should be removed from the layout.
If not specified, the dark filter will remain active.
widescreen
Indicates that the masking pillarbox must be removed from the layout.
If not specified, the masking pillarbox will remain active.
-zoom value
A value between 50 and 200 that represents the zoom percentage of the game image. If not specified, the value 100 will be used.
-in folder_path
Path where the "rom.z64", "vc.ini", "icon.png", "tv.png" and "drc.png" files are taken.
If the pack|unpack option is present it indicates the path to the NUS CONTENT.
-rom file_path
Path to the N64 game ROM.
If not specified, the "rom.z64" file will be searched in the "-in" folder.
-ini file_path
Path to the N64 VC INI file.
If not specified, the "vc.ini" file will be searched in the "-in" folder, if not found an empty INI file will be injected.
-icon file_path
Path to an image file to use as icon (*.png, *.jpg or *.bmp).
If not specified, the "icon.png" file will be searched in the "-in" folder, if not found a default image will be used.
-tv file_path
Path to an image file to use as boot tv (*.png, *.jpg or *.bmp).
If not specified, the "tv.png" file will be searched in the "-in" folder, if not found a default image will be used.
-drc file_path
Path to an image file to use as boot drc (*.png, *.jpg or *.bmp).
If not specified, the "drc.png" file will be searched in the "-in" folder, if not found the boot tv image will be used.
-out folder_path
Path where the result will be put.
If not specified, the root folder of 64Inject will be used.
not-encrypt
Indicates that the result should not be encrypted, by default is encrypted.

-title file_path
Path to the image of the title screen, which will be placed on the background by default. If not specified, a black box will be placed.
-frame file_path
Path to the frame image, which will be placed on the title screen.
If not specified, the background will be seen by default.
-r value
A value greater than or equal to 1996, that represents the launch year of the game, will be placed on the frame image.
-p value
A value between 1 and 4, that represents the number of players that the game supports, will be placed on the frame image.

Note:
If the paths or names contain spaces put them in quotes.
Examples:

First use

>64inject load-key XXXXXXXXXXXXXXXXXX

Load the Common Key to be able to decrypt and encrypt NUS content.

>64inject load-base "c:\path\to\n64 game [00050000XXXXXXXX]"

Load the game "n64 game [00050000XXXXXXXX]" as the base for the injections.

Simple injection

>64inject -name "Game Name" -rom "c:\path\to\some n64 rom.z64" -ini "c:\path\to\some n64 vc INI file.ini"

Change the ROM of the base game and put the specified INI file. Use the specified name. Encrypts the result.

Simpler injection

>64inject -name "Game Name" -in "c:\path\to\input folder"

Previously the "input folder" must contain the file "rom.z64" and optionally the files "vc.ini", "icon.png", "tv.png" and "drc.png". Encrypts the result.

Even simpler injection

>64inject -rom "c:\path\to\some n64 rom.z64"

Change the ROM of the base game and put an empty INI file. Use the internal name of the ROM. Encrypts the result.

Advanced injection

>64inject -base "c:\path\to\other n64 game [00050000XXXXXXXX]" -name "Game Name" -in "c:\path\to\input folder" -rom "c:\path\to\some n64 rom.z64" -icon "c:\path\to\some Image.jpg" -out "c:\path\to\output folder" not-encrypt

Load the game "other n64 game [00050000XXXXXXXX]" as a base. Use the indicated rom and icon (skip the search for the files "rom.z64" and "icon.png"), if the "input folder" contains the files "vc.ini", "tv.png" or "drc .png ", will use them for the injection. Put the result unencrypted in the folder "output folder".
Warning messages
Two warning messages are considered, when 64Inject is started.

One occurs when Java is not detected, which is necessary to run both NUSPacker and JNUSTool.

warning_java.png


The second occurs when NUSPacker or JNUSTool are not detected. 64Inject will work, although these tools are not present, but it will not be able to decipher or encrypt NUS content, if it is requested to decrypt an encrypted base game it will simply detect it as invalid, if it is requested to encrypt the result, it will perform the injection in the base game but it will not can complete the process by launching a failed injection message.

warning_nuspacker_jnustool.png
Remember to never install a game on the NAND of the console since there is always the risk of a brick.

Disclaimer

The tools packaged with this application belong to their respective developers.

Credits

NUSPacker by timogus.

JNUSTool by Maschell.
Does this work with Ocarina of Time Ver. 1.0? I've been having problems with other injectors and only ver 1.2 works.
 
D

Deleted User

Guest
injected mario party 3. works great only the text is messed up but understandable but it is 99.99999999999999999999999 percent playable

it is easier for noobs to use it no stupid command prompts and ugly white letters with black backgrounds
 
Last edited by ,
D

Deleted User

Guest
Injectiine didn't work so well for me... maybe I'll have to try this instead. I've been itching to play Beetle Adventure Racing on SOMETHING.
this is a last resource tool. both usa and europe versions of that game work with wii64 RICE. only a few minor glitches for example the trees but it is perfect
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
172
Trophies
0
XP
1,339
Country
Mexico
I don't know what the problem is and how to get 1.0 to work. And I don't know why only 1.2 works.
I tried using the base game The Legend of Zelda Ocarina of Time (official), I matched the INI file of the game and only changed the rom for version 1.0 and it worked perfectly.
 

SG854

Hail Mary
Member
Joined
Feb 17, 2017
Messages
5,215
Trophies
1
Location
N/A
XP
8,104
Country
Congo, Republic of the
I tried using the base game The Legend of Zelda Ocarina of Time (official), I matched the INI file of the game and only changed the rom for version 1.0 and it worked perfectly.
Does the pause menu work? It glitches out on other injectors.
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
172
Trophies
0
XP
1,339
Country
Mexico
Does the pause menu work? It glitches out on other injectors.
The pause menu works, however the textures of the stage and Link (which are in the background) are glitched, the texture of the menu looks good but as soon as it starts a delivery I do not know if it all appears correctly, after removing the pause the textures of the show and Link return to normal.
 

SG854

Hail Mary
Member
Joined
Feb 17, 2017
Messages
5,215
Trophies
1
Location
N/A
XP
8,104
Country
Congo, Republic of the
The pause menu works, however the textures of the stage and Link (which are in the background) are glitched, the texture of the menu looks good but as soon as it starts a delivery I do not know if it all appears correctly, after removing the pause the textures of the show and Link return to normal.
Would you know how to fix the textures? I noticed the pause menu also takes a little longer to start up compared to 1.2. On 1.1 the game freezes during the opening navi part.
 

ArugulaZ

Well-Known Member
Member
Joined
Sep 17, 2009
Messages
677
Trophies
1
XP
1,111
Country
United States
this is a last resource tool. both usa and europe versions of that game work with wii64 RICE. only a few minor glitches for example the trees but it is perfect

I tried Wii64 with Rice on your recommendation. It ran Beetle Adventure Racing once, then crashed every time I tried to use it after that. Eh, pass.
 

CORE

3:16
Member
Joined
Jul 15, 2018
Messages
1,176
Trophies
1
XP
2,065
Country
United Kingdom
Cemu maybe the key to get games running by debugging and finding out what idle patches etc are required to make games boot atleast besides this info thx 4 new tool I stripped the Injectiine script and contents to n64 only with all base revisions which is why I never shared it but u can look at my blog for those but this tool looks great nice gui too:yayu:

*Zelda games including others have special patches applied to make them work*
https://gbatemp.net/blog/core.456945/
 
Last edited by CORE,

SuperDan

Im Aware ... Im Unaware
Member
Joined
Aug 17, 2016
Messages
3,478
Trophies
1
Location
Londoner , Living In Louisiana ...
XP
6,477
Country
United States
Oh very plush! I will be having a go at this .. ( when I get a day off .. One day...) I used WII64 & the forwarding channel ... I'm guessing I can go 16.9 . & it won't be dark... Like the old way .. I know this isn't able to do HD Textures packs.... But hopefully I can one day I got so used to them on Mario 64 & Zelda's . All the same Thank you
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
172
Trophies
0
XP
1,339
Country
Mexico
Would you know how to fix the textures? I noticed the pause menu also takes a little longer to start up compared to 1.2. On 1.1 the game freezes during the opening navi part.
To correct textures, debugging should deepen the game and make a patch.
The freezing in the introduction sequence of navi apparently is for the patches for version 1.2, I have simply omitted them and it has been fixed.
I have only managed to reduce the delay when starting the pause menu and make the background is simply black (I do not know if this has broken something else).
I leave a pastebin with the INI files that worked for me.
Version 1.0: https://pastebin.com/eGyVJ3US
Version 1.1: https://pastebin.com/X9dvEnyt
 
Last edited by phacox_cll,
  • Like
Reactions: CORE

JacobM

Well-Known Member
Member
Joined
Jun 16, 2017
Messages
242
Trophies
0
XP
595
Country
United States
Congrats on the release! This is an incredibly useful tool for the community and I'm sure it will help in INI experimentation/development to improve compatibility. Since you added aspect ratio modification, it would be awesome if there was an easy way to also incorporate rom patch files to take advantage of widescreen patches.

I posted a widescreen patch file for SSB in the dark filter discovery thread, and gamemasterplc on youtube has a good number of widescreen patches in his video descriptions.

I think it would be a good idea to cross-post the 64Inject thread to the dark filter thread as people were looking for a user friendly and easy to use tool towards the end of the thread.
 
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    LeoTCK @ LeoTCK: yes for nearly a month i was officially a wanted fugitive, until yesterday when it ended