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

emcintosh

On the internet, everyone knows I'm a cat
Member
Joined
Dec 4, 2016
Messages
434
Trophies
0
XP
2,293
Country
United Kingdom
So, how do I do this exactly, a lot of the instructions were extremely confusing and I don't know what tools I need
Analog patch:
eShop (Wii U) or Wii U USB Helper (PC) + WUP Installer (Wii U homebrew, so you also need Custom Firmware (CFW) e.g. Haxchi, and the Homebrew Launcher) to install Mario 64 DS, preferably onto a USB hard disk so there's less chance of damaging system files on the internal memory (NAND).
The patcher in the first post (Wii U homebrew, so needs CFW).
(CFW to launch the modified game)

Widescreen patch:
WiiUFTPServer (Wii U homebrew, so needs CFW) plus an FTP client (PC) e.g. FileZilla for downloading and re-uploading the files.
A hex editor e.g. HxD

I tried this widescreen patch, but it doesn't work. The image is just stretched.
We need two things to happen to show the game in widescreen:
-The hex edit to the ROM, which tells the game to squash a wider field of view (e.g. 33% extra for 16:9 widescreen) into the 256x192 screen (which on its own would make the picture look squashed horizontally or stretched vertically)
-Editing how that 256x192 image gets magnified to fill the 1280x720 ('720p') TV picture, using the configuration_cafe file. We need to magnify the horizontal axis by a larger number than the vertical axis to stretch the things in the picture back to the right proportions

Have you edited both things?
 

Vague Rant

Deceptively cute
Member
Joined
Aug 7, 2008
Messages
2,462
Trophies
2
Location
Melbourne
Website
vaguerant.tumblr.com
XP
3,278
Country
So, how do I do this exactly, a lot of the instructions were extremely confusing and I don't know what tools I need

I tried this widescreen patch, but it doesn't work. The image is just stretched.

Will try to put together a more granular, step-by-step process. This guide will specifically assume you have the USA version, because that's what I have and I've already offered as much as I can for the Europe release.

Requirements​

Installed to your Wii U​

  • official Super Mario 64 DS (USA) Virtual Console release
    it doesn't need to be legitimately purchased, but it cannot be an injection​
  • some manner of CFW
    Mocha, Haxchi, Tiramisu, whatever floats your boat​

Added to wiiu/apps on your SD card​

Installed on your PC​

  • an FTP client
    FileZilla is a popular choice​
  • a text editor
    Notepad is fine, but if you do a lot of technical editing like this you may want to consider something like Notepad++
  • a hex editor
    Maël Hörz's HxD is a popular choice on Windows and the one I normally use​

Directions​

  1. Set up all the requirements. Have Super Mario 64 DS installed on your Wii U, download the patcher and FTP server above and place them on your Wii U's SD card in the wiiu/apps folder with your other Wii U homebrew apps. Have your Wii U running a custom firmware. Make sure you have an FTP client and a hex editor on your PC.
  2. Open the Homebrew Launcher on your Wii U and run LRFLEW's AM64DS patcher. Once it has scanned your system and found Super Mario 64 DS, confirm that you want to apply the patch.
  3. Return to the Homebrew Launcher and run Laf111's WiiUFtpServer.
  4. In your PC's FTP client, connect to the Wii U and navigate to storage_usb/usr/title/00050000/101C3400/content/0010
    Remember, this is for the USA release. For Japan, it's 101C3300 and Europe is 101C3500, but I'm not going to be covering those versions any further. Leave your FTP client running, you'll need it again soon.​
  5. Download configuration_cafe.json and rom.zip.
  6. Using your text editor of choice, open configuration_cafe.json and manually edit the layout to accommodate your top screen being 16:9 instead of 4:3. This is kind of complicated and will require you to do some math. For reference, here's the layout I use:
    Code:
                        "name_string_id": "VCM_LAYOUT_1_NAME"
                    },
                    {
                        "screen": [
                            {
                                "source": "upper",
                                "rotation": 0,
                                "size": "1024 576",
                                "target": "tv",
                                "position": "0 72"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "256 192",
                                "target": "tv",
                                "position": "1024 456"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "512 384",
                                "target": "drc",
                                "position": "171 48"
                            }
                        ],
    Result:

    View attachment 291542

    The layout you use is up to you. You may not want this specific layout, and you may not want to do it in LAYOUT_1 either. Modify the "size" and "position" values for each screen until you have what you want in the layout position you want. The "size" is how big the screen should be, the "target" is whether it's on the TV or GamePad, and the "position" is where on the screen you want the top left of the DS screen to be. The resolution of DS Virtual Console is 1280 by 720, so that's as high as you should go.

    I'm not going to walk you through every possible layout, but here's another one some people might want:​
    Code:
                        "name_string_id": "VCM_LAYOUT_1_NAME"
                    },
                    {
                        "screen": [
                            {
                                "source": "upper",
                                "rotation": 0,
                                "size": "1280 720",
                                "target": "tv",
                                "position": "0 0"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "640 480",
                                "target": "drc",
                                "position": "107 0"
                            }
                        ],
    Result:

    sBKnzsRSLpdLzSMqWjXHpKHP


    This one fills the entire TV with the top screen and a 4:3 area of the GamePad with the bottom screen. You have multiple layouts, so you can configure both of these in different layout slots if you like.​
  7. Open rom.zip and copy WUP-N-DASE.srl out of the zip and into the parent folder (where your configuration_cafe.json and rom.zip are).
  8. Open WUP-N-DASE.srl with your hex editor. In case you couldn't tell, this is the Super Mario 64 DS ROM.
  9. Navigate to 0x6664 in the ROM. In HxD, you can just press Ctrl+G and type in 6664 then hit Enter to jump to this location. Write the following data into that location:
    Code:
    01 00 00 00 30 D0 00 02 72 1C 00 00 01 00 00 80 3C B9 0B 02 55 15 00 00 72 1C 00 00 01 00 00 80 90 C4 10 01 55 15 00 00 72 1C 00 00
    In HxD, you can press Ctrl+B (not V! or right click and select "Paste write" to overwrite this data. You must not "insert" the data (paste normally) or your ROM will just completely stop working. It should look roughly like this when you're done:

    View attachment 291542
  10. Save your modified ROM and then copy it back into rom.zip, replacing the old one.
  11. Back in your FTP client, upload your modified configuration_cafe.json and rom.zip back to where you downloaded them from (storage_usb/usr/title/00050000/101C3400/content/0010). Again, replace the versions that are already there.
  12. Return to the Wii U Menu by exiting WiiUFtpServer and the Homebrew Launcher.
  13. Launch your Super Mario 64 DS Virtual Console title. Reset the game from the ZR menu and select one of your custom widescreen layouts.
  14. Play Super Mario 64 DS with analog controls in widescreen.
 
Last edited by Vague Rant,

GammaPhonic

Active Member
Newcomer
Joined
May 13, 2021
Messages
32
Trophies
0
XP
751
Country
United Kingdom
This is amazing. This might now be my preferred way to play Mario 64. My only wish, is some way to do the “save and continue” option after each level without having to go to the touch screen.
 

Will331999

New Member
Newbie
Joined
Jan 11, 2022
Messages
2
Trophies
0
Age
25
XP
32
Country
United States
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.
Does this apply to JUST the haxchi SM64DS or does it apply to EVERY sm64ds on the wiiu? Cuz i got a new SM64DS post haxchi and i'm curious if that should work
 

Will331999

New Member
Newbie
Joined
Jan 11, 2022
Messages
2
Trophies
0
Age
25
XP
32
Country
United States
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.
Does this apply to JUST the haxchi SM64DS or does it apply to EVERY sm64ds on the wiiu? Cuz i got a new SM64DS post haxchi and i'm curious if that should work


Edit: Made two posts on accident: embarrassing.
 

MikaDubbz

Well-Known Member
OP
Member
Joined
Dec 12, 2017
Messages
3,836
Trophies
1
Age
36
XP
7,149
Country
United States
Does this apply to JUST the haxchi SM64DS or does it apply to EVERY sm64ds on the wiiu? Cuz i got a new SM64DS post haxchi and i'm curious if that should work
Just the haxchi SM64DS, and if you switched over to Tiramisu, then there is nothing to worry about with using the patcher.
 

andot

Well-Known Member
Newcomer
Joined
Apr 11, 2017
Messages
57
Trophies
0
Age
43
XP
533
Country
Switzerland
Will try to put together a more granular, step-by-step process. This guide will specifically assume you have the USA version, because that's what I have and I've already offered as much as I can for the Europe release.

Requirements​

Installed to your Wii U​

  • official Super Mario 64 DS (USA) Virtual Console release
    it doesn't need to be legitimately purchased, but it cannot be an injection​
  • some manner of CFW
    Mocha, Haxchi, Tiramisu, whatever floats your boat​

Added to wiiu/apps on your SD card​

Installed on your PC​

  • an FTP client
    FileZilla is a popular choice​
  • a text editor
    Notepad is fine, but if you do a lot of technical editing like this you may want to consider something like Notepad++
  • a hex editor
    Maël Hörz's HxD is a popular choice on Windows and the one I normally use​

Directions​

  1. Set up all the requirements. Have Super Mario 64 DS installed on your Wii U, download the patcher and FTP server above and place them on your Wii U's SD card in the wiiu/apps folder with your other Wii U homebrew apps. Have your Wii U running a custom firmware. Make sure you have an FTP client and a hex editor on your PC.
  2. Open the Homebrew Launcher on your Wii U and run LRFLEW's AM64DS patcher. Once it has scanned your system and found Super Mario 64 DS, confirm that you want to apply the patch.
  3. Return to the Homebrew Launcher and run Laf111's WiiUFtpServer.
  4. In your PC's FTP client, connect to the Wii U and navigate to storage_usb/usr/title/00050000/101C3400/content/0010
    Remember, this is for the USA release. For Japan, it's 101C3300 and Europe is 101C3500, but I'm not going to be covering those versions any further. Leave your FTP client running, you'll need it again soon.​
  5. Download configuration_cafe.json and rom.zip.
  6. Using your text editor of choice, open configuration_cafe.json and manually edit the layout to accommodate your top screen being 16:9 instead of 4:3. This is kind of complicated and will require you to do some math. For reference, here's the layout I use:
    Code:
                        "name_string_id": "VCM_LAYOUT_1_NAME"
                    },
                    {
                        "screen": [
                            {
                                "source": "upper",
                                "rotation": 0,
                                "size": "1024 576",
                                "target": "tv",
                                "position": "0 72"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "256 192",
                                "target": "tv",
                                "position": "1024 456"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "512 384",
                                "target": "drc",
                                "position": "171 48"
                            }
                        ],
    Result:

    View attachment 291542

    The layout you use is up to you. You may not want this specific layout, and you may not want to do it in LAYOUT_1 either. Modify the "size" and "position" values for each screen until you have what you want in the layout position you want. The "size" is how big the screen should be, the "target" is whether it's on the TV or GamePad, and the "position" is where on the screen you want the top left of the DS screen to be. The resolution of DS Virtual Console is 1280 by 720, so that's as high as you should go.

    I'm not going to walk you through every possible layout, but here's another one some people might want:​
    Code:
     "name_string_id": "VCM_LAYOUT_1_NAME"
                    },
                    {
                        "screen": [
                            {
                                "source": "upper",
                                "rotation": 0,
                                "size": "1280 720",
                                "target": "tv",
                                "position": "0 0"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "640 480",
                                "target": "drc",
                                "position": "107 0"
                            }
                        ],
    Result:

    sBKnzsRSLpdLzSMqWjXHpKHP


    This one fills the entire TV with the top screen and a 4:3 area of the GamePad with the bottom screen. You have multiple layouts, so you can configure both of these in different layout slots if you like.​
  7. Open rom.zip and copy WUP-N-DASE.srl out of the zip and into the parent folder (where your configuration_cafe.json and rom.zip are).
  8. Open WUP-N-DASE.srl with your hex editor. In case you couldn't tell, this is the Super Mario 64 DS ROM.
  9. Navigate to 0x6644 in the ROM. In HxD, you can just press Ctrl+G and type in 6644 then hit Enter to jump to this location. Write the following data into that location:
    Code:
    01 00 00 00 30 D0 00 02 72 1C 00 00 01 00 00 80 3C B9 0B 02 55 15 00 00 72 1C 00 00 01 00 00 80 90 C4 10 01 55 15 00 00 72 1C 00 00
    In HxD, you can press Ctrl+B (not V! or right click and select "Paste write" to overwrite this data. You must not "insert" the data (paste normally) or your ROM will just completely stop working. It should look roughly like this when you're done:

    View attachment 291542
  10. Save your modified ROM and then copy it back into rom.zip, replacing the old one.
  11. Back in your FTP client, upload your modified configuration_cafe.json and rom.zip back to where you downloaded them from (storage_usb/usr/title/00050000/101C3400/content/0010). Again, replace the versions that are already there.
  12. Return to the Wii U Menu by exiting WiiUFtpServer and the Homebrew Launcher.
  13. Launch your Super Mario 64 DS Virtual Console title. Reset the game from the ZR menu and select one of your custom widescreen layouts.
  14. Play Super Mario 64 DS with analog controls in widescreen.
Thank you! It works very well.

before patched:
微信图片_20220112093530.jpg


after patched:
微信图片_20220112093526.jpg


patch:
微信截图_20220112093008.png
 

andot

Well-Known Member
Newcomer
Joined
Apr 11, 2017
Messages
57
Trophies
0
Age
43
XP
533
Country
Switzerland
This is amazing. This might now be my preferred way to play Mario 64. My only wish, is some way to do the “save and continue” option after each level without having to go to the touch screen.
L+R+Select+Start can start game without touchscreen. It also works on Shenyou Maliou DS (iQue) Chinese version. but the analog stick patch and this widescreen patch can't work on Shenyou Maliou DS.
 

Gallaer

Well-Known Member
Member
Joined
Apr 28, 2021
Messages
157
Trophies
0
XP
1,032
Country
United States
Will try to put together a more granular, step-by-step process. This guide will specifically assume you have the USA version, because that's what I have and I've already offered as much as I can for the Europe release.

Requirements​

Installed to your Wii U​

  • official Super Mario 64 DS (USA) Virtual Console release
    it doesn't need to be legitimately purchased, but it cannot be an injection​
  • some manner of CFW
    Mocha, Haxchi, Tiramisu, whatever floats your boat​

Added to wiiu/apps on your SD card​

Installed on your PC​

  • an FTP client
    FileZilla is a popular choice​
  • a text editor
    Notepad is fine, but if you do a lot of technical editing like this you may want to consider something like Notepad++
  • a hex editor
    Maël Hörz's HxD is a popular choice on Windows and the one I normally use​

Directions​

  1. Set up all the requirements. Have Super Mario 64 DS installed on your Wii U, download the patcher and FTP server above and place them on your Wii U's SD card in the wiiu/apps folder with your other Wii U homebrew apps. Have your Wii U running a custom firmware. Make sure you have an FTP client and a hex editor on your PC.
  2. Open the Homebrew Launcher on your Wii U and run LRFLEW's AM64DS patcher. Once it has scanned your system and found Super Mario 64 DS, confirm that you want to apply the patch.
  3. Return to the Homebrew Launcher and run Laf111's WiiUFtpServer.
  4. In your PC's FTP client, connect to the Wii U and navigate to storage_usb/usr/title/00050000/101C3400/content/0010
    Remember, this is for the USA release. For Japan, it's 101C3300 and Europe is 101C3500, but I'm not going to be covering those versions any further. Leave your FTP client running, you'll need it again soon.​
  5. Download configuration_cafe.json and rom.zip.
  6. Using your text editor of choice, open configuration_cafe.json and manually edit the layout to accommodate your top screen being 16:9 instead of 4:3. This is kind of complicated and will require you to do some math. For reference, here's the layout I use:
    Code:
                        "name_string_id": "VCM_LAYOUT_1_NAME"
                    },
                    {
                        "screen": [
                            {
                                "source": "upper",
                                "rotation": 0,
                                "size": "1024 576",
                                "target": "tv",
                                "position": "0 72"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "256 192",
                                "target": "tv",
                                "position": "1024 456"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "512 384",
                                "target": "drc",
                                "position": "171 48"
                            }
                        ],
    Result:

    View attachment 291542

    The layout you use is up to you. You may not want this specific layout, and you may not want to do it in LAYOUT_1 either. Modify the "size" and "position" values for each screen until you have what you want in the layout position you want. The "size" is how big the screen should be, the "target" is whether it's on the TV or GamePad, and the "position" is where on the screen you want the top left of the DS screen to be. The resolution of DS Virtual Console is 1280 by 720, so that's as high as you should go.

    I'm not going to walk you through every possible layout, but here's another one some people might want:​
    Code:
     "name_string_id": "VCM_LAYOUT_1_NAME"
                    },
                    {
                        "screen": [
                            {
                                "source": "upper",
                                "rotation": 0,
                                "size": "1280 720",
                                "target": "tv",
                                "position": "0 0"
                            },
                            {
                                "source": "lower",
                                "rotation": 0,
                                "size": "640 480",
                                "target": "drc",
                                "position": "107 0"
                            }
                        ],
    Result:

    sBKnzsRSLpdLzSMqWjXHpKHP


    This one fills the entire TV with the top screen and a 4:3 area of the GamePad with the bottom screen. You have multiple layouts, so you can configure both of these in different layout slots if you like.​
  7. Open rom.zip and copy WUP-N-DASE.srl out of the zip and into the parent folder (where your configuration_cafe.json and rom.zip are).
  8. Open WUP-N-DASE.srl with your hex editor. In case you couldn't tell, this is the Super Mario 64 DS ROM.
  9. Navigate to 0x6644 in the ROM. In HxD, you can just press Ctrl+G and type in 6644 then hit Enter to jump to this location. Write the following data into that location:
    Code:
    01 00 00 00 30 D0 00 02 72 1C 00 00 01 00 00 80 3C B9 0B 02 55 15 00 00 72 1C 00 00 01 00 00 80 90 C4 10 01 55 15 00 00 72 1C 00 00
    In HxD, you can press Ctrl+B (not V! or right click and select "Paste write" to overwrite this data. You must not "insert" the data (paste normally) or your ROM will just completely stop working. It should look roughly like this when you're done:

    View attachment 291542
  10. Save your modified ROM and then copy it back into rom.zip, replacing the old one.
  11. Back in your FTP client, upload your modified configuration_cafe.json and rom.zip back to where you downloaded them from (storage_usb/usr/title/00050000/101C3400/content/0010). Again, replace the versions that are already there.
  12. Return to the Wii U Menu by exiting WiiUFtpServer and the Homebrew Launcher.
  13. Launch your Super Mario 64 DS Virtual Console title. Reset the game from the ZR menu and select one of your custom widescreen layouts.
  14. Play Super Mario 64 DS with analog controls in widescreen.
I got to step 5 and was trying to download the files but on the Wii U Gamepad it said "! ERROR : network_write = -32 afer 1 attempts"
"! ERROR L errno = 32 (Broken pipe)"
 

ORIGINALUSERNAME

Member
Newcomer
Joined
Jan 13, 2022
Messages
11
Trophies
0
Age
49
XP
54
Country
United States
Update: EVEN AFTER COMPLETELY UNINSTALLING AND REINSTALLING SM64DS, IT STILL CRASHES EVERYTIME I LAUNCH IT! My Wii U now refuses to play this game completely! That patcher now gives me an unexplained error and seemingly can't even find the game!! By doing this weird sketchy af widescreen hack, my Wii U now refuses to play this game. How do I fix this??
 

emcintosh

On the internet, everyone knows I'm a cat
Member
Joined
Dec 4, 2016
Messages
434
Trophies
0
XP
2,293
Country
United Kingdom
Update: EVEN AFTER COMPLETELY UNINSTALLING AND REINSTALLING SM64DS, IT STILL CRASHES EVERYTIME I LAUNCH IT! My Wii U now refuses to play this game completely! That patcher now gives me an unexplained error and seemingly can't even find the game!! By doing this weird sketchy af widescreen hack, my Wii U now refuses to play this game. How do I fix this??
Have you tried installing a different region version on SM64DS? The patcher will work on both the US and European versions, and each one has a different title ID so the new one shouldn’t interfere with the faulty one.
Also, are you using WiiUFTPServer or FTPiiU Everywhere to access the ROM and config file? It seems that FTPiiU sets incorrect permissions that prevent the game from working.
 

ORIGINALUSERNAME

Member
Newcomer
Joined
Jan 13, 2022
Messages
11
Trophies
0
Age
49
XP
54
Country
United States
Have you tried installing a different region version on SM64DS? The patcher will work on both the US and European versions, and each one has a different title ID so the new one shouldn’t interfere with the faulty one.
Also, are you using WiiUFTPServer or FTPiiU Everywhere to access the ROM and config file? It seems that FTPiiU sets incorrect permissions that prevent the game from working.
Turns out the problem was that the reinstalled copies got corrupted bc I transferred them to my sd using the FTP Server. Still doesn't change the fact that widescreen was a complete failure for me.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    K3Nv2 @ K3Nv2: Sorry for accidentally bending over