Lua Player Plus 3DS

From GameBrew

lpp-3ds - Lua Player Plus
Last Updated2016/02/28
TypeOther Apps

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.


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

User guide

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.

Homebrew Showcase

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

Utilities Games Updaters Engines & Intepreters
CHMM2 Labyrinth 3D StarUpdater VN3DS
Sunshell Blackjack 3DS encTitleKeysUpdater RayCast3D Engine
ORGANIZ3D Asteroids 3D Corbenik CFW Updater Crimson Scripter
NASA PixelRoad EasyRPG Updater
Manga Reader 3DSudoku
Alarm Clock WANT3D
SOON! 4Rows
Bird Whisperer 3DSHangman
Dice 3DS 3DS Briscola
Tinker RPS 3D
MCIT Cookie Clicker
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.

External links