Lua Player Plus 3DS
From GameBrew - a wiki dedicated to Video Game Homebrew.
|lpp-3ds - Lua Player Plus|
|Version||r5 (28 Feb 2016)|
Lua Player Plus 3DS is the first lua interpreter made for the Nintendo 3DS. The interpreter currently runs under Lua 5.3.1. It has also a debug FTP server to correct your errors in runtime.
- 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.
- 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 system with full console support.
- Built-in Keyboard system.
- Easy to use networking basic features.
- Built-in Mail Sender system.
- Complete sockets system support.
- Built-in debug FTP server.
- SSL connections support.
- 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.
- Timer system.
- Advanced arithmetical functions support (math library).
You can find the official documentation in the archive, or you can visit the official webpage for the online version.
Official support board is available here.
Here are some 3DS homebrews made using Lua Player Plus 3DS:
|Utilities||Games||Updaters||Engines & Intepreters|
|Sunshell||Blackjack 3DS||encTitleKeysUpdater||RayCast3D Engine|
|ORGANIZ3D||Asteroids 3D||Corbenik CFW Updater||Crimson Scripter|
|Dice 3DS||3DS Briscola|
|Video Channels Creator||TriaAl|
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.
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 - Enable memchunkhax2 usage through svchax at startup for firmwares between 9.3 and 10.7.
- DCITRA3DS_COMPATIBLE - Remove romFs support causing Citra3DS emulator crash.
- DSKIP_ERROR_HANDLING - Disable error handling for faster code execution (this is used for Unsafe version).
- DFORCE_SD - Force interpreter to load main script from SD instead of romFs filesystem.
- DFORCE_DSP - Force interpreter to use dsp::DSP audio service even if csnd:SND is available.
Lua interpreter (Tralala LS)
- 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.
- Author's website - https://rinnegatamante.it
- GibHub - https://github.com/Rinnegatamante/lpp-3ds
- GBAtemp - https://gbatemp.net/threads/release-lua-player-plus-3ds-lpp-3ds-lua-interpreter-for-3ds.384202