All Projects → Rinnegatamante → Lpp 3ds

Rinnegatamante / Lpp 3ds

Licence: gpl-3.0
Lua Player Plus for 3DS

Projects that are alternatives of or similar to Lpp 3ds

Mages
🎩 MAGES is a very simple, yet powerful, expression parser and interpreter.
Stars: ✭ 92 (-26.4%)
Mutual labels:  interpreter
Dummylua Tutorial
这是一个仿制lua解释器的项目,我希望通过逐步实现lua解释器的各个部分,更加深刻地掌握lua的基本结构和运作原理。
Stars: ✭ 108 (-13.6%)
Mutual labels:  interpreter
Atto
An insanely simple self-hosted functional programming language
Stars: ✭ 119 (-4.8%)
Mutual labels:  interpreter
Root
The official repository for ROOT: analyzing, storing and visualizing big data, scientifically
Stars: ✭ 1,377 (+1001.6%)
Mutual labels:  interpreter
Swiftylisp
A minimal LISP implemented in Swift
Stars: ✭ 106 (-15.2%)
Mutual labels:  interpreter
Apple Juice Actionscript
Pure .NET 2.0 code Implementation of the ActionScript3 compiler and runtime. Can be used to run scripts in environments where "just-in-time compilation" is not possible
Stars: ✭ 112 (-10.4%)
Mutual labels:  interpreter
Feral
Feral programming language reference implementation
Stars: ✭ 89 (-28.8%)
Mutual labels:  interpreter
Lice
A multi-paradigm programming language running on JVM
Stars: ✭ 120 (-4%)
Mutual labels:  interpreter
Libforth
libforth: A small Forth interpreter that can be used as a library written in c99
Stars: ✭ 107 (-14.4%)
Mutual labels:  interpreter
Cpi
Tiny c++ interpreter
Stars: ✭ 116 (-7.2%)
Mutual labels:  interpreter
Lispe
An implementation of a full fledged Lisp interpreter with Data Structure, Pattern Programming and High level Functions with Lazy Evaluation à la Haskell.
Stars: ✭ 105 (-16%)
Mutual labels:  interpreter
Angu
A small DSL/interpreter that can be used to evaluate simple expressions
Stars: ✭ 105 (-16%)
Mutual labels:  interpreter
Brain
An esoteric programming language compiler on top of LLVM based on Brainfuck
Stars: ✭ 112 (-10.4%)
Mutual labels:  interpreter
Sniprun
A neovim plugin to run lines/blocs of code (independently of the rest of the file), supporting multiples languages
Stars: ✭ 93 (-25.6%)
Mutual labels:  interpreter
Writing an interpreter in elixir
Elixir implementation of an interpreter for the Monkey programming language
Stars: ✭ 119 (-4.8%)
Mutual labels:  interpreter
Wasm Forth
A Forth implementation compiling to WebAssembly.
Stars: ✭ 92 (-26.4%)
Mutual labels:  interpreter
Quickjs
The official repo is at bellard/quickjs.
Stars: ✭ 1,429 (+1043.2%)
Mutual labels:  interpreter
Cperl
A perl5 with classes, types, compilable, company friendly, security
Stars: ✭ 125 (+0%)
Mutual labels:  interpreter
Simple
The Simple Intelligent and Modular Programming Language and Environment
Stars: ✭ 120 (-4%)
Mutual labels:  interpreter
Pointless
Pointless: a scripting language for learning and fun
Stars: ✭ 116 (-7.2%)
Mutual labels:  interpreter

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
Utilities
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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].