Hacking Circle Pad patches for Super Mario 64 DS and other games (in TwilightMenu with TWPatcher and RTCom)

Vendicatorealato

Active Member
Newcomer
Joined
Jan 22, 2023
Messages
31
Trophies
0
XP
445
Country
Italy
Is it only at a certain level? It works for me (at least in the first hub location). Maybe you have some kind of weird version of the game? Could you temporarily try the "usrcheat.dat" file in the zip archive? It will show you if you have the wrong version.
It happens in the hub. I tried to re-dump the ROM, I tried to use the usrcheat.dat of that last archive, I tried to delete the save, I tried to delete \_nds\nds-bootstrap\cheatData.bin and \_nds\nds-bootstrap\patchOffsetCache\YLGP-FB66.bin, but I always get the same issue. Differently from yesterday I noticed that the direction isn't always "down-right", but it changes (apparently) randomly every time I boot the game; the problem is only with the character, shop and menus have no anomalies.
I am on a New 3DS (EUR) with TWiLightMenu v25.7.0 and nds-bootstrap v0.68.0.
 
Last edited by Vendicatorealato,

PkStarzone

Well-Known Member
Newcomer
Joined
May 31, 2020
Messages
55
Trophies
0
Age
25
XP
445
Country
United States
I have been playing it for a while and it run fantastically but I noticed a very weird bug if you have widescreen enabled.

If you have the widescreen patch applied with the TwlBg.cxi file in the proper directory but decided to set the game at 4:3/default resolution, it would cause the character to start controlling itself in one direction as the camera moves itself too, on top of weird audio issues and stuttering,

This is not a problem if someone only plan to play the game in widescreen but it does become a problem if someone decide to play the game back to 4:3 without properly removing the patch, for example, having the widescreen patch applied in your system but changing the game to 4:3 or default through the per-game setting will cause the problem, or running the game through a flashcart with the analog mod properly applied would also have the same issue. If a person wants or has to play the game in the default resolution, they'll have to remove the widescreen patch by removing the TwlBg.cxi file and/or reinstalling Twilight Menu.

This also become a problem if someone plans to play more elaborate hacks of Mario 64 DS that are not supported for widescreen, so far the only one that is supported is Super Mario Galaxy DS, so hacks like Another Mario 3D or Super Among Us 64 DS, among others, become completely unplayable, the analog mod works with those but having the twilight patch applied, even if you change the per-game settings to either default or 4:3, those games will break, they will need to remove the widescreen patch as I mentioned before. Another easier solution to this is for mods to also have widescreen support, but that's outside of your project.

I don't know if there is a possible fix for these for very specific scenarios nor do I think you have to but I thought to share what I tested in case anyone got into these problems. Perhaps the mapped inputs change position whenever the game is set to 4:3 but has the system patched for widescreen in DS mode, althought that doesn't explain the weird stuttering, that doesn't happen if you run the game with both the analog patch and running the game in widescreen.
 

shoco

Well-Known Member
OP
Member
Joined
Aug 1, 2019
Messages
117
Trophies
0
XP
504
Country
Russia
Is there some program that I could install on my N3DS that would give the values that my nub gives so that we could compare instead of you just having to guess?

At the moment I'm guessing it's a difference between N3DS and N2DS but perhaps the Circle Pad attachment is different again. Possibly different regions could be different, right? Kind of like the IPS or non-IPS screens. You never really know what you're getting but the firmware/software sorts it all out for you.
It's not that important actually, it's just a simple bug of which I've made many. The nub from my console do behave weirdly. But I think it's partly because of a drift. Or maybe it's something with its material, since it's really hard to touch and push it properly. I don't know, perhaps there are differences between console. But I would expect the actual Nub values be similar, otherwise games could break.
According to Gbatek and my calculations the nub's values lie somewhere in the range [-180; 180], which is slightly above a signed byte capabilities.

By the way, I've sort of updated the patch. Could you check it? In case I broke something else
Post automatically merged:

It happens in the hub. I tried to re-dump the ROM, I tried to use the usrcheat.dat of that last archive, I tried to delete the save, I tried to delete \_nds\nds-bootstrap\cheatData.bin and \_nds\nds-bootstrap\patchOffsetCache\YLGP-FB66.bin, but I always get the same issue. Differently from yesterday I noticed that the direction isn't always "down-right", but it changes (apparently) randomly every time I boot the game; the problem is only with the character, shop and menus have no anomalies.
I am on a New 3DS (EUR) with TWiLightMenu v25.7.0 and nds-bootstrap v0.68.0.

