Last Updated: August 13, 2025
-
mz- MinZ Compiler (formerly minzc)- Compiles
.minz→.a80/.c/.wasm/.mir - Multi-backend support
- Main development tool
- Compiles
-
mza- MinZ Assembler- Assembles
.a80→.bin - Z80 assembly to binary
- Supports multiple output formats
- Assembles
-
mze- MinZ Emulator- Z80 emulation environment
- Runs
.binfiles - Built-in debugger
-
mzr- MinZ REPL (formerly minzr)- Interactive MinZ shell
- Immediate code execution
- Learning and experimentation
-
mzv- MinZ VM (MIR Virtual Machine) 🆕- Executes
.mirbytecode directly - Platform-independent execution
- Debugging and profiling support
- Executes
-
mzd- MinZ Debugger 🆕- Source-level debugging
- Breakpoints and stepping
- Memory inspection
-
mzl- MinZ Linker 🆕- Links multiple
.ofiles - Library management
- Symbol resolution
- Links multiple
-
mzp- MinZ Package Manager 🆕- Dependency management
- Package distribution
- Version control
.minz source
↓
[mz] compiler → .mir (intermediate)
↓ ↓
[mz -b z80] [mzv] VM execution
↓
.a80 assembly
↓
[mza] assembler
↓
.bin binary
↓
[mze] emulator
-
Update all binary names:
minzc→mzminzr→mzr(if exists)
-
Update all documentation:
- README.md
- CLAUDE.md
- All docs/*.md files
- All examples comments
// cmd/mzv/main.go - MIR VM Implementation
package main
import (
"github.com/minz/minzc/pkg/mir"
"github.com/minz/minzc/pkg/vm"
)
func main() {
// Load MIR bytecode
// Execute in VM
// Return result
}- Unified CLI interface
- Shared configuration
- Cross-tool debugging
# Compile
minzc program.minz -o program.a80
# Assemble
mza program.a80 -o program.bin
# Run REPL
minzr# Compile to assembly
mz program.minz -o program.a80
# Compile to MIR and run in VM
mz program.minz -o program.mir
mzv program.mir
# Direct compilation and execution
mz program.minz | mzv -
# Assemble to binary
mza program.a80 -o program.bin
# Emulate
mze program.bin
# Interactive REPL
mzrcurl -sSL https://minz-lang.org/install.sh | sh
# Installs: mz, mza, mze, mzr, mzvcd minzc
make all-tools
# Builds all tools with correct names- Input:
.minzsource files - Output:
.a80,.c,.wasm,.mir,.ll,.s - Backends: z80, 6502, 68000, c, wasm, llvm, mir
- Features: Optimization, SMC, CTIE
- Input:
.a80assembly files - Output:
.bin,.hex,.tap,.sna - Targets: ZX Spectrum, MSX, CP/M, bare metal
- Features: Macros, includes, symbol tables
- Input:
.bin,.tap,.snafiles - Emulation: Z80, Z180, eZ80
- Features: Debugger, profiler, memory viewer
- Speed: ~3.5MHz (authentic) to max
- Input: Interactive MinZ code
- Output: Immediate results
- Features: History, completion, help
- Backend: MIR VM or native
- Input:
.mirbytecode files - Output: Program execution results
- Features: JIT compilation, profiling
- Platforms: All (pure Go implementation)
- Consistency - All tools start with
mz - Discoverability - Type
mz+ TAB for all tools - Professionalism - Clean, memorable names
- Ecosystem - Clear tool relationships
- Documentation - Easier to explain and teach
- Create TOOL_ECOSYSTEM.md (this file)
- Update README.md
- Update CLAUDE.md
- Update all docs/*.md
- Update examples/*.minz comments
- Update Makefile
- Update install scripts
- Update CI/CD pipelines
# Global find/replace needed:
s/minzc /mz /g
s/\.\/minzc/\.\/mz/g
s/minzr/mzr/g
s/"minzc"/"mz"/gMinZ Tool Suite v1.0
├── mz - Compiler (all backends)
├── mza - Assembler (Z80/eZ80)
├── mze - Emulator (authentic)
├── mzr - REPL (interactive)
├── mzv - VM (portable execution)
├── mzd - Debugger (source-level)
├── mzl - Linker (modular builds)
└── mzp - Package Manager (ecosystem)
"From mz to mzp, every tool has its place in the MinZ ecosystem"