A fork of the Rust compiler with Z80 and SM83 (Game Boy) target support, using the llvm-z80 LLVM backend.
z80-unknown-none-elfsm83-nintendo-none-elf
- Build the llvm-z80 LLVM backend:
git clone https://github.com/llvm-z80/llvm-z80.git cd llvm-z80 cmake -S llvm -B build -G Ninja \ -DCMAKE_BUILD_TYPE=Release \ -DLLVM_TARGETS_TO_BUILD="Z80" ninja -C build- Create
bootstrap.tomlin the Rust source root:
[llvm] download-ci-llvm = false [target.x86_64-unknown-linux-gnu] llvm-config = "/path/to/llvm-z80/build/bin/llvm-config" llvm-has-rust-patches = false- Build the compiler:
./x.py build --target z80-unknown-none-elf libraryextern "sdcccall-0"— SDCC calling convention (feature gate:abi_sdcccall0)extern "z80-interrupt"— Z80 interrupt handler (feature gate:abi_z80_interrupt)
Rust is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0), with portions covered by various BSD-like licenses.
See LICENSE-APACHE, LICENSE-MIT, and COPYRIGHT for details.