/r/3dshacks

Photograph via snooOG

3DS Hacking and Homebrew


This is an unofficial community and not associated with Nintendo Co. Ltd. or its subsidiaries and associates in any way.

3DS Hacking and Homebrew


This is an unofficial community and not associated with Nintendo Co. Ltd. or its subsidiaries and associates in any way.


Hello and welcome to /r/3DShacks!


Rules:

  1. Follow the Reddit Content Policy and reddiquette, which state:
  • No harassment/bullying
  • No doxxing/witch hunts
  • No sexual content involving minors, including animated/simulated content
  • No piracy or links to pirated content
  • Don't try to sell or self-promote illicit content or services
  • Mark NSFW content with the NSFW tag
  • No tech-support questions.
  • Please report posts that you think break rules. It will help us immensely in dealing with them.

  • Disclaimer: There is always the potential for an UNRECOVERABLE brick. Everything you do is your own responsibility, neither the subreddit mods/IRC ops, nor the guide makers nor any person helping out on the sub/IRC is responsible for your bricked system.


    Full boot9strap CFW Guide – everything you need to know to get a CFW installed on any version


    Nintendo Homebrew on Discord


    Thanks to /u/MachMatic for creating the subreddit banner!

    Thanks to /u/geo1088 for the Tora theme!


    Related Nintendo Subreddits:

    /r/3dshacks

    141,710 Subscribers

    72

    3DS hacking and Pokémon survey for university

    EDIT: Because I got a lot of responses to work through, one of my tutors suggested I stop accepting them, so this survey's closed now. Thanks again to everyone who responded to it!

    Hi, everyone!

    I'm doing a research report for university, about the act of collection, how Pokémon was built around it, and fans' feelings about the shutdown of online servers for the 3DS. The survey deals with the topic of hacking the 3DS to use online functions on unofficial servers, and will help me determine whether the design of the games has given Pokémon fans a notable incentive to do this, once the games are eventually added to these servers.

    Since part of the goal is to see if a connection exists, your responses will be helpful even if you either haven't played the Pokémon games, or haven't hacked your 3DS.

    The survey should only take about 5 minutes at most, and all responses will be anonymised. I'll be accepting responses over the next two weeks.

    You can take the survey here.

    Thank you in advance!

    16 Comments
    2024/08/22
    14:37 UTC

    2

    Rule 2: No tech-support questions.

    Period.

    0 Comments
    2024/04/10
    00:51 UTC

    75

    PSA Pokedit / Cake trashed my 3DS, sent to Pokedit.shop for CFW & this is what he did to my 3DS console

    I always felt uncomfortable and uneasy about soft modding my 3DS with CFW, so Pokedit.shop felt like the perfect solution, he would do it for me and I wouldn't have to worry about messing up my console, my thinking was send it to the "professionals" and nothing could possibly go wrong, clearly I was wrong. I went for the send-in option, I ended up paying almost $144.90 + $19.90 for return shipping to PokEdit on top of the shipping I paid for to get my 3DS to him for something I could have done for free had I gotten out of my comfort zone and this is what he did to my console for what was supposed to be a SOFT mod.

    He damaged my back cover, completely detached the screws from the backcover (They are designed to be loosened, not removed). There are also now deep scratches on my 3DS that were not there and a HOLE in the shell that absolutely was not there cause I take care of my stuff. How someone can treat other people's stuff like that is beyond me. He completely trashed my 3DS and I am extremely saddened by it. I can't believe I was considering sending more consoles to him, so glad I waited till this one arrived first.

    Don't be like me and don't send your 3DS to anyone for CFW, just do it yourself, even if you feel uncomfortable. I regret sending my 3DS to him, my 3DS was so special to me, it even has a capture card installed by Loopy who took great care of my console for a HARD mod, yet pokedit damaged my console when all he was asked to do was a softmod.

    Just sharing my experience so this doesn't happen to anyone else, don't overpay for something that you can do for free, save your money and do it yourself

    Here are the images https://imgur.com/a/dWPN0JJ

    click the link to see ALL images

    76 Comments
    2024/03/04
    16:16 UTC

    352

    [PSA] Help us save SpotPass features from the online shutdown!

    As you may know, Nintendo announced that 3DS and Wii U online services will be discontinued in April of this year. This includes SpotPass services. Many titles like Mario Kart 7, StreetPass Mii Plaza, the Pokemon games, Super Mario Maker, and others used it to distribute content to users.

    The problem

    With the closure of the 3DS and Wii U online services, SpotPass features will stop working in many 3DS and Wii U titles.

    The solution

    The SpotPass Archival Project has been started to collect users' SpotPass caches, which contain data from recent SpotPass events in games you've played. This allows various network revival services to archive the SpotPass data ahead of the servers' closure, allowing SpotPass features to be replicated later and re-enabling functionality in countless games after the closure of the official servers.

    Sounds great, how can I help?

    If you want to learn how to contribute the SpotPass cache from your system, visit the website of the SpotPass Archival Project: https://spotpassarchive.github.io/

    If you need help or want to hear about updates on the project, join the SpotPass Archival Project Discord server: https://discord.gg/wxCEY8MHvh

    73 Comments
    2024/03/04
    08:57 UTC

    69

    Helper script I made that runs binmerge and chdman on a bin/cue library for preparation of PSX games for retroarch on my 3DS.

    After diving into the world of soft modding, starting with my Wii, then moving onto the Wii-U, and not stopping until I had my PS2 and "New" 3DS XL all set up, I've ventured into prepping my collection of PSX games to play on my 3DS. It's been quite the journey, learning the ins and outs of each system's quirks and capabilities.

    The PSX portion of my project presented a unique challenge: managing games that span multiple .bin files and converting them into a more manageable format. I wanted a streamlined way to merge .bin files for each game into a single file and then convert these along with their corresponding .cue files into CHD format. CHD (Compressed Hunks of Data) not only saves space but is also widely supported by emulators. Additionally, for games that span across multiple discs, I wanted to generate .m3u playlists to make switching discs as seamless as possible.

    To tackle this, I wrote a PowerShell script that automates the entire process:

    1. Merging .binfiles: For games with multiple .binfiles, the script merges them into a single .binfile per game, making management easier.
    2. Converting to CHD: It then converts the .bin/.cuefiles into the CHD format, significantly reducing the file size without loss of data.
    3. Generating .m3uplaylists: For multi-disc games, it creates .m3uplaylists, allowing for easy disc switching within emulators.

    I've relied on two key tools for this process:

    • binmerge for merging .binfiles. You can find the latest release here on GitHub.
    • chdman, part of the MAME suite, for converting to CHD format. More info on chdman can be found here.

    The script assumes you have these tools installed and accessible in your system's PATH, or you can specify their paths directly in the script.

    Here's how it works:

    • The script scans a specified directory for PSX games, each in its subdirectory.
    • For games with multiple .bin files, it merges them and outputs a single .bin and updated .cuefile.
    • It converts the resulting .bin/.cue files into CHD format, saving space.
    • Finally, it generates .m3u playlists for multi-disc games, all automatically.

    This has significantly streamlined getting my PSX collection ready for play on my 3DS, and I hope it can help others looking to do the same or similar with their retro gaming setups.

    If you're interested, I'm more than happy to share the script and delve into the details of how it works or how you can customize it for your setup. Let's keep the retro gaming spirit alive and well in the most efficient way possible!

    Happy gaming!

    Simply copy the code below and paste it into a new empty text document. change the extension from .txt to .ps1 and then right-click on it and select run with PowerShell.

    # Define paths to the utilities and directories
    $BINMERGE_PATH = "Y:\path\to\binmerge.exe"
    $CHDMAN_PATH = "Y:\path\to\chdman.exe"
    $PARENT_DIR = "Y:\path\to\PSX GAMES"
    
    # Define path to CHD directory (No need to change this one.)
    $CHD_OUTPUT_DIR = "$PARENT_DIR CHD"
    
    # Introduction with URLs to required utilities
    Write-Host "Preparing PlayStation games for RetroArch. Please ensure the following prerequisites are met:" -ForegroundColor Yellow
    Write-Host "1. The 'binmerge' utility is downloaded." -ForegroundColor Green
    Write-Host "    - Download from: https://github.com/putnam/binmerge/releases/latest" -ForegroundColor Blue
    Write-Host "2. The 'chdman' utility is downloaded." -ForegroundColor Green
    Write-Host "    - Download from: https://wiki.recalbox.com/en/tutorials/utilities/rom-conversion/chdman" -ForegroundColor Blue
    Write-Host "3. Games are organized in subdirectories within the specified parent directory." -ForegroundColor Green
    Write-Host "4. Paths to 'binmerge' and 'chdman' utilities are correctly set in the script variables." -ForegroundColor Green
    Write-Host "5. The output directory for .chd files will be created if it does not exist." -ForegroundColor Green
    Write-Host "6. Existing .chd files will not be overwritten unless necessary." -ForegroundColor Green
    Write-Host "7. M3U files for multi-disc games will be generated in the output directory." -ForegroundColor Green
    Write-Host "`nPlease verify the paths below are correct:" -ForegroundColor Yellow
    
    # Print paths for verification with structured layout
    $paths = @{
        "Binmerge Directory" = $BINMERGE_PATH
        "CHDMan Directory" = $CHDMAN_PATH
        "Parent Directory" = $PARENT_DIR
        "CHD Output Directory" = $CHD_OUTPUT_DIR
    }
    
    foreach ($path in $paths.GetEnumerator()) {
        Write-Host "$($path.Key): `t$($path.Value)" -ForegroundColor White
    }
    
    Write-Host "`nPress ENTER to continue, CTRL+C to abort..." -ForegroundColor Red
    Read-Host ">>"  # Prompt for user input to continue
    
    # Ensure the CHD output directory exists
    New-Item -ItemType Directory -Path $CHD_OUTPUT_DIR -Force | Out-Null
    
    function Get-TotalBinSize {
        param ([string]$DirectoryPath)
        $binFiles = Get-ChildItem -Path $DirectoryPath -Filter *.bin
        return ($binFiles | Measure-Object -Property Length -Sum).Sum
    }
    
    Get-ChildItem -Path $PARENT_DIR -Directory | ForEach-Object {
        $currentDir = $_.FullName
        $gameName = $_.Name
    
        if ($gameName -match "\(Merged\)") { return }
    
        $binFiles = Get-ChildItem -Path $currentDir -Filter *.bin
        $cueFile = Get-ChildItem -Path $currentDir -Filter *.cue | Select-Object -First 1
    
        if ($binFiles.Count -gt 0) {
            $targetName = $gameName
            if ($binFiles.Count -gt 1) { $targetName += " (Merged)" }
            $CHD_NAME = Join-Path $CHD_OUTPUT_DIR "$targetName.chd"
    
            $MERGED_DIR = Join-Path $_.Parent.FullName $targetName
            $OUT_CUE = Join-Path $MERGED_DIR "$targetName.cue"
            $totalSizeBeforeMerge = Get-TotalBinSize -DirectoryPath $currentDir
    
            if ($binFiles.Count -gt 1) {
                New-Item -ItemType Directory -Path $MERGED_DIR -Force | Out-Null
                $mergedBinPath = Get-ChildItem -Path $MERGED_DIR -Filter "*.bin" | Select-Object -First 1
                if ($null -eq $mergedBinPath -or (Get-Item $mergedBinPath.FullName).Length -ne $totalSizeBeforeMerge) {
                    Remove-Item -Path "$MERGED_DIR\*" -Include "*.bin", "*.cue" -Force
                    & $BINMERGE_PATH $cueFile.FullName $targetName -o $MERGED_DIR
                    Write-Host "Merged .bin files for $gameName"
                } else {
                    Write-Host "Correctly merged .bin file exists: $mergedBinPath"
                }
            }
    
            if (-not (Test-Path -Path $CHD_NAME)) {
                & $CHDMAN_PATH createcd -i $OUT_CUE -o $CHD_NAME
                Write-Host "Created CHD: $CHD_NAME"
            } else {
                Write-Host "CHD file already exists and is up to date: $CHD_NAME"
            }
        } else {
            Write-Host "No .bin files detected to process in: $currentDir"
        }
    }
    
    # M3U Creation and Processing
    Get-ChildItem -Path $CHD_OUTPUT_DIR -Filter *.m3u | Remove-Item -Force
    $chdFiles = Get-ChildItem -Path $CHD_OUTPUT_DIR -Filter *.chd | Where-Object { $_.Name -match '\(Disc\s+\d+\)' -or $_.Name -match '\(Merged\)' }
    
    if ($chdFiles.Count -gt 0) {
        $chdFiles | Group-Object { $_.BaseName -replace '\s+\(Disc\s+\d+\)|\(Merged\)', '' } | ForEach-Object {
            if ($_.Count -gt 1) {
                $m3uFileName = "$($_.Name).m3u"
                $_.Group | Sort-Object Name | ForEach-Object { Add-Content -Path (Join-Path $CHD_OUTPUT_DIR $m3uFileName) -Value $_.Name }
            }
        }
    } else {
        Write-Output "No relevant .chd files found for .m3u creation."
    }
    
    Write-Host "Processing complete."

    33 Comments
    2024/02/20
    05:50 UTC

    52

    Does anybody knows how to code/port games to 3ds?

    I saw few projects like portal and Doki Doki literature club getting ported to 3ds does anybody know how is it done and what language 3ds uses for games?

    20 Comments
    2024/02/14
    15:20 UTC

    352

    Moonlight on the 3DS

    211 Comments
    2024/02/05
    17:45 UTC

    19

    Where do i start with coding 3ds mods/games?

    I've been interested in mod making/game making. Where should i start and what should i know?

    6 Comments
    2024/02/04
    04:09 UTC

    27

    I ripped the ground track, can i use any of the other ones?

    6 Comments
    2024/02/01
    11:32 UTC

    38

    Pokemon gts shutdown

    So the gts will be shutting down and I need to find a way to still access when they do shut down I tried using pretendo but it says the service no longer exists when I switch to the server and load the gts should can someone help me with access after the shut down it would be extremely helpful

    16 Comments
    2024/01/29
    11:28 UTC

    Back To Top