Skip to content
Branch: master
Go to file


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:
Official support board:


  • 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)

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.


Here are some 3DS homebrews made using Lua Player Plus 3DS:

Engines & Interpreters

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.


  • 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
You can’t perform that action at this time.