Hacking [RELEASE] Phacox's Injector (NES/SNES/N64/GBA/NDS for Wii U)

axlanian

New Member
Newbie
Joined
Feb 8, 2020
Messages
4
Trophies
0
Age
54
XP
50
Country
United States
Thanks for this, this is great!
How is the latest release coming along?
Is there a list of Nintendo 64 titles that are compatible with injection? It doesn't surpass this list, does it?

EDIT:
So I tried using this and attempted to follow all directions but somehow got stuck at the "The Base is Invalid" error.


I was having the "Base is Invalid" error, what you have to do is unpack the official VC files. I used Wii U USB Helper to download the official files, then you right click on them and say "Unpack". Keep all your unpacked folders in their own folder, and then you can use those as your bases.

--------------------- MERGED ---------------------------

@phacox_cll the issue I'm having is "Error Code: 199-9999". I've got my Wii U all set up so I can play anything from Wii U USB Helper, including the official N64 game files. But when I inject anything (no matter whether I'm changing the dark filter or widescreen settings or not), even if I'm just trying to inject Super Mario 64 into itself, everything works properly and the files pack up, I'm able to install them with WUP Installer, but as soon as I try to play them it gives me Error Code: 199-9999 on my Wii U. I always run Haxchi first, and I've tried running Mocha as well, but it doesn't make a difference. Again, everything will play except injected N64 games. Any idea what I'm doing wrong?


Phacox's Injector 1.0.9
2/8/2020 8:50:14 AM
Language to EN.
Players changed: None
TV preview updated.
GamePad preview updated.
Changed mode to Indeterminate.
GUI changed to default.
Menu icon preview updated.
TV preview updated.
GamePad preview updated.
Wii U Common Key files: Not found.
ROM format: N64
GUI changed to N64.
Menu icon preview updated.
TV preview updated.
GamePad preview updated.
Reading ROM...
ROM is valid.
Hash: F635
Title: Army Men Sarge
Product code: NAME
Loading N64 base...
The base is invalid.
System.Exception: Common Key Files error.
at PhacoxsInjector.NusContent.Decrypt(String inputPath, String filename, String outputFilename)
at PhacoxsInjector.WiiUInjector.GetAppFileName(String path)
at PhacoxsInjector.WiiUInjector.ValidateEncryptedBase(String path, String cvFileName)
at PhacoxsInjector.N64Injector.ValidateEncryptedBase(String path)
at PhacoxsInjector.WiiUInjector.LoadBase(String path)
at PhacoxsInjector.PhacoxsInjectorGUI.AskBase()
Could not load base.
Loading N64 base...
The base is valid.
Loaded base:Hash: BE3CEC5F, SVN: 2234 TIME: 2016/02/02 10:56:10
Title: Mario Party 2 (USA/EUR/JPN)
Reading N64 Config file...
N64 Config file is valid.
Hash: 59B2
Settings button clicked.
Injecting button clicked.
Show name enabled.
Use long name: Army Men: Sarge's Heroes
TV preview updated.
GamePad preview updated.
Images button clicked.
Settings button clicked.
Invalid Wii U Common Key: D7B00402659BA2ABD2CB0DB27FA2B656
Invalid Wii U Common Key:
Valid Wii U Common Key.
Injecting button clicked.
Settings button clicked.
Injecting button clicked.
Show name enabled.
Use long name: Army Men: Sarge's Heroes
TV preview updated.
GamePad preview updated.
Images button clicked.
Menu icon preview updated.
TV preview updated.
GamePad preview updated.
Title screen changed.
Keep menu icon: true
Menu icon preview updated.
Keep TV image: true
TV preview updated.
Keep GamePad image: true
GamePad preview updated.
Keep GamePad image: false
GamePad preview updated.
Keep TV image: false
TV preview updated.
Keep menu icon: false
Menu icon preview updated.
Players changed: 4
TV preview updated.
GamePad preview updated.
Release date enabled: 1999
TV preview updated.
GamePad preview updated.
Injecting button clicked.
Main button clicked.
Settings button clicked.
Injecting button clicked.
Show name enabled.
Use long name: Army Men: Sarge's Heroes
TV preview updated.
GamePad preview updated.
Images button clicked.
Main button clicked.
Show name enabled.
Use long name: Army Men: Sarge's Heroes
TV preview updated.
GamePad preview updated.
Images button clicked.
Injecting button clicked.
Inject encrypt: True
Short name: SargesHeroes
Long name: Army Men:
Sarge's Heroes
N64 darkFilter: False
N64 widescreen: False
N64 zoom: 100
Show name enabled.
Use long name: Army Men: Sarge's Heroes
TV preview updated.
GamePad preview updated.
Change menu icon.
Change TV image.
Change GamePad image.
Starting injection...
Injection success!
Show name enabled.
Use long name: Army Men: Sarge's Heroes
TV preview updated.
GamePad preview updated.
Images button clicked.
Main button clicked.
Injecting button clicked.
Inject encrypt: True
Short name: SargesHeroes
Long name: Army Men:
Sarge's HeroesWIDE
N64 darkFilter: False
N64 widescreen: True
N64 zoom: 100
Show name enabled.
Use long name: Army Men: Sarge's HeroesWIDE
TV preview updated.
GamePad preview updated.
Change menu icon.
Change TV image.
Change GamePad image.
Starting injection...
Injection success!
Main button clicked.
ROM format: N64
Players changed: None
TV preview updated.
GamePad preview updated.
GUI changed to N64.
Loaded base: Hash: BE3CEC5F, SVN: 2234 TIME: 2016/02/02 10:56:10
Title: Mario Party 2 (USA/EUR/JPN)
Menu icon preview updated.
TV preview updated.
GamePad preview updated.
Reading ROM...
ROM is valid.
Hash: C997
Title: ZELDA MAJORA'S MASK
Product code: NZSE
Loading N64 base...
The base is valid.
Loaded base:Hash: 71FC1731, SVN: 2190 TIME: 2016/01/05 04:50:14
Title: The Legend of Zelda: Majora's Mask (USA/EUR)
Show name enabled.
Use long name: The Legend of Zelda: Majora's Mask
TV preview updated.
GamePad preview updated.
Images button clicked.
Menu icon preview updated.
TV preview updated.
GamePad preview updated.
Title screen changed.
Release date changed: 2000
TV preview updated.
GamePad preview updated.
Release date validated: 2000
TV preview updated.
GamePad preview updated.
Players changed: 1
TV preview updated.
GamePad preview updated.
Injecting button clicked.
Show name enabled.
Use long name: The Legend of Zelda: Majora's Mask
TV preview updated.
GamePad preview updated.
Images button clicked.
Injecting button clicked.
Settings button clicked.
Main button clicked.
Show name enabled.
Use long name: The Legend of Zelda: Majora's Mask
TV preview updated.
GamePad preview updated.
Images button clicked.
Injecting button clicked.
Inject encrypt: True
Short name: Majora
Long name: The Legend of Zelda:
Majora's Mask
N64 darkFilter: False
N64 widescreen: True
N64 zoom: 100
Show name enabled.
Use long name: The Legend of Zelda: Majora's Mask
TV preview updated.
GamePad preview updated.
Change menu icon.
Change TV image.
Change GamePad image.
Starting injection...
Injection success!
Main button clicked.
Show name enabled.
Use long name: The Legend of Zelda: Majora's Mask
TV preview updated.
GamePad preview updated.
Images button clicked.
Main button clicked.
 
Last edited by axlanian,

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
172
Trophies
0
XP
1,339
Country
Mexico
Thanks for this, this is great!
How is the latest release coming along?
Is there a list of Nintendo 64 titles that are compatible with injection? It doesn't surpass this list, does it?

EDIT:
So I tried using this and attempted to follow all directions but somehow got stuck at the "The Base is Invalid" error.
Version 1.1 is almost ready (but do not expect many new features)...

This compatibility list is the same for all injector programs, however, it is not definitive since there are many combinations of base game + rom + configuration file, which have not been tested.

An invalid N64 base may be due to:
If the base game is in WUP Installer format
- The common key is missing.
- Does not contain the file "code\cos.xml".
- It does not contain the file "code\VESSEL.rpx".
If the base game is in format for Loadiine
- It does not have the "content \ config" folder or the "content\rom" folder.
- You do not have any of the following files:
- "code\app.xml".
- "code\cos.xml".
- "code\VESSEL.rpx".
- "content\BuildInfo.txt".
- "content\config.ini".
- "content\FrameLayout.arc".
- "meta\iconTex.tga".
- "meta\bootTvTex.tga".
- "meta\bootDrcTex.tga".
- "meta\meta.xml".

@phacox_cll the issue I'm having is "Error Code: 199-9999". I've got my Wii U all set up so I can play anything from Wii U USB Helper, including the official N64 game files. But when I inject anything (no matter whether I'm changing the dark filter or widescreen settings or not), even if I'm just trying to inject Super Mario 64 into itself, everything works properly and the files pack up, I'm able to install them with WUP Installer, but as soon as I try to play them it gives me Error Code: 199-9999 on my Wii U. I always run Haxchi first, and I've tried running Mocha as well, but it doesn't make a difference. Again, everything will play except injected N64 games. Any idea what I'm doing wrong?

You are performing the injections correctly. I don't know the reason why some consoles have the error code 199-9999 regardless of the CFW. But I know that some people have solved this by installing the games injected into the console memory, if they were installing it on an external disk or vice versa, if they were installing it in the console memory, they go on to install them in a external disk. You can also load games through Loadiine.

What is your case, in which memory are you installing them?
 
  • Like
Reactions: Zense

axlanian

New Member
Newbie
Joined
Feb 8, 2020
Messages
4
Trophies
0
Age
54
XP
50
Country
United States
I installed them to the NAND. I'll try them on the USB storage and see if that makes a difference then?
 

axlanian

New Member
Newbie
Joined
Feb 8, 2020
Messages
4
Trophies
0
Age
54
XP
50
Country
United States
@phacox_cll

HOLY CRAP THAT WORKED

So I get what was going on now. When my injects were working, I hadn't connected USB storage yet. Then after I connected USB storage, they all started bringing up Error 199-9999. So with USB storage attached, I just had to move them all from the NAND to the USB, and they now play perfectly, including some Widescreen patches! Thank you so much, I love your injector!
 
  • Like
Reactions: phacox_cll

Cloud9Skywalker

Pokémon Researcher
Member
Joined
Mar 26, 2015
Messages
280
Trophies
0
XP
501
Country
United States
Version 1.1 is almost ready (but do not expect many new features)...

This compatibility list is the same for all injector programs, however, it is not definitive since there are many combinations of base game + rom + configuration file, which have not been tested.

An invalid N64 base may be due to:
If the base game is in WUP Installer format
- The common key is missing.
- Does not contain the file "code\cos.xml".
- It does not contain the file "code\VESSEL.rpx".
If the base game is in format for Loadiine
- It does not have the "content \ config" folder or the "content\rom" folder.
- You do not have any of the following files:
- "code\app.xml".
- "code\cos.xml".
- "code\VESSEL.rpx".
- "content\BuildInfo.txt".
- "content\config.ini".
- "content\FrameLayout.arc".
- "meta\iconTex.tga".
- "meta\bootTvTex.tga".
- "meta\bootDrcTex.tga".
- "meta\meta.xml".

Thank-you for linking me to that, much appreciated. I'm sure it's useful in some ways.
These are pretty much the steps I took to use your injector.

- opened PhacoxsInjector
- checked Wii U common key, it now states "the common key was loaded correctly'
- clicked choose and selected my F-Zero X.n64 file
- added short name
- removed dark filter
- visited 'https://www.nintendo.com/games/detail/f-zero-x-wii-u/' and saved the eShop .png icon to use as my title screen image.
- included respective release date

I am unsure of what to do with the load base button and how to proceed. To install packages on my Wii U I use WUP Installer. I hope that helps. thanks!
 

axlanian

New Member
Newbie
Joined
Feb 8, 2020
Messages
4
Trophies
0
Age
54
XP
50
Country
United States
@Cloud9Skywalker download Wii U USB Helper and use that to download the official N64 VC files to your PC. Then when they're in your "downloaded" section, you right-click on them and select "unpack". The unpacked folder is what you select as a "base". To know which base games you need, there is a compatibility list in the GBAtemp wiki, but it won't let me post a link. Just search for "WiiU VC N64 Inject compatibility list"
 
  • Like
Reactions: phacox_cll

Cloud9Skywalker

Pokémon Researcher
Member
Joined
Mar 26, 2015
Messages
280
Trophies
0
XP
501
Country
United States
@axlanian , @phacox_cll

Thank-you for your help. I was able to use boot my backup, the WiiU VC N64 inject compatibility list helped a lot as a reference when injecting. Great release, thank-you.

Is the VC the best hope for accurate Nintendo 64 emulation? There are other methods to emulate 64 so just interesting to see development occur with the VC option instead of other emulation. Regardless, I hope you continue development, good luck.

--------------------- MERGED ---------------------------

You are performing the injections correctly. I don't know the reason why some consoles have the error code 199-9999 regardless of the CFW. But I know that some people have solved this by installing the games injected into the console memory, if they were installing it on an external disk or vice versa, if they were installing it in the console memory, they go on to install them in a external disk. You can also load games through Loadiine.

What is your case, in which memory are you installing them?

I just did my installation with WUP Installer GX2 after selecting the option 'do pack'. I installed my injected game into the external storage memory I have and it worked. I didn't receive this error. Everything good on my end.
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
172
Trophies
0
XP
1,339
Country
Mexico
Thank-you for your help. I was able to use boot my backup, the WiiU VC N64 inject compatibility list helped a lot as a reference when injecting. Great release, thank-you.

Is the VC the best hope for accurate Nintendo 64 emulation? There are other methods to emulate 64 so just interesting to see development occur with the VC option instead of other emulation. Regardless, I hope you continue development, good luck.

I just did my installation with WUP Installer GX2 after selecting the option 'do pack'. I installed my injected game into the external storage memory I have and it worked. I didn't receive this error. Everything good on my end.
The emulation of Nintendo 64 is a complicated issue, even the oldest PC emulators have some problems. Previously for GameCube, emu-kidid, Tehpola and sepp256 developers launched the mupen64gc emulator (based on PC mupen64), renamed cube64, later ported it to the Wii (not Wii U) under the name of Wii64.

From Wii64 several forks have emerged, such as Not64 from developer Extrems, or compilations of Wii64 from developer FIX94 designed to take advantage of some features of the Wii U. However, everything is Homedrew of the Wii, there is currently no Nintendo 64 emulator native of the Wii U more than the official Virtual Console, which is "closed" and it was designed just to make the games work well that the great N wanted and could publish, the fact that other ROMs work is a consequence of the fact that they have no requirements outside of what was thought for the Virtual Console.

Not64 and the FIX94 Wii64 compilations can be run on the vWii of the Wii U and you can unlock the vWii clock frequency (overclock) by means of sign_c2w_patcher to improve emulation. Search Google "vWii Homebrew Forwarder Wii64" (includes quotes) to find emulators ready to install via WUP Instaler GX2 (you will need to do some research, I can't leave direct links here).

Wii64 and Not64 compatibility list here.
 
  • Like
Reactions: Cloud9Skywalker

RazGAWD

Member
Newcomer
Joined
Feb 10, 2020
Messages
15
Trophies
0
Age
41
XP
62
Country
Canada
I havent used this tool but went through the first few pages to get a better sense of the material.

So my queation is then, do we use an existing legit copy of a DS game from the store and inject it? Does this imply a very limited number of DS titles you can inject?
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
172
Trophies
0
XP
1,339
Country
Mexico
I havent used this tool but went through the first few pages to get a better sense of the material.

So my queation is then, do we use an existing legit copy of a DS game from the store and inject it? Does this imply a very limited number of DS titles you can inject?
Injecting a ROM is basically replacing the legitimate game ROM with the ROM you want. Consequently, the limit of different (basic) injections of the NDS virtual console is the number of legitimate base game combinations per existing ROM files. I have identified 27 versions of the NDS virtual console and there are more than 2000 NDS ROMs, that is, to create more than 54,000 different (basic) injections, although many will not work due to game features that were not contemplated in the virtual console.

The main idea of the program is to make it easier for anyone to test if a ROM works, without restrictions other than those of each Wii U virtual console.
 

RazGAWD

Member
Newcomer
Joined
Feb 10, 2020
Messages
15
Trophies
0
Age
41
XP
62
Country
Canada
I think I get it.

I went ahead and tried a bunch of injections... all but gba and nes and fd.

N64 and DS work like a charm.

SNES? Not so much. But then I used whatever was present in Super Mario RPG to run it so I might need to do a bit of trial and error.

No Mega Man or All Stars games worked on it so I figure I need to dial it back and try a different rom.
 

RazGAWD

Member
Newcomer
Joined
Feb 10, 2020
Messages
15
Trophies
0
Age
41
XP
62
Country
Canada
So I ran into problems with SNES and I haven't been able to solve it.

Ive attempted injects over: Mario RPG and Diddy's Kong Quest

The titles I have used are Super Mario All Stars, Super Metroid, Mega Man Soccer (for good measure I had two hack games that shouldve worked I thought Mega Man and Bass with english patch and Mega Man X3 Zero Project.)

I used Short Name did not click on long name, both packed and unpacked. Im really at my wits endtrying to dis over what is going wrong.

The results are as follows: the game boots to a black screen on the Wii U or cycles over the virtual console boot logo of the title with the pleasant virtual console music in the background.
 

phacox_cll

Well-Known Member
OP
Member
Joined
Mar 30, 2019
Messages
172
Trophies
0
XP
1,339
Country
Mexico
So I ran into problems with SNES and I haven't been able to solve it.

Ive attempted injects over: Mario RPG and Diddy's Kong Quest

The titles I have used are Super Mario All Stars, Super Metroid, Mega Man Soccer (for good measure I had two hack games that shouldve worked I thought Mega Man and Bass with english patch and Mega Man X3 Zero Project.)

I used Short Name did not click on long name, both packed and unpacked. Im really at my wits endtrying to dis over what is going wrong.

The results are as follows: the game boots to a black screen on the Wii U or cycles over the virtual console boot logo of the title with the pleasant virtual console music in the background.
The problems reported with the typical when a base game is not suitable for the ROM you want to inject.
For Mega Man Soccer use as a base game Pac-Man 2: The New adventures (USA).
For Mega Man and Bass use Kai: Tsukikomori (晦 - つ き こ も り) (JPN) as the base game.
For Super Mario All Stars, use Kirby's Dream Land 3 (US) as a base game.
Apparently, Mega Man X3 Zero Project is not compatible with any base.
Super Mario RPG: Legend of the Seven Stars, Donkey Kong Country 2: Diddy's Kong Quest and Super Metroid officially launched for the virtual console.
Here is a list of SNES compatibility.
 

RazGAWD

Member
Newcomer
Joined
Feb 10, 2020
Messages
15
Trophies
0
Age
41
XP
62
Country
Canada
The problems reported with the typical when a base game is not suitable for the ROM you want to inject.
For Mega Man Soccer use as a base game Pac-Man 2: The New adventures (USA).
For Mega Man and Bass use Kai: Tsukikomori (晦 - つ き こ も り) (JPN) as the base game.
For Super Mario All Stars, use Kirby's Dream Land 3 (US) as a base game.
Apparently, Mega Man X3 Zero Project is not compatible with any base.
Super Mario RPG: Legend of the Seven Stars, Donkey Kong Country 2: Diddy's Kong Quest and Super Metroid officially launched for the virtual console.
Here is a list of SNES compatibility.


Thank you very much!
 

Cloud9Skywalker

Pokémon Researcher
Member
Joined
Mar 26, 2015
Messages
280
Trophies
0
XP
501
Country
United States
Is it possible to edit an .ini file in a way where the screen ratio completely meets the edges vertically? Horizontally it's fine, I don't want to stretch the image and I know these games are not 16:9. But vertically, some of the games meet the edges completely and some don't so I am unsure if it's because the games boot natively. So, just curious if it's an .ini thing that needs to be set.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Psionic Roshambo @ Psionic Roshambo: https://www.tomshardware.com/pc-components/liquid-cooling/intel-and-exxonmobil-working-on-advance...