It looks like the TwlBg patch doesn't work. Do you still can control the character (just slightly) or it always goes firmly in one direction? The patched game expects the CPad data to be passed through the counter RTC register. But when the TwlBg patch doesn't work, it'll be just a dumb counter that goes from 0 and up.
Can you try other games (some other than Sm64ds and Metroid)? If others work, than it should too, i guess.

Not sure if it's related, but have you ever used the RTC functionality? Like through setting alarms or something like that, time related? Maybe it can intervene somehow.
And try to update TWPatcher (although you probably already did).

I have been playing it for a while and it run fantastically but I noticed a very weird bug if you have widescreen enabled.

Thanks. I don't know about flashcarts. I don't have one, so I can't possibly test it and make sure it works or not.

About the 4:3 part. To be honest, I don't really know how things in TwilightMenu work. But I don't think TwilightMenu gives you a choice anymore (at least in my one of the last versions). It will just apply the widescreen mod automatically if it has patches for a particular game and it can detect that your TwlBg is patched.
I think before TwilightMenu would, depending on your 4:3/10:16 settings, swap the TwlBg at the game's launch with its own. The stuttering is there because the version of TwlBg that TwilightMenu puts in /luma/sysmodules/ (i assume?) is not the version that TWPatcher was applied to (or maybe TwlightMenu just removes temporarily). Anyway, I suggest you to update TwilightMenu and see if it helps a little
 

Vendicatorealato

Active Member
Newcomer
Joined
Jan 22, 2023
Messages
31
Trophies
0
XP
445
Country
Italy
It looks like the TwlBg patch doesn't work. Do you still can control the character (just slightly) or it always goes firmly in one direction? The patched game expects the CPad data to be passed through the counter RTC register. But when the TwlBg patch doesn't work, it'll be just a dumb counter that goes from 0 and up.
Can you try other games (some other than Sm64ds and Metroid)? If others work, than it should too, i guess.

Not sure if it's related, but have you ever used the RTC functionality? Like through setting alarms or something like that, time related? Maybe it can intervene somehow.
And try to update TWPatcher (although you probably already did).
If I am not wrong, in LEGO Star Wars the character goes firmly in one direction. If I’m wrong, it means that I can control it very, but very, slightly.
The other games I tried are Super Mario 64 DS (EUR) and Metroid Prime Hunters (EUR), for both the CPad patch works perfectly (gyroscope too, on Metroid); they run in widescreen because in TWL I enabled the 16:10 aspect ratio.
To generate TwlBg.cxi I’ve used TWPatch build 2022/06/01 with rtcom and Widescreen patch activated (the scale I don’t remember if it’s Nintendo default or Linear sharpen 1).

I don’t know if I ever used the RTC funcionality…
Do you know any specific game/application where I can test it?

EDIT: I thought it was obviuos, but I don’t specified that LEGO Star Wars runs in 4:3, because the widescreen patch doesn’t exsist for that game.
 
Last edited by Vendicatorealato,

zychion

Active Member
Newcomer
Joined
Apr 20, 2010
Messages
30
Trophies
1
XP
354
Country
It's not that important actually, it's just a simple bug of which I've made many. The nub from my console do behave weirdly. But I think it's partly because of a drift. Or maybe it's something with its material, since it's really hard to touch and push it properly. I don't know, perhaps there are differences between console. But I would expect the actual Nub values be similar, otherwise games could break.
According to Gbatek and my calculations the nub's values lie somewhere in the range [-180; 180], which is slightly above a signed byte capabilities.

By the way, I've sort of updated the patch. Could you check it? In case I broke something else
I've just thrown on your update and that seems to have fixed the nub aiming. I'll have to actually play it for a while to see if it has created any other problems but thank you very, very much.
 
  • Like
Reactions: shoco

shoco

Well-Known Member
OP
Member
Joined
Aug 1, 2019
Messages
117
Trophies
0
XP
504
Country
Russia
EDIT: I thought it was obviuos, but I don’t specified that LEGO Star Wars runs in 4:3, because the widescreen patch doesn’t exsist for that game.
This is it. It's pretty much what I described in the comment above, except it still seems to be happening that way. When you start a game, TwilightMenu checks to see if it has patches for it, and if it does, it puts its own widescreen version of TwlBg from "/_nds/TWiLightMenu/TwlBg" to "/luma/sysmodules" and applies a game-specific patch. If you select 4:3, TwlightMenu simply doesn't do anything.

