Hacking WiiU VC game injection working on 5.3.2

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,217
Country
Canada
More text stuff :)



-> [Render]
This section of configuration file is related to graphic renderer.

- NeedPreParse = 0 or 1
Used by Pokémon Stadium. I guess it is parsing textures before reading them. I couldn't confirm.

- CopyDepthBuffer = 0 or 1
Used by Ocarina of Time. I don't know what this option does. Maybe is it related to FrameBuffer emulation?

- NeedTileSizeCheck = 0 or 1
Probably a strict verification of textures to avoid corrupted graphics? Used by Ocarina of Time.

- ZClip = 0 or 1
Possibly used to fix clipping issues with 3D maps. I cannot confirm. Used by Ocarina of Time.

- FlushMemEachTask = 0 or 1
Used by Biohazard 2. Forced memory flush seems logical, according to its name.

- bForce720P = 0 or 1
Used by Custom Robo V2. Forcing a render of 720P? I tried this option, but I haven't seen a difference.

- FirstFrameAt = ???? (1000) for Donkey Kong 64
First frame of what? I don't know what this option does.

- ConstValue? (Starts at 0) = 0x?????? (0x230040 and 0x2e00) in Mario Tennis
Constant value of something... but what?

- PolygonOffset = 0 or 1
Used by Paper Mario. I have no idea of what this option does.

- CalculateLOD = 0 or 1
Used by Super Mario 64. LOD... What is LOD?

- ForceFilterPoint = 0 or 1
Used by Mischief Maker. Force point filtering instead default bilinear filtering it seems. I haven't tested this yet.

- useViewportZScale = 0 or 1
Used by Wave Race. I don't know what this option does. Related to scaling?
 

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
30
Location
???
XP
11,248
Country
Germany
The most logic assumption here is that those are WiiU RAM addresses, dues to how high the HEX value is.
just so you know the "BreakBlockInst" addresses are in fact N64 ROM address, Inst is just the actual 32bit original value in that place, I assume to verify that the address is correct, the JmpPC according to IDA is the address that the "loop" (type 1 I assume?) would normally jump back to, I assume the emulator doesnt have that jump instruction implemented so its written in by hand, how its detected though I have no clue at all, I have no idea about MIPS ASM so its just observation on what it could be.
 
  • Like
Reactions: VinsCool

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,217
Country
Canada
just so you know the "BreakBlockInst" addresses are in fact N64 ROM address, Inst is just the actual 32bit original value in that place, I assume to verify that the address is correct, the JmpPC according to IDA is the address that the "loop" (type 1 I assume?) would normally jump back to, I assume the emulator doesnt have that jump instruction implemented so its written in by hand, how its detected though I have no clue at all, I have no idea about MIPS ASM so its just observation on what it could be.
Thanks for clarifications. I'm just an idiot that tries to understand stuuf I don't know :)
 

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
30
Location
???
XP
11,248
Country
Germany
Thanks for clarifications. I'm just an idiot that tries to understand stuuf I don't know :)
just some more speculation, both cases in mario kart 64 j 1.1 where the Inst values were equal, it also might be a forced repeat or even some sort of ingame hook for whatever operations get executed, because I see a "bne" (branch if not equal) quite often in the ROM and its only patched those 2 times.
 
  • Like
Reactions: VinsCool

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,217
Country
Canada
just some more speculation, both cases in mario kart 64 j 1.1 where the Inst values were equal, it also might be a forced repeat or even some sort of ingame hook for whatever operations get executed, because I see a "bne" (branch if not equal) quite often in the ROM and its only patched those 2 times.
And the same patch works with the US version too! :P

But... What does this mean exactly? For a noob like me?
 

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
30
Location
???
XP
11,248
Country
Germany
And the same patch works with the US version too! :P

But... What does this mean exactly? For a noob like me?
the mario kart 64 BreakBlockInst are not at the same place for the US version so I assume you mean the RomHack stuff which I have no idea what the hell that is supposed to be.
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,217
Country
Canada
the mario kart 64 BreakBlockInst are not at the same place for the US version so I assume you mean the RomHack stuff which I have no idea what the hell that is supposed to be.
No no, I swear I couldn't run the US version without the [BreakBlockInst]! :O

Just look at this. I saved this .ini file for being reused later:

;MarioKart US
[RomOption]
Rumble = 0

[BreakBlockInst]
Count = 2
Type0 = 1
Address0 = 0x8009ADFC
Inst0 = 0x24E70002
JmpPC0 = 0x8009ABD4
Type1 = 1
Address1 = 0x8009B18C
Inst1 = 0xA44EFFFE
JmpPC1 = 0x8009AF34


This is from the japanese version (which was the only completed .ini) There are .ini files for US and EUR, but they do not have the BreakBlockInst!

Even without the rom hack stuff, the US version works flawlessly! There should be something related to that

And if I attempt to run the rom without the BreakBlockInst, it blackscreens on boot, and do nothing.
 

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
30
Location
???
XP
11,248
Country
Germany
No no, I swear I couldn't run the US version without the [BreakBlockInst]! :O
you can probably use whatever for all the content then lol cause that makes no sense since the patches arent even close to that, also I am using the goodn64 Mario Kart 64 (U) [!] rom of course.
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,217
Country
Canada
you can probably use whatever for all the content then lol cause that makes no sense since the patches arent even close to that, also I am using the goodn64 Mario Kart 64 (U) [!] rom of course.
I don't understand why it works for me then lol.

