Skip to content

llvm-z80/rust-z80

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

320,661 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Rust-Z80

A fork of the Rust compiler with Z80 and SM83 (Game Boy) target support, using the llvm-z80 LLVM backend.

Supported targets

  • z80-unknown-none-elf
  • sm83-nintendo-none-elf

Building

  1. 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
  1. Create bootstrap.toml in 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
  1. Build the compiler:
./x.py build --target z80-unknown-none-elf library

New ABIs

  • extern "sdcccall-0" — SDCC calling convention (feature gate: abi_sdcccall0)
  • extern "z80-interrupt" — Z80 interrupt handler (feature gate: abi_z80_interrupt)

License

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.

About

Empowering everyone to build reliable and efficient software.

Resources

License

Apache-2.0 and 2 other licenses found

Licenses found

Apache-2.0
LICENSE-APACHE
MIT
LICENSE-MIT
Unknown
license-metadata.json

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Rust 90.2%
  • HTML 7.0%
  • Shell 0.7%
  • C 0.6%
  • JavaScript 0.5%
  • Python 0.3%
  • Other 0.7%