AI Generated code is not allowed in any form in this repo

Scan QR code to download!
GBAtemp thread: https://gbatemp.net/threads/netpass-a-new-way-to-experience-streetpass.664005/
Discord guild: https://netpass.cafe/discord
Introducing NetPass:
In the current state of the world, the 3DS is, sadly, on decline. That makes getting StreetPasses harder and harder, due to fewer and fewer people taking their 3DS with them on a walk. This is where NetPass comes in!
Unlike StreetPass, NetPass works over the internet. Upon opening NetPass, you can pick various locations to go to, i.e. the train station, or a town plaza. Upon entering a location, you get passes from others who are in the same location! And, while you are at the location, others who enter it can get passes with you. But beware! You can only switch locations once every 10 hours!
The source code of this project is licensed under GPLv3 or later. See the included LICENSE.
Other assets, such as images and sounds, are licensed under CC-BY-NC. See the included LICENSE-assets.
If you want to contribute to translations, we are doing that on our Weblate!
You need to have the following tools installed and added in your PATH environment variable:
-
After installing devkitPro, you will need to download the following using devkitPro pacman or the devkitPro updater:
3ds-dev3ds-curl3ds-opusfile
In other words, you'll need to run the following command in a Terminal/command prompt (with administrator/root privileges):
dkp-pacman -S 3ds-dev 3ds-curl 3ds-opusfile
Or if you are using a customized Pacman install:
pacman -S 3ds-dev 3ds-curl 3ds-opusfile
-
Citro2D: We use a modified Citro2D, you have to build it from here
- Makerom: You need the
makeromexecutable in yourPATHenvironment variable You can get it precompiled on https://github.com/3DSGuy/Project_CTR/releases and then copy it to$DEVKITPRO/tools/bin
You will need to install the following tools. Make sure they are in your PATH environment variable.
You will also have to manually dump the decrypted code of each of the sysmodules to patch from a 3DS, and then place the file as code.bin into the respective patch folder.
- Boot into GodMode9
- Press the Home button, select
Title managerand press A - Select
[1:] NAND / TWLand press A - For each sysmodule:
- Find its TitleID in the list
- BOSS:
0004013000003402 - CECD:
0004013000002602 - NS:
0004013000008002 - SSL:
0004013000002F02
- BOSS:
- Select it and press A
- Select
Open title folderand press A - Without changing your selection, press A
- Select
NCCH image options...and press A - Select
Extract .codeand press A - Wait for the operation to finish. When prompted, press A to continue
- Find its TitleID in the list
- Plug your SD card into your computer
- You should find files named
<TitleID>.dec.codewith<TitleID>being the TitleIDs of each sysmodule - Copy them over to their respective folder (under
./patches/<sysmodule name>/) - Rename each file into
code.bin
This project ships with a Makefile, which is meant to simplify the compilation process. If you're unfamiliar with them, you can find out more about GNU Make here.
As a 3DSX file:
makeAs both a 3DSX and a CIA file:
make allYou will find the compiled binaries in the ./out/ directory.
make patchesYou will find the resulting IPS patches in the ./romfs/patches directory.
- This gist by wwylele, describing some cecd functionality
- This repo by NarcolepticK documenting some more of the cecd sysmodule
- StreetPass 2 for valuable StreetPass data dumps
- Sheeple & the SpotPass Archival Project contributors for valuable SpotPass data dumps
- 3DBrew and all its contributors, especially of the CECD service and SpotPass-related structures
- DaniElecta for his BOSS module research and documentation
- English: Sorunome
- German: Sorunome
- Russian: Rednorka, Geo
- Japanese: Akira SUNADUKA
- Polish: DanteyPL
- Spanish: Gato-kun, Amnesia1000
- French: Straky, Possemelius, Tourneur
- Italian: LNLenost
- Chinese (Traditional): ManLok Ho
- Ukrainian: Geo
- Portuguese: Lia, arth
- Dutch: Robbin12391, aiydn
- RSM: SpotPass URL rewriting patch for the BOSS sysmodule