Build instructions for Emulator (Unix port)
First clone, initialize submodules, install Poetry and enter the Poetry shell as
defined here. Do not forget you need to be in a
Install the required packages, depending on your operating system.
sudo apt-get install scons libsdl2-dev libsdl2-image-dev llvm-dev libclang-dev clang
sudo yum install scons SDL2-devel SDL2_image-devel clang-devel
sudo zypper install scons libSDL2-devel libSDL2_image-devel
sudo pacman -S scons sdl2 sdl2_image clang-devel
There is a
shell.nix file in the root of the project. Just run the following before entering the
- Mac OS X:
Consider using Nix. With Nix all you need to do is
For other users:
brew install scons sdl2 sdl2_image pkg-config llvm
- Windows: not supported yet, sorry.
You will require Rust and Cargo. The currently supported version is 1.64 nightly. The
recommended way to install both is with
rustup. Make sure you
are up to date:
rustup default nightly rustup update
The bindgen crate requires libclang for generating MicroPython FFI.
Run the build with:
Now you can start the emulator:
The emulator has a number of interesting features all documented in the Emulator section.
Building for debugging and hacking in Emulator (Unix port)
Build the debuggable unix binary so you can attach the gdb or lldb. This removes optimizations and reduces address space randomization. Beware that this will significantly bloat the final binary and the firmware runtime memory limit HEAPSIZE may have to be increased.
DEBUG_BUILD=1 make build_unix