• Hey, guest user. Hope you're enjoying GameParadise! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Super Mario 64 DS VC patcher for improved controls (full analogue movement and camera rotation with right analogue stick)

 
 

admin

Chad
Staff member
85%
I found this on Discord and noted it wasn't being talked about here. Use it in conjunction with HIDtoVPAD's ability to remap the GamePad's controls and you can get the best functioning version of Mario 64 DS you can imagine. Like now that this exists, it might become my definitive way to play Mario 64.

Download the homebrew patcher in the Github here: https://github.com/LRFLEW/AM64DS_WiiU
PLEASE, make sure you read the info at the bottom of the page there, if you used Mario 64 DS to install Haxchi/CBHC, DO NOT use the homebrew patcher on your copy of Mario 64 DS, or you will brick.
All Credit for the patcher goes to @LRFLEW (if you see this, I hope you don't mind that I'm posting this topic for your program here, it's so great, and it seems a shame to limit it's reach to Discord).

The patcher gives the left stick full analogue control of Mario/the others, including naturally building up speed instead of having to hold the run button. Furthermore, it makes the right analogue stick rotate the camera left or right instead of having to touch the screen to move the camera, and removes the camera rotation images from the touch screen.

The controls of the VC game are otherwise the same after patching, but if you're like me, parts of how the DS VC games' buttons are mapped do not feel intuitive to Mario 64 DS, especially when compared to the original Mario 64, and unlike other VC menus on the Wii U, DS games do not offer a built-in button remapping feature. So if you download my included config file, and place it in \wiiu\controller on your SD card, launch HIDtoVPAD, hit + on the GamePad and you'll boot back to the Wii U menu with the controls remapped as such:

ZL registers as R, this let's ZL be your crouch/ground pound
ZR registers as L, this let's ZR pull the focus of the camera behind you
L registers as ZR, this let's the little used L be the button that brings up the DS VC menu
Y registers as A, this let's Y be another button to punch and dive, this feels much more true to Mario 64 than using A up to the right of B to punch and dive
R registers as Y, this let's R function as your run button. You no longer really need a run button since your analogue stick naturally makes you run as you push the stick harder, like in the original N64 experience. BUT, you can run in place with the run button to build up speed before moving, not needed for the game necessarily, but it's there if you want it.

The rest of the controls feel natural and stay as they were. I know you essentially have two A buttons, but I think many may still want to naturally hit the real A button for confirming things within the game and playing the minigames. And X still functions as your camera-mode change. You do lose anything mapping as ZL, but that's because ZL did nothing for DS VC games.

Feel free to edit the config file as you desire if any of those buttons aren't how you'd prefer to play the game. Give it all a go, I think this really makes it a definitive way to play not just Mario 64 DS, but perhaps even Mario 64 in general (depending on if you enjoy the additions to the title or not, I do, and you know before you start considering modded versions of the games, or things done with the decompiled build like Render96).

I'm not sure if there's a dedicated Discord, I spoke to LRFLEW on the For The Users Discord (Wii U & Switch homebrew dev) in the #wiiu channel.

Honestly I'm only barely able to follow the process myself, but I'll do my best:

First up, just for reference, is LRFLEW's USA Rev 1 widescreen code. I'm going to break it up into lines for what (I think) each one means.

Code:
01 00 00 00 // patch type: memory, length: 1 line
30 D0 00 02 //   first patch memory address: 0x0200D030
72 1C 00 00 //     new value: 0x1C72 = 16:9

01 00 00 80 // patch type: overlay, length: 1 line
3C B9 0B 02 //   second patch memory address: 0x020BB93C
55 15 00 00 //     old value: 0x1555 =  4:3
72 1C 00 00 //     new value: 0x1C72 = 16:9

01 00 00 80 // patch type: overlay, length: 1 line
90 C4 10 01 //   third patch memory address: 0x0110C490 <-- possible typo? starting at 01 seems odd, 02 intended?
55 15 00 00 //     old value: 0x1555 =  4:3
72 1C 00 00 //     new value: 0x1C72 = 16:9
EDIT: If I'm remembering correctly, the third widescreen code is for local multiplayer mode, so even if that code is wrong, it shouldn't matter on Wii U where we don't have access to multiplayer anyway. /EDIT

So there's three patches going on here, just like the cheat codes, but I personally don't know anything about overlays, etc. so I'm flying blind. Still, it's clear that what this does is pretty close to what the cheat code does, the addresses and values are largely the same. So, just blindly following the USA Rev 1 code even though I don't actually understand it, I think this is what you'd want to put in the Europe ROM:

Code:
01 00 00 00
3C D0 00 02
72 1C 00 00

01 00 00 80
5C 02 0C 02
55 15 00 00
72 1C 00 00

01 00 00 80
70 53 11 01
55 15 00 00
72 1C 00 00
Just in case it's simpler to copy, here's exactly the same values from the above code block but back in a single line:

Code:
01 00 00 00 3C D0 00 02 72 1C 00 00 01 00 00 80 5C 02 0C 02 55 15 00 00 72 1C 00 00 01 00 00 80 70 53 11 01 55 15 00 00 72 1C 00 00
The area where you're pasting that code will be all zeroes and you should over-write them, not insert them. As for whether it's at the same address, I really have no idea. To be certain, the easy way to do it is hit Ctrl+F in your hex editor of choice and look for "AMDS" (without the quotes), the signature LRFLEW's patcher leaves behind in the ROM. In USA Rev 1, this is what that looks like after you've pasted in the code (green highlight will be all zeroes before you have pasted the code):

wideflew.png



(If you're looking a little too closely, you might notice that I'm using 238E instead of 1C72--don't mind me, I'm just running at 20:9 widescreen instead.)

It should be pretty similar in the Europe ROM--if it's not at the same address, it'll be pretty close and you can use the "AMDS" text as a reference to know that you're in the right place.

Once you've got the patch written in and saved, you can zip up your ROM and upload it over the one that's stored on your Wii U with WiiUFtpServer. Don't forget you'll also need to modify your configuration_cafe.json to change the "upper" screen size to a 16:9 resolution, e.g. 1024 576 for a perfect 4x3x integer scale, or 1280 720 if you want to just fill the entire screen. If you go with 1024 576, you can also fit a 256 192 bottom screen on the TV at the same time, so the minimap is on the TV as well, like this:

kTDLIsGQytjvXtrLVuYgGPVI



After replacing the ROM, make sure to use the ZL button menu to reset the game, otherwise it will still be running in 4:3.
 

Attachments

  • Mario64DSRemapConfig.zip
    Mario64DSRemapConfig.zip
    242 bytes · Views: 15
 

Recent Content

Newest Downloads

Tutorials

Back
Top