This is a sample application for 3ds homebrew (aka SDK).
Homebrew application for 3ds such as Video player for 3DS and Battery mark for 3DS are based on this sample code.
Currently this sample application contains following samples :
- Draw image sample
- File explorer sample
- Hardware settings sample
- Camera and mic sample
- Speaker sample
This is a sample code to draw images such as .png and .jpg.
Application source code : source/sub_app0.cpp
Used APIs :
This is a sample code to use file explorer.
Application source code : source/sub_app1.cpp
Used APIs :
This is a sample code to change hardware settings such as wifi state, screen brightness and sleep.
Application source code : source/sub_app2.cpp
Used APIs :
This is a sample code to take a picture by using camera and record sound by using mic.
Application source code : source/sub_app3.cpp
Used APIs :
Util_cam*()
Util_converter_convert_color()
Util_encoder*(), Util_audio_encoder*(), Util_image_encoder_encode()
Util_mic*()
Util_queue*()
This is a sample code to playback audio.
Application source code : source/sub_app4.cpp
Used APIs :
You need :
If you want to build .cia, then you also need :
- bannertool and makerom (Copy them in your path e.g. in
{devkitPro_install_dir}\tools\bin
).
If you already have devkitpro, type {devkitPro_install_dir}\devkitARM\bin\arm-none-eabi-gcc -v
.
You should see something like :
.....
.....
.....
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 13.2.0 (devkitARM release 62)
Make sure you have release 62.
(later version may work but sometimes later version has incompatibility)
If you have older devkitpro, update it or compilation will fail.
- Clone this repository
- On windows run
build.bat
- On other system, type
make
(make -j
for faster build)
- On windows run
This software is licensed as GNU General Public License v3.0.
Third party libraries are licensed as :
Library | License |
---|---|
Base64 | No specific license name |
citro2d | zlib License |
citro3d | zlib License |
curl | No specific license name |
dav1d | BSD 2-Clause |
ffmpeg | GNU General Public License v2.0 |
libctru | zlib License |
mbedtls | Apache License 2.0 |
mp3lame | GNU Lesser General Public License v2.0 |
stb_image | Public Domain |
x264 | GNU General Public License v2.0 |
zlib | zlib License |