The reason I missed this (and thought it acted differently now) is that the widescreen patch doesn't work for me. I've reinstalled TwilightMenu 3 times already without any effect. Maybe I'm doing something wrong. I can't even find that "Screen Aspect Ratio" option anywhere.

So I don't know exactly what to do at the moment. But I can suggest the following. Try to make two TwlBg versions in TWPatcher, one with widescreen and one without (both should have RTCom). Put the one with widescreen in "/_nds/TWiLightMenu/TwlBg/" and rename it to "Widescreen.cxi" (as usual, according to the official guide). And leave the one without widescreen in "/luma/sysmodules" as "TwlBg.cxi". Then maybe (just maybe) TwilightMenu will replace it if a game has widescreen support, and not touch it if it doesn't.
 

Vendicatorealato

Active Member
Newcomer
Joined
Jan 22, 2023
Messages
31
Trophies
0
XP
445
Country
Italy
Wow, I never noticed that \_nds\TWiLightMenu\TwlBg\Widescreen.cxi only affects games that have widescreen support...!
Try to make two TwlBg versions in TWPatcher, one with widescreen and one without (both should have RTCom). Put the one with widescreen in "/_nds/TWiLightMenu/TwlBg/" and rename it to "Widescreen.cxi" (as usual, according to the official guide). And leave the one without widescreen in "/luma/sysmodules" as "TwlBg.cxi".
In this way, everything works as it should. Thank you.
I can't even find that "Screen Aspect Ratio" option anywhere.
If I am not wrong, that option doesn't appear if TWiLightMenu doesn’t detect \_nds\TWiLightMenu\TwlBg\Widescreen.cxi.
 
Last edited by Vendicatorealato,
  • Like
Reactions: shoco

BryanTheArchivist

Active Member
Newcomer
Joined
Aug 27, 2021
Messages
33
Trophies
0
Age
26
XP
169
Country
United States
Does this only work on 3ds systems or since this is an AR code is there a chance it may run on melonDS? And by extension were that to be the case could there be the hope of running this on a homebrew-enabled Nintendo Switch using melonDS standalone? Not even sure if it supports AR codes to begin with.
 

RetraCarteR

Active Member
Newcomer
Joined
Dec 18, 2022
Messages
25
Trophies
0
Age
25
Location
San Antonio, Texas, United States of America
XP
585
Country
United States
Does this only work on 3ds systems or since this is an AR code is there a chance it may run on melonDS? And by extension were that to be the case could there be the hope of running this on a homebrew-enabled Nintendo Switch using melonDS standalone? Not even sure if it supports AR codes to begin with.
The short answer is that the circle pad patches only work on a 3DS or a 3DS emulator, and will never work on any DS emulator that doesn't also emulate the 3DS. The AR code in and of itself isn't what makes analog control with an analog stick/circle pad in DS games possible; it's just the final step in a much larger process. If you want a more in-depth explanation, click the spoiler tag below, but be warned: it's a pretty long read.

(Also, I should point out that my knowledge of how this hack works is based entirely on secondhand information. It's entirely possible that I've gotten something in my explanation wrong, in which case I wholeheartedly encourage @shoco to correct me.)

First, you need to know about the types of CPUs used by the GBA, DS, and 3DS. The GBA used an ARM7 CPU. The DS primarily uses a more powerful ARM9 CPU, but the GBA's ARM7 processor is also included on the motherboard. This was primarily to ensure that the DS could be backwards-compatible with GBA games, but some DS games also used the ARM7 as a secondary processor. Pretty much the same thing happened during the upgrade from the DS to the 3DS: the 3DS uses a new ARM11 CPU, but it also includes an ARM9 processor for backwards compatibility with DS games.

Like I said, some DS games use the ARM7 in addition to the ARM9, so in order to be backwards compatible with DS games, the 3DS needed to be able to handle ARM7 instructions. Unfortunately for Nintendo, the ARM11 just wasn't powerful enough to emulate the ARM7, so they ended up having to include an actual ARM7 processor on the 3DS motherboard too. So to recap, the 3DS has three CPUs: the ARM11 (its main CPU), the ARM9 (the main CPU used in "DS Mode"), and the ARM7 (the secondary CPU in "DS Mode").

It's also worth noting that there are limitations on how these three processors on the 3DS can communicate with each other. The ARM7 doesn't even recognize either of the newer processors. The ARM9 recognizes the ARM7, but because the ARM7 doesn't recognize it back, communications between the processors is one-way-only. That is, the ARM9 can "listen" to what the ARM7 "tells" it, but it can't "say" anything back. The relationship between the ARM11 and the ARM9 is similar: the ARM11 can read information from the ARM9 (and by extension, the ARM7), but it can't write anything to it in return.

