Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/kassane/zig-mos-examples

Using zig + llvm-mos-sdk on some examples
https://github.com/kassane/zig-mos-examples

6502 c64 commodore64 hello-world llvm-mos neo6502 nes nesdev nesdoug zig zig-mos

Last synced: 4 months ago
JSON representation

Using zig + llvm-mos-sdk on some examples

Awesome Lists containing this project

README

        

# Zig language & toolchain in MOS6502 examples

Using zig [LLVM 20] + LLVM-MOS-SDK on some examples

This repository contains examples showcasing the usage of the Zig programming language
with the LLVM-MOS backend in the Zig toolchain version 0.14.0-dev (LLVM 20). These examples
aim to provide a comprehensive reference for developers interested in leveraging Zig for
MOS 6502-based development.

### Getting Started

To build and run these examples, ensure you have the Zig toolchain version 0.14.0-dev + LLVM-MOS-SDK installed.

### Required

- [Zig-mos](https://github.com/kassane/zig-mos-bootstrap/releases)
- [LLVM-MOS-SDK](https://github.com/llvm-mos/llvm-mos-sdk/releases)

**Clone this repository:**

```bash
git clone https://github.com/kassane/zig-mos-examples.git
cd zig-mos-examples
```

Choose the example to be built and have fun.

### References

These examples draw inspiration from various sources:

- [LLVM-MOS-SDK Examples](https://github.com/llvm-mos/llvm-mos-sdk/tree/main/examples): Borrowing concepts and methodologies from the official LLVM-MOS-SDK examples, adapt them to showcase Zig's capabilities.
- [Nesdoug (LLVM-MOS compat) Tutorial](https://github.com/mysterymath/nesdoug-llvm): Leveraging insights and techniques from the Nesdoug tutorial, provide Zig-specific implementations for MOS 6502 development.
- Rust-MOS Examples: Explore similar use cases and approaches in Zig for MOS 6502 development.
- https://github.com/mrk-its/rust-mos-hello-world
- https://github.com/mrk-its/llvm-mos-ferris-demo

### Contributing

Contributions to this repository are welcome! Whether it's fixing bugs, adding new examples, or improving existing ones, your contributions help make this resource more valuable to the community. Please refer to the CONTRIBUTING.md file for guidelines on how to contribute.

### License

This repository is licensed under the APACHE 2.0 License. See the LICENSE file for details.

### Disclaimer

These examples are provided for educational and illustrative purposes. While efforts have been made to ensure accuracy and reliability, they may not be suitable for production use without further validation and testing. Use at your own risk.