brainbaking/content/post/2023/01/capturing-video-output-on-n...

5.8 KiB

title date tags categories
Capturing Video Output On Nintendo (3)DS Hardware 2023-01-07T11:35:00+01:00
screenshots
nintendo ds
retro

How do you take a screenshot on a Nintendo DS? That's a good question that's not that easy to answer. On modern console systems such as the Nintendo Switch, there's even a dedicated screenshot button right there on the controller, and Twitch-like streaming services are often embedded. On retro hardware though, you're out of luck. As I like to record my own gaming adventures (remember, take more screenshots), I've been looking into how to pull this off on real hardware. Here are a few alternatives, and the one I ultimately settled with.

1. Use a camera.

Back in 2006, I didn't know any better. The result is an ugly smeared-out mess of a blur, as visible in my Animal Crossing: Wild World adventure log from 17 years ago:

The pixelated effect, while appealing to some, reveals the DS's lean resolution: merely 256x192 pixels on each screen. Taking a snapshot that way requires having a camera device standby---which in the smartphone-infested world we live in isn't a problem---and still is rather involving, as without cutting out each screen, the plastic in-between stays on your "screenshot". I could write a program that uses basic image recognition to do that for me and post-process it with ImageMagick as well.

Such a still will never be razor-sharp, though.

2. Have your DS modded.

This was the journalists' option back in the day, which allowed for VGA and later HDMI capturing through external hardware modifications. The process was/is very expensive and involved sending out your DS to an expert to have it installed.

If you still own a DS "Phat"---the original gray Nintendo DS that was quickly shoved aside in favor of the sleek DS Lite---you could Do It Yourself with the more recent Nintendo DS Video Capture Board mod. The same applies for a 3DS, but not the XL version I own. The software requires DirectX so I imagine running it on MacOS or Linux comes with the necessary amount of fiddling and cursing.

3. Hack your device and use CFW.

This is where things are getting interesting! For instance, there's a menu replacement called TWiLight Menu++ that comes with the nds-bootstrap DS game bootloader which, at the press of a button combination, allows you to take a screenshot while playing on the hardware itself. It reads out raw VRAM values and dumps a JPG on the SD card.

Wait, SD card? Oh, I forgot to tell you, that only works with the DSi. If you have a DS (Lite), you'll have to buy a flashcard and run TWiLight from there (see the homebrew install guide). But as you've got the flashcard slotted, you can't swap it out for a game, meaning .nds ROM dumps are needed that nds-bootstrap can, well, bootstrap. Except that this sometimes doesn't work, especially with Real Time Clock stuff like Pokémon and Animal Crossing games.

As for the later Nintendo 3DS, you can install Luma3DS with an exploit in the Pokémon Picross game or using seedminers. If that sounds like Chinese to you, the guide is very thorough, but it admittedly does take a complicated amount set of steps before you can press L+DOWN+SELECT to bring up the Rosalina menu where the option "take screenshot" lives.

Which only works for 3DS games. For older DS games on the newer 3DS system, the device is still compatible with these cartridges, but the two ARM CPUs run in another layer where your 3DS CFW doesn't work. No worries though, TWiLightMenu++ does work in combination with Luma3DS, but you have to understand that you're using another bootloader which can cause problems during startup or while playing.

Yet another option is using Godmode9, a file browser on the 3DS that can also read carts, to dump your Nintendo DS game onto the microSD card after holding START on boot as mentioned in the usage guide, then use FTPD---you did install a homebrew package manager like FBI, right?---to setup a FTP server and wirelessly transfer the ROM and savegame to your PC, where an emulator with dedicated screenshot support like DeSmuME can capture your beloved video output:

Whew. That was much more involving than I expected! FTPD isn't required, but the microSD card of the 3DS sits underneath the annoying 3DS case and I don't feel like unscrewing the whole thing every time I want to transfer a screenshot. Now I also have the added benefit of backing up my DS games, like I tend to do with GBxCart for GBA/GB(C) games as mentioned before. For those games, the Analogue Pocket is probably the best option, as the latest firmware allows for in-game screenshots.

To summarize: if you want the easy way out, use an emulator and take a screenshot there, but transfer your savegame progress. For 3DS games, taking a screenshot while playing with the help of Rosalina works flawlessly. For DS games, TWiLight Menu++ should offer the same, but I don't want to fiddle with a flashcard, don't have a DSi, and don't intend to play many DS games on my 3DS.

You see, it's not only DOS VGA capturing that can be a mess... Proclaiming "take more screenshots!" is one thing---being able to do so is another.