Wow ok @FIX94 The game actually works without the breakblockinst :wtf:

I think it just doesn't work directly injected, since I had to alter Donkey Kong 64's .ini

My bad, I assumed something wrong here. :(

I such an idiot lol.
 
Last edited by VinsCool,

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
30
Location
???
XP
11,248
Country
Germany
for goldeneye, you said the jp version worked so I just ported the breakpoint stuff over to the us version, does this actually help that game?
Count = 1
Address0 = 0x7f0d020C
Inst0 = 0x24420004
JmpPC0= 0x7f0d0208
Type0 = 1
 
  • Like
Reactions: KiiWii and VinsCool

Reecey

Mario 64 (favorite game of all time)
Member
Joined
Mar 7, 2010
Messages
5,867
Trophies
2
Location
At Home :)
XP
4,460
Country
Just wanted to mention I have been playing The Dementium: The Ward and it is so much more better playing the game on the WiiU gamepad screen then the DS/3DS, its actually a very enjoyable game to play like this. I think the fact the original DS screens where so small to use with this game it took away the excitement of it, no more though! not tested No. 2 out yet.

Edit: cannot get the 2nd one to load at all, its just 2 white screens so that is a no go!, shame :( maybe someone else can test them as well to make sure I'm right. I have tried both versions E & U, none work for me.
 
Last edited by Reecey,
  • Like
Reactions: VinsCool

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,217
Country
Canada
vinscool does banjo tooie jap works with the jap ini?
no, I have no idea how to make this one working. (if you have thought about the banjo2 jap entry, well the gamecode of the ini file matches banjo kazooie jap)
for goldeneye, you said the jp version worked so I just ported the breakpoint stuff over to the us version, does this actually help that game?
Count = 1
Address0 = 0x7f0d020C
Inst0 = 0x24420004
JmpPC0= 0x7f0d0208
Type0 = 1
Will try asap I get home! thank you so much for taking your time for this! I was fearing to be stuck alone with this stuff I cannot understand. Damn I wish I could go back to school sooner!
 

pedro702

Well-Known Member
Member
Joined
Mar 3, 2014
Messages
12,722
Trophies
2
Age
33
XP
8,709
Country
Portugal
no, I have no idea how to make this one working. (if you have thought about the banjo2 jap entry, well the gamecode of the ini file matches banjo kazooie jap)

Will try asap I get home! thank you so much for taking your time for this! I was fearing to be stuck alone with this stuff I cannot understand. Damn I wish I could go back to school sooner!
so banjo2jap is the inif or the first banjo kazzoie? well that sucks but i guess banjo kazzoie jap atleast works :P
 

VinsCool

Persona Secretiva Felineus
Global Moderator
Joined
Jan 7, 2014
Messages
14,600
Trophies
4
Location
Another World
Website
www.gbatemp.net
XP
25,217
Country
Canada
so banjo2jap is the inif or the first banjo kazzoie? well that sucks but i guess banjo kazzoie jap atleast works :P
look at the game code.

the 4 letters after th U .ini is the gamecode of an n64 game.

banjo2 jap is infact banjo kazooie jap.
 

mariogamer

Well-Known Member
Member
Joined
Aug 12, 2015
Messages
1,256
Trophies
0
Age
28
XP
790
Country
Canada
More text stuff :)



-> [Render]
This section of configuration file is related to graphic renderer.

- NeedPreParse = 0 or 1
Used by Pokémon Stadium. I guess it is parsing textures before reading them. I couldn't confirm.

- CopyDepthBuffer = 0 or 1
Used by Ocarina of Time. I don't know what this option does. Maybe is it related to FrameBuffer emulation?

- NeedTileSizeCheck = 0 or 1
Probably a strict verification of textures to avoid corrupted graphics? Used by Ocarina of Time.

- ZClip = 0 or 1
Possibly used to fix clipping issues with 3D maps. I cannot confirm. Used by Ocarina of Time.

- FlushMemEachTask = 0 or 1
Used by Biohazard 2. Forced memory flush seems logical, according to its name.

- bForce720P = 0 or 1
Used by Custom Robo V2. Forcing a render of 720P? I tried this option, but I haven't seen a difference.

- FirstFrameAt = ???? (1000) for Donkey Kong 64
First frame of what? I don't know what this option does.

- ConstValue? (Starts at 0) = 0x?????? (0x230040 and 0x2e00) in Mario Tennis
Constant value of something... but what?

- PolygonOffset = 0 or 1
Used by Paper Mario. I have no idea of what this option does.

- CalculateLOD = 0 or 1
Used by Super Mario 64. LOD... What is LOD?

- ForceFilterPoint = 0 or 1
Used by Mischief Maker. Force point filtering instead default bilinear filtering it seems. I haven't tested this yet.

- useViewportZScale = 0 or 1
Used by Wave Race. I don't know what this option does. Related to scaling?

you realy write all that?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    Psionic Roshambo @ Psionic Roshambo: This parrot is no more it has ceased to be!