Closed dankcuddlybear closed 1 year ago
Unfortunately, none of the flashcard kernels used by TWLMenu++ don't have an RTS menu. As for cheats, the flashcard kernel's autoboot feature doesn't allow cheats to be used, so that in particular isn't a TWiLight Menu++ issue. It's possible to implement RTS/save-states within nds-bootstrap though.
It is 100% possible to get it working (at least on my card). When you launch a DS game, in the case of R4i+ Gold 3DS RTS, Twilightmenu sets lastLoaded to that game's path in fat0:/_wfwd/lastsave.ini, then loads fat0:/Wfwd.dat. Because autorunWithLastRom is set to 1 in fat0:/_wfwd/globalsettings.ini, the flashcart kernel immediately loads that game without showing the menu. By changing autorunWithLastRom to 0, I can enable cheats and RTS menu. Now the RTS menu works just fine in-game. However, for some reason when cheats are globally enabled, even if no cheats are enabled for that game, the kernel gets stuck on a loading screen for a few seconds before both screens turn off.
I managed to get cheats AND RTS working in the end. I downloaded the latest source code for Twilightmenu, changed ALL the file paths in the source code from "fat0:/_wfwd" to "fat0:/rpg" and from "fat0:/Wfwd.dat" to "fat0:/rpg.dat". I then compiled Twilightmenu and copied it to my flashcart's SD card. I then downloaded the STOCK kernel and firmware from r4ids.cn. I renamed the stock kernel from _DS_MENU.dat to rpg.dat. Then I had to manually patch the Twilightmenu _DS_MENU.dat with my DLDI driver but now cheats and RTS are working. The only problem is that if I want to change what cheats are active for a game, I have to manually edit fat0:/rpg/globalsettings.ini and change autorunWithLastRom to 0 so I can load the stock menu.
But this shows that it is 100% possible to enable cheats outside nds-bootstrap (at least on flashcarts that originally support cheats). The problem is that the firmware and kernel included with Twilightmenu are NOT stock and that's probably why it's not working properly.
@dankcuddlybear They are stock though. Just hex edited to a different path. This is only done because some people keep the regular kernel and it overlaps, so we just renamed everything to _wfwd
. Literally just ran sed -i "s/__rpg/_wfwd/g" __DS_MENU.DAT
. Actually, on that thought, what isn't a stock kernel for this flashcart? To my understanding there isn't any.
Otherwise, when you boot into the flashcart kernel, it would just automatically boot into the game, and that's a big no-no.
In fact, the question we need to ask is why doesn't it work?
The problem is very likely that globalsettings.ini
inside _wfwd
likely has an RTS setting that is maybe turned off (or outright missing).
I don't have an RTS compatible flashcart though, so if you could find this INI setting, I can add it.
Wait actually, I do have one. Got an R4iDSN.
The INI setting required is rts = 1
. And it is indeed missing in the two kernels that support Wood RTS (r4ids.cn 1.64 and R4iDSN).
Cheats is a wont-fix, just to clarify. Until someone has a clean way to modify it in the menu and not via external resources.
I am on a DS Lite with an R4i+ Gold 3DS RTS flashcart (r4ids.cn). Twilightmenu++ version is v25.8.0 with DSi theme. I cannot use cheats at all with the native flashcart driver, only NDS-bootstrap. Also, I cannot open the RTS menu while in-game (save/load RAM, exit game, return to game). RTS stands for Real Time Save (basically the same as save states).
STEPS TO REPRODUCE: