BACON, a compiler that translates MSX-BASIC programs into machine code for MSX computers, with PLAY (PSG music) support.
hra1129/zma
A command-line cross assembler for Z80 and R800 processors, built for Windows and also buildable on Linux and macOS.
- Stars
- 25
- Forks
- 5
- Open issues
- 0
- Last commit
- 6 days ago
What is it?
zma is a cross assembler that turns Z80 and R800 assembly source code into machine code. It runs as a command-line tool, which suits developers working on retro computer software, MSX-related programs, or other Z80-based targets.
The primary target platform is Windows, where the project is built with Visual Studio 2022. Linux and macOS builds are supported through a make-based build in the src/linux directory. The project includes a Japanese user manual in PDF and Markdown form, plus regression tests for operand validation and conditional assembly layout.
Key features
- 01Assembles Z80 and R800 instruction sets from source files.
- 02Runs as a command-line application.
- 03Can be built on Windows with Visual Studio 2022 or on Linux and macOS with make.
- 04Includes regression tests for invalid operands and conditional assembly layout.
Use cases
- Building Z80 programs for MSX or other Z80-based retro systems on a modern PC.
- Assembling Z80 code on Linux or macOS in a scripted build pipeline.
- Verifying assembler output against existing opcode binary fixtures.
Quick start
- 1
Clone the repository
- 2
Build on Linux or macOS from the src/linux directory
cd src/linux && make
Things to know
- The README describes it as a Windows command-line application; Linux and macOS builds are secondary.
- Documentation is primarily in Japanese.
Topics
FAQ
- What is zma?
- A command-line cross assembler for Z80 and R800 processors, built for Windows and also buildable on Linux and macOS. zma is a cross assembler that turns Z80 and R800 assembly source code into machine code. It runs as a command-line tool, which suits developers working on retro computer software, MSX-related programs, or other Z80-based targets.
- Is zma free to use? What license does it have?
- zma is open source under the MIT license. Check the license terms before using it in commercial products.
- Is zma still maintained?
- Actively maintained. The last commit to zma was on Oct 31, 2026.
- What can I use zma for?
- Building Z80 programs for MSX or other Z80-based retro systems on a modern PC. Assembling Z80 code on Linux or macOS in a scripted build pipeline. Verifying assembler output against existing opcode binary fixtures.
- How do I install zma?
- Clone the repository Build on Linux or macOS from the src/linux directory: cd src/linux && make
- Where can I get zma?
- The source code and installation instructions are on GitHub: https://github.com/hra1129/zma
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A C++ library for low-latency machine code generation, letting programs emit x86/x64 and AArch64 instructions at runtime.
An x86 PC emulator that runs in the browser, translating machine code to WebAssembly at runtime to boot real operating systems.
A low-level x86 emulator that runs vintage operating systems and software for IBM PC and compatible machines from 1981 onward.
Runs 16-bit Windows (1.x to 3.1) programs on 64-bit Windows through an emulator, with a DOS mode for DOS executables.
A macOS app that runs Intel macOS versions from Tiger 10.4 to Big Sur 11 on Apple silicon Macs, with graphics acceleration.