Description
Lua Player Plus 3DS is the first lua interpreter made for Nintendo 3DS.
The interpreter currently runs under Lua 5.3.1. It has also a debug FTP server to correct your errors in runtime.
Official documentation: http://rinnegatamante.it/lpp-3ds_doc.html
Official support board: http://rinnegatamante.it/board/forumdisplay.php?fid=12
Features
Graphics
- Advanced 2D Graphics Rendering (CPU and GPU)
- Basic 3D Rendering
- Native support to TTF fonts
- Native support to BMP/PNG/JPG images
- Native support to JPGV video files
- Native support to stereoscopic 3D effect
Sounds
- Sound system with support for WAV/AIFF/OGG audio files
- Support to different interpolation modes (None, Linear, Polyphase)
- Complete access to Microphone for sound registration
Controls
- Controls system with full console support
- Built-in Keyboard system
Network
- Easy to use networking basic features
- Built-in Mail Sender system
- Complete sockets system support
- Built-in debug FTP server
- SSL connections support
System
- Access to a lot of Nintendo syscalls
- Native support to CIA files managing
- Native support to 3DSX and SMDH files
- Native support to ZIP archives
- I/O access for SD card and Extdata archives
- Native support to console Camera to take photos
- Native support to ARM9 payloads loading
Utilities
- Timer system
- Advanced arithmetical functions support (math library)
Nightly Builds
We offer an automated builder service for our nightly builds. Nightly builds are automatically updated every 4 hours by a server we own. To take advantage of this service, you should visit this page.
Showcase
Here are some 3DS homebrews made using Lua Player Plus 3DS:
Games
- Labyrinth 3D
- Blackjack 3DS
- Asteroids 3D
- PixelRoad
- 3DSudoku
- WANT3D
- 4Rows
- 3DSHangman
- 3DS Briscola
- EUCLIOD
- RPS 3D
- Cookie Clicker
- TriaAl
Utilities
- CHMM2
- Sunshell
- ORGANIZ3D
- NASA
- Manga Reader
- Alarm Clock
- SOON!
- Bird Whisperer
- Dice 3DS
- LiveScore 3DS
- Tinker
- MCIT
- Video Channels Creator
- BLEND3R
- Homebr3w
- luaIrc
- FileKong
Engines & Interpreters
Updaters
Compiling the source
The repository will provide you a full set of all of the needed libraries. Take in mind that a lot of them are modified versions of the original ones so if you want to update them, take a look at this repository where you can find sourcecodes of every pre-builded library used in this repository. Also take in mind that libkhax includes also libSu sourcecode. Last but not least, please note that libjpeg.a file is a standard compilation of libjpeg-turbo.
Lua Player Plus 3DS supports different flags to enables some features:
-DUSE_MEMCHUNKHAX2 enables memchunkhax2 usage through svchax at startup for firmwares between 9.3 and 10.7.
-DCITRA3DS_COMPATIBLE removes romFs support causing Citra3DS emulator crash.
-DSKIP_ERROR_HANDLING disables error handling for faster code execution (this is used for Unsafe version).
-DFORCE_SD forces interpreter to load main script from SD instead of romFs filesystem.
-DFORCE_DSP forces interpreter to use dsp::DSP audio service even if csnd:SND is available.
Credits
- Everyone involved in ctrulib creation
- Smealum for ftpony source used for debug ftp server
- Myria for libkhax
- xerpi for sf2dlib
- fincs for citro3dlib
- Sean Barrett for stb_truetype
- Everyone involved in lodepng, zlib, mpg123, libogg, vorbisfile libraries
- Everyone involved in Brahma developing
- aliaspider for svchax
- Misledz for the Lua Player Plus 3DS logo
- EasyRPG Team for the AudioDecoder used for MP3 support
- ksanislo for the network module improvements
- Special thanks to Aurelio and ihaveamac for testing interpreter features