/r/3dshacks
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:
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
Thanks to /u/MachMatic for creating the subreddit banner!
Thanks to /u/geo1088 for the Tora theme!
Related Nintendo Subreddits:
/r/3dshacks
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!
Period.
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
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.
With the closure of the 3DS and Wii U online services, SpotPass features will stop working in many 3DS and Wii U titles.
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.
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
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:
I've relied on two key tools for this process:
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:
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."
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?
I've been interested in mod making/game making. Where should i start and what should i know?
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