Widescreen cheats for DS games on 3DS

Discussion in '3DS - Flashcards & Custom Firmwares' started by Vague Rant, Jul 11, 2019.

Loading...
  1. Vague Rant
    OP

    Vague Rant Deceptively cute

    Member
    7
    Aug 7, 2008
    Melbourne
    @Pokem TwlBg is the software that's running on the 3DS in DS mode, which among other things handles screen scaling from DS to 3DS resolution, input, etc. It's necessary to patch your TwlBg in order to have it scale the screen to widescreen (among other patches), as documented by Sono in this thread. Sono's plan is to release a patching app for 3DS eventually which will pretty much automate the process of patching TwlBg, but he has released a preliminary 64-bit Windows build in the meantime.

    Even if you're not using TWiLight Menu++, the instructions in the TWLMenu++ thread ("3DS/2DS: Playing in Widescreen") will help you through the process of patching your TwlBg. If you're following the steps from that thread, then once you've created your patched TwlBg.cxi by running wide.bat, you can stop following them and just put that file into sdmc:/luma/sysmodules on your 3DS SD card, and enable external FIRMs and modules in the Luma3DS settings (hold Select on startup).

    Now everything you run in DS mode will display stretched to 384*240 on the top screen--even if the game has no widescreen cheat. So any game you use a widescreen cheat with will display correctly, while any games without a widescreen cheat will just look stretched out.
     
    Pokem likes this.
  2. Pokem

    Pokem GBAtemp Maniac

    Member
    6
    Jul 22, 2016
    United States
    So patching the TwlBg will just stretch everything in DS mode to 384x240?
    I can't just patch an individual game manually without it effecting everything else?
    Also, if I don't like the screen stretching, can I revert back to the normal DS screen size by taking TwlBg.cxi out of sysmodules?

    -EDIT- I still have not read the threads you linked me yet, so please forgive me if any of my questions can be answered by looking at the thread. I will look at it as soon as I can.
     
    Last edited by Pokem, Sep 11, 2019
  3. Vague Rant
    OP

    Vague Rant Deceptively cute

    Member
    7
    Aug 7, 2008
    Melbourne
    That's correct. The individual game hacks in this thread basically make the game "ready" to be displayed in widescreen, and then TwlBg does the work of actually displaying them that way. You can't just patch the games, that's only half of the equation (the smaller half, at that).
    Yep! Or if you wanted to be sort of weird about it, you could go into your Luma3DS settings and toggle external firms/sysmodules on and off depending on whether you're currently in the mood to play stretched/widescreen games. Or you could rename the file whenever you do or don't want it to be used, but that seems like busywork.

    There is technically another route involving TWLMenu++ but it is at least somewhat complex. If you're playing games with nds-bootstrap, TWLMenu++ manages your widescreen TwlBg.cxi file for you, so you can play 4:3 and widescreen games seamlessly. You can't do the same thing with a flash card, however, you can get it to play nice with a bit of work:

    The way TWLMenu++ handles whether or not to load games using the widescreen-patched TwlBg is that it checks for a Widescreen.cxi in sdmc:/_nds/TWiLightMenu/TwlBg and also checks sdmc:/_nds/TWiLightMenu/widescreen for a file that matches either the ROM file name (not useful here, cartridges aren't ROMs [in the specific sense I'm using it right now, don't @ me, I know cartridges are literally ROMs]) or the game's ID and header checksum. For example, a commercial Mario Kart DS (USA) has the ID of AMCE and a header checksum of DEF2. If you've got TWLMenu++ and take a look in the folder I just mentioned, you'll find a file called AMCE-DEF2.bin, which serves two purposes: 1) it contains the code necessary to make Mario Kart DS display in widescreen, and 2) it tells TWLMenu++ to run this game using the widescreen-patched TwlBg, regardless of whether it's running via nds-bootstrap or from a retail Mario Kart DS card.

    Knowing this, you can make a 0-byte .bin file to match your personal flash card and place that into TWLMenu++'s widescreen directory. There's two ways you can probably find this information for your flash card. You could use either a dump of your flash card's ROM, or a dump of whatever game your flash card uses the header from, then you can open it using Windows PC app such as NDSTS (direct link to ZIP download) to find your card's ID and checksum. Now, if you create that file, enable widescreen and boot your flash card via TWLMenu++, it will run using widescreen-patched TwlBg, but if you launch it normally, it will run with your unmodified, 4:3 TwlBg.

    So yeah, kinda complicated.
     
    Last edited by Vague Rant, Sep 11, 2019
    Pokem likes this.
  4. Pokem

    Pokem GBAtemp Maniac

    Member
    6
    Jul 22, 2016
    United States
    Ahhh, I see. So it's a bit similar to something like NTR.
    Find the ID and checksum (TittleID in NTR's case) and place it in the widescreen folder.
     
  5. ChampionLeake

    ChampionLeake NTR/TWL Exploiter

    Member
    4
    Jan 19, 2016
    United States
    Widescreen Hack for SpongeBob's Boating Bash NDS
    Code:
    USA 
    16:10 Widescreen for 3DS
    9220FAFC 00001555
    1220FAFC 00001999
    D2000000 00000000
    
    Code:
    EUR
    16:10 Widescreen for 3DS
    921EF59C 00001555
    121EF59C 00001999
    D2000000 00000000
    
    [​IMG]
     
Loading...