The TWPatcher program is the key to making these DS analog control hacks possible. Specifically, it includes a function called "RTCom", which, through some kind of programming wizardry, allows the ARM7 processor to read data from the ARM11. Honestly, even I'm not completely sure how it works, but what matters is that it does work.

So, the first thing that you have to do to get this hack to work is to use TWPatcher to patch the 3DS's firmware (specifically, the part of the firmware that handles running DS games in backwards compatibility mode) with the "RTCom" function. And here's where the Action Replay code finally comes into play. The AR code alters the game's internal programming to do a few different things:
  • First, it sets up the ARM7 processor to read the 3DS circle pad's input data from the ARM11 via RTCom.
  • Then, it configures the ARM9 to read that data from the ARM7.
  • At this point, the ARM9 performs a series of mathematical functions on this input data to convert it into the same format as the input data provided by the DS's touch screen.
  • After that, the AR code sets aside an unused portion of the game's memory and has the ARM9 store the newly-formatted circle pad input data there.
  • And finally, the parts of the game's code that handle analog control input are redirected to read their input data from these memory addresses instead of from the touchscreen like they do by default.
Now that I've explained how this whole process works, it should be pretty clear why this won't work in melonDS. melonDS is a DS and DSi emulator. It's not designed to emulate any of the 3DS's unique hardware, so it doesn't even know what the ARM11 processor is. And as a result, the AR code won't do anything on the emulator (or on the original DS/DSi, or on the 3DS if RTCom hasn't been properly activated). After all, the ARM7 can't be expected to provide the input data for the AR code to process if the processor that sends it that data either can't communicate with it or doesn't exist.

... Hey, I did warn you that this would be a long explanation. But if you actually did bother to read through all of it, I hope it cleared up any confusion you might have had regarding how this hack works.
 

shoco

Well-Known Member
OP
Member
Joined
Aug 1, 2019
Messages
117
Trophies
0
XP
504
Country
Russia
Nice write-up. I wanted to correct a few things. (I am not really closely familiar with the hardware and so I may be wrong about some of this, but as long as it works...)

some DS games also used the ARM7 as a secondary processor
Actually all DS games use ARM7, ARM7 is responsible for reading data from the peripherals (touch screen, real time clock, X and Y buttons, power management, sound, wifi). Like almost everything except the GPU. Maybe that's why it's not software emulated, it's too tied up with the whole DS ecosystem, plus Arm11 has better things to do.

Similarly, Arm9 in the 3DS is not just for backwards compatibility with the DS. It also does cryptography (for security purposes) and probably something else.

That is, the ARM9 can "listen" to what the ARM7 "tells" it, but it can't "say" anything back. The relationship between the ARM11 and the ARM9 is similar

Both ARM7 and ARM9, as well as ARM9 and ARM11, are "connected" to each other by so-called FIFO registers. It's just a message queue through which the CPUs can send each other 4-byte messages telling that something has happened. They also communicate via shared memory (it's just some place in RAM that can be accessed by both Arm7/Arm9 or Arm9/Arm11 at the same time, allowing them to exchange large chunks of data).

The whole problem (and the reason for the existence of RTCom) is that once Arm9 starts emulating the DS, it is completely cut off from the outside world (at least for passing data "to" Arm7/Arm9). It can no longer communicate with Arm11 and essentially behaves 100% like the DSi's CPU. As a result, Arm11 can't do much with it. Most importantly, it can't access the RAM (FCRAM) to pass data to Arm9. Probably because this RAM is also used as the main working RAM by Arm7 and Arm11 during emulation.
Gbatek mentions that Arm11 crashes after trying to read anything from the FCRAM, and that Arm7 needs the FCRAM to be in a low frequency mode in order to read data from it correctly. I don't really know whether this "lockdown" is here for technical reasons (and it couldn't be otherwise), or just to maintain isolation for maximum authenticity. Or both.

