Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
rusty-dos
A Rust skeleton for an MS-DOS program for IBM compatibles and the PC-98, including some PC-98-specific functionality
-
gcc-ia16
Fork of Lambertsen & Jenner (& al.)'s IA-16 (Intel 16-bit x86) port of GNU compilers ― added far pointers & more • use https://github.com/tkchia/build-ia16 to build • Ubuntu binaries at https://launchpad.net/%7Etkchia/+archive/ubuntu/build-ia16/ • DJGPP/MS-DOS binaries at https://gitlab.com/tkchia/build-ia16/-/releases • mirror of https://gitlab.com/tkchia/gcc-ia16
You could look at LLVM-MOS, the port of LLVM to the 6502. It might give you some ideas around the problems to solve https://llvm-mos.org/wiki/Welcome https://github.com/llvm-mos/llvm-mos
One (hacky) way to target CPUs not supported by Rust/LLVM, is to write emulator in language that works on that target (C/Asm) of a platform that rust can compile to. For example, someone made Rust work on 8051 by writing Risc-V emulator in 8051 assembly: https://github.com/cyrozap/rv51
I assume that's what rusty-dos is using, given this bit from the README:
or GCC IA 16 (https://github.com/tkchia/gcc-ia16) gets someday mainlined (also a multi month/years project) and then gccrs can maybe use it as backend
Related posts
- LLVM-MOS 6502 Compiler Backend: Having a Blast in the Past
- Explaining my fast 6502 code generator
- A Graphical OS for the Atari 8-bit
- I'm sorry honey, it's just not working out. Our relationship worked when we were younger, but we're both older now and we've grown apart. This issue is to fully eliminate LLVM, Clang, and LLD libraries from the Zig project.
- The Rise of Rust, the ‘Viral’ Secure Programming Language That’s Taking Over Tech