1
0

newWebsite2.0

This commit is contained in:
Br0tcraft
2026-08-20 20:36:47 +02:00
parent 7020f970d8
commit 7d975feae4
100 changed files with 6774 additions and 3327 deletions

25
content/3ds/index.json Normal file
View File

@@ -0,0 +1,25 @@
{
"title": "3ds Homebrew Dev Notes",
"chapters": [
{
"title": "Introduction",
"file": "intro.md",
"id": "intro"
},
{
"title": "DevkitPro Setup",
"file": "devkitpro.md",
"id": "devkitpro"
},
{
"title": "Specs",
"children": [
{
"title": "RAM Allocation",
"file": "specs/ram-allocation.md",
"id": "ram-allocation"
}
]
}
]
}

32
content/3ds/intro copy.md Normal file
View File

@@ -0,0 +1,32 @@
## A little overview about 3ds specs that should be known when working on homebrew for it
### Hardware
#### New 3DS
(New 3DS, New 3DS XL, New 2DS XL)
CPU
ARM11 @ 804 MHz (Quad-core)
GPU
Custom PICA200 @ 268 MHz
RAM
256 MB (more infos here: )
VRAM
10 MB
Display
Top: 400x240
Bottom: 320x240
#### Old 3DS
(Old 3DS, Old 3DS XL, Old 2DS)
CPU
ARM11 @ 268 MHz (Dual-core)
GPU
Custom PICA200 @ 134 MHz
RAM
128 MB
VRAM
10 MB
Display
Top: 400x240
Bottom: 320x240
### Homebrew

30
content/3ds/intro.md Normal file
View File

@@ -0,0 +1,30 @@
# 3DS Homebrew Development Wiki & Lookup Table
Welcome to the ultimate resource for Nintendo 3DS homebrew development using devkitPro. This guide covers everything from setting up your toolchain to advanced hardware specifications and CIA deployment.
🗺️ Documentation Roadmap
1. Toolchain & Environment Setup
Part 1: Installing devkitPro — Step-by-step installation for Windows, Arch Linux, and Debian using the dkp-pacman package manager.
Part 2: Modern VS Code Integration — Configuring C/C++ IntelliSense, include paths, and automated build tasks for seamless auto-completion.
2. Core Development & Compilation
Part 3: Anatomy of a 3DS Makefile — Customizing your application's metadata (Name, Author, Description, and Icon).
Part 4: The Build Pipeline (.3dsx) — Understanding how source code becomes an executable homebrew file.
3. OS Services & Hardware Interfacing
Part 5: Storage & File Systems — Working with sdmc:/ (SD Card) and compiling assets into romfs:/.
Part 6: System APIs & Services — Interfacing with the OS: Battery status, System Clock, Notifications, and Mii data.
Part 7: Networking & Threads — Implementing multi-threading via libctru and managing Wi-Fi/Network sockets.
4. Advanced Deployment & Assets
Part 8: Creating .cia Files — Packaging your app for direct installation onto the 3DS Home Menu.
Part 9: Crafting App Banners (2D & 3D) — Designing and compiling custom 2D icons and 3D top-screen banners.
5. Hardware Architecture & Technical Specifications
Part 10: Memory (RAM) Restrictions — Navigating the strict memory layouts of Old 3DS vs. New 3DS.
Part 11: CPU & GPU Architecture — Understanding the ARM11/PICA200 limits and graphic rendering options.

View File

@@ -0,0 +1,26 @@
# RAM Allocation Guide
When developing homebrew for the Nintendo 3DS, available RAM depends heavily on two factors: how your application is packaged (.3dsx vs. .cia) and the console hardware (Old 3DS vs. New 3DS).
## 1. Homebrew Launcher (.3dsx) vs. Installed CIA (.cia)
### .3dsx (Launched via Homebrew Launcher)
When launching a .3dsx file, your application inherits the memory constraints of the host application used to exploit the system (usually the Nintendo 3DS Sound app or the internet browser via safehax).
* **Available RAM**: You are generally limited to roughly 32 MB to 64 MB of linear memory, as the system allocates the rest to the operating system and the host applet.
* **Limitation**: You cannot request extended memory modes or access New 3DS-exclusive RAM via a .3dsx file.
### .cia (Installed to Home Menu)
An installed .cia acts like a native retail game. It uses a Result Spec File (.rsf) during compilation to explicitly tell the 3DS OS how much memory to allocate and which CPU mode to use.
## 2. Memory Modes & .rsf Flags (Old 3DS vs. New 3DS)
The Old 3DS has 128 MB of total RAM, while the New 3DS has 256 MB. How you configure your .rsf file determines how much of this memory your app can touch.
| Memory Mode | Available RAM | O3DS Behavior | N3DS Behavior |
|-------------|---------------|---------------|---------------|
| **Application (Default)** | **64 MB** | Standard mode. System applets (Friends list, Browser) remain suspended in the background. Quick launch/exit. | Standard mode. Works identically to O3DS. |
| **SystemMode32** | **32 MB** | Limits the app to 32 MB. Historically used by simple tools to slightly decrease boot times. | Works identically, but rarely used for homebrew. |
| **SystemMode4 (Extended Memory)** | **80 MB** | **Requires App Reboot**: The OS terminates background applets to free up an extra 16 MB. Exiting to the Home Menu forces a console soft-reboot. | **No Reboot Needed**: Because the N3DS has 256 MB of RAM, it can grant 80 MB easily without closing background applets. |
| **SystemMode5 (Extended Memory)** | **96 MB** | **Requires App Reboot**: Used by late-generation heavy games (e.g., Super Smash Bros.). Frees up 32 MB by completely shutting down the Home Menu/OS applets. Exiting forces a long soft-reboot. | **No Reboot Needed**: The N3DS handles this natively without needing a soft-reboot. |
**Example of Extended Memory Usage:** Super Smash Bros. 3DS and Monster Hunter 4 Ultimate use SystemMode5 (96MB) on an Old 3DS, causing the famous "soft-reboot" when you close them.

View File

@@ -0,0 +1 @@
# Einleitung\nDas ist der erste Teil einer strukturierten Dokumentation.

View File

@@ -0,0 +1 @@
# Installation\nHier steht, wie man alles installiert.

View File

@@ -0,0 +1 @@
# Performance\nOptimierungstipps für Profis.

View File

@@ -0,0 +1,13 @@
{
"title": "Struktur-Demo",
"chapters": [
{ "title": "Einleitung", "file": "01-intro.md", "id": "intro" },
{ "title": "Installation", "file": "02-install.md", "id": "install" },
{
"title": "Fortgeschritten",
"children": [
{ "title": "Performance", "file": "adv/performance.md", "id": "perf" }
]
}
]
}