Specifically, it includes a function called "RTCom", which, through some kind of programming wizardry, allows the ARM7 processor to read data from the ARM11. Honestly, even I'm not completely sure how it works, but what matters is that it does work.
There were some games on the NDS that utilized the RTC (Real Time Clock), such as Pokemon and Animal Crossing. These games usually use it to measure how much time has passed since you last played a game.
RTC is a kind of device that can tell you the current time, date and some other time-related things like alarm settings.
Anyway, Arm7/Arm9 doesn't have such a device during emulation. But the 3DS does, so it has to pass it on to Arm7 somehow. There are several registers for this. Basically, Arm11 reads the time, date, etc. from its own RTC and then writes to these registers. After that they are accessible to Arm7 as if it were a real RTC device. It doesn't see any difference. Both my patches and TWPatcher patch TwlBg (i.e. the process that runs on Arm11 during emulation) to make it pass data (the CPad in my case) through some of these registers (that are not needed in the games I was working on).

These legacy RTC registers can be read and written by both Arm7 and Arm11. The RTCom protocol is based on this fact. Sono has described it in detail on the first page.

First, it sets up the ARM7 processor to read the 3DS circle pad's input data from the ARM11 via RTCom
This doesn't matter much, but currently RTCom is mostly used to patch TwlBg at runtime to hijack some RTC regs and make it pass CPad through them. It's more clumsy than RTCom, but also much faster.

At this point, the ARM9 performs a series of mathematical functions on this input data to convert it into the same format as the input data provided by the DS's touch screen.
It's more like the ARM9 converts it into the format a game wants. All my patches work this way. There is a place in memory where a game expects to find the main character's angle and speed (if the game allows controlling it). I just look at the places where it is written and hook my code close to it (ideally so that CPad can override the touchscreen or DPad).
expects
Now that I've explained how this whole process works, it should be pretty clear why this won't work in melonDS
Theoretically, emulators could implement a small part of RTCom to allow reading the CPad data through the RTC regs under certain conditions. But that's crazy and probably not really feasible.
 

DSoryu

GBA/NDS Maniac
Member
Joined
May 5, 2010
Messages
2,359
Trophies
2
Location
In my house
XP
4,775
Country
Mexico
Nice write-up. I wanted to correct a few things. (I am not really closely familiar with the hardware and so I may be wrong about some of this, but as long as it works...)

Actually all DS games use ARM7, ARM7 is responsible for reading data from the peripherals (touch screen, real time clock, X and Y buttons, power management, sound, wifi). Like almost everything except the GPU. Maybe that's why it's not software emulated, it's too tied up with the whole DS ecosystem, plus Arm11 has better things to do.

Similarly, Arm9 in the 3DS is not just for backwards compatibility with the DS. It also does cryptography (for security purposes) and probably something else.



Both ARM7 and ARM9, as well as ARM9 and ARM11, are "connected" to each other by so-called FIFO registers. It's just a message queue through which the CPUs can send each other 4-byte messages telling that something has happened. They also communicate via shared memory (it's just some place in RAM that can be accessed by both Arm7/Arm9 or Arm9/Arm11 at the same time, allowing them to exchange large chunks of data).

The whole problem (and the reason for the existence of RTCom) is that once Arm9 starts emulating the DS, it is completely cut off from the outside world (at least for passing data "to" Arm7/Arm9). It can no longer communicate with Arm11 and essentially behaves 100% like the DSi's CPU. As a result, Arm11 can't do much with it. Most importantly, it can't access the RAM (FCRAM) to pass data to Arm9. Probably because this RAM is also used as the main working RAM by Arm7 and Arm11 during emulation.
Gbatek mentions that Arm11 crashes after trying to read anything from the FCRAM, and that Arm7 needs the FCRAM to be in a low frequency mode in order to read data from it correctly. I don't really know whether this "lockdown" is here for technical reasons (and it couldn't be otherwise), or just to maintain isolation for maximum authenticity. Or both.


There were some games on the NDS that utilized the RTC (Real Time Clock), such as Pokemon and Animal Crossing. These games usually use it to measure how much time has passed since you last played a game.
RTC is a kind of device that can tell you the current time, date and some other time-related things like alarm settings.
Anyway, Arm7/Arm9 doesn't have such a device during emulation. But the 3DS does, so it has to pass it on to Arm7 somehow. There are several registers for this. Basically, Arm11 reads the time, date, etc. from its own RTC and then writes to these registers. After that they are accessible to Arm7 as if it were a real RTC device. It doesn't see any difference. Both my patches and TWPatcher patch TwlBg (i.e. the process that runs on Arm11 during emulation) to make it pass data (the CPad in my case) through some of these registers (that are not needed in the games I was working on).

These legacy RTC registers can be read and written by both Arm7 and Arm11. The RTCom protocol is based on this fact. Sono has described it in detail on the first page.


This doesn't matter much, but currently RTCom is mostly used to patch TwlBg at runtime to hijack some RTC regs and make it pass CPad through them. It's more clumsy than RTCom, but also much faster.


It's more like the ARM9 converts it into the format a game wants. All my patches work this way. There is a place in memory where a game expects to find the main character's angle and speed (if the game allows controlling it). I just look at the places where it is written and hook my code close to it (ideally so that CPad can override the touchscreen or DPad).
expects

Theoretically, emulators could implement a small part of RTCom to allow reading the CPad data through the RTC regs under certain conditions. But that's crazy and probably not really feasible.

On emulators could be easier actually, but still require some time to make it work as expected. In melonDS it just would need to get the touch input analog addresses (on mario 64) and map that to the input L axis controller config in the emulator itself. Afaik DesMuME already supported that function.
 

RetraCarteR

Active Member
Newcomer
Joined
Dec 18, 2022
Messages
25
Trophies
0
Age
25
Location
San Antonio, Texas, United States of America
XP
585
Country
United States
On emulators could be easier actually, but still require some time to make it work as expected. In melonDS it just would need to get the touch input analog addresses (on mario 64) and map that to the input L axis controller config in the emulator itself. Afaik DesMuME already supported that function.
Yeah, on DeSmuME, there's already a solution to this problem. Somebody made a fork of it that emulates a hypothetical Slot-2 analog stick add-on and maps it to the touchscreen. Obviously, it's a very different solution to the one shoco came up with.
 

DaniCrack758

New Member
Newbie
Joined
Feb 2, 2023
Messages
2
Trophies
0
Age
19
XP
18
Country
United States
I have a question, is it possible to do this with frowarders? I don't use Twighlight menu and I just want to know if there is a way to do this but with the forwarder
 

shoco

Well-Known Member
OP
Member
Joined
Aug 1, 2019
Messages
117
Trophies
0
XP
504
Country
Russia
I have a question, is it possible to do this with frowarders? I don't use Twighlight menu and I just want to know if there is a way to do this but with the forwarder
I've never used a forwarder. But from what I read it seems like forwarders do support AR cheatcodes and widescreen mods, so this patch should work too. (assuming you know how to enable the cheatcode and have put the patched TwlBg at the correct place, at '/luma/sysmodules/' or whenever it is)
 
  • Like
Reactions: DaniCrack758

Sgheist

New Member
Newbie
Joined
Dec 4, 2022
Messages
4
Trophies
0
Age
16
XP
60
Country
Denmark
i just want to thank you for making this.
Post automatically merged:

like bro im genuinely grateful :D
I hope you and the people you love have wonderful day!
 
Last edited by Sgheist,
  • Like
Reactions: LeNoobio and shoco

FruktGamer64

New Member
Newbie
Joined
Feb 13, 2023
Messages
2
Trophies
0
Age
27
XP
29
Country
Sweden
Would it be possible to apply these hacks to other FPS games like CoD or 007 Rogue Agent? The Cstick to aim that is? it would be amazing.
What you have done is amazing!! Thank you so much!
 

FruktGamer64

New Member
Newbie
Joined
Feb 13, 2023
Messages
2
Trophies
0
Age
27
XP
29
Country
Sweden
Sure, if someone is going to make it. Maybe I'll do some one day, or maybe I won't. They are much harder than regular CPad patches.
Ill def check out updates on this thread. Thank you for the work you have done. It has made these games such a blast to play on the 3ds systems, especially the New 3ds/2ds.
Hopefully someone, either you or someone else does it. I am not capable of doing any kind of tinkering when it comes to these things.
 

PkStarzone

Well-Known Member
Newcomer
Joined
May 31, 2020
Messages
55
Trophies
0
Age
25
XP
445
Country
United States
I've never used a forwarder. But from what I read it seems like forwarders do support AR cheatcodes and widescreen mods, so this patch should work too. (assuming you know how to enable the cheatcode and have put the patched TwlBg at the correct place, at '/luma/sysmodules/' or whenever it is)
I might be late on this but the patches do work with forwarders without conflicting with other games, that include forwarders for mods, it just worked by following the already existing guides on how to install forwarders.
 
  • Like
Reactions: shoco

Flame060

Member
Newcomer
Joined
Nov 17, 2006
Messages
20
Trophies
1
XP
178
Country
Canada
Will this mean I can finally play Pokémon BW2 one handed? C-stick to move, XYAB right under it. Left hand no longer required!

Please say it’s so.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: This movie rip so werid has 1080p quality but the audios ripped with movie theater audio quality