mVM — a machine-oriented virtual machine platform for the m68k family.
mVM is a future, larger project inspired by the architecture and lessons from AmiVM. It is intended to provide a common execution core with machine profiles for multiple m68k-based systems.
M0 — architecture and scope definition
mVM is intentionally not being implemented yet. M0 establishes the project boundary, terminology, profile model, and roadmap so that future implementation can proceed without expanding AmiVM beyond its Amiga-specific scope.
The long-term roadmap may include profiles for:
- Motorola 68000/010/020/030/040/060 systems
- ColdFire
- Amiga
- Atari
- Macintosh
- Sun workstations
- Sharp X68000
- NeXT and other historically relevant m68k systems
The list is deliberately open-ended: mVM should accommodate additional m68k-based machines without turning every machine-specific feature into a special case in the core.
mVM
├── common m68k execution core
├── CPU-generation capabilities
├── memory / MMU / FPU abstractions
├── exception and interrupt framework
├── machine-profile layer
└── machine-specific devices and firmware interfaces
AmiVM remains Amiga-specific. mVM does not replace AmiVM, and AmiVM is not being converted into a generic m68k VM. mVM is a separate future project that can eventually absorb genuinely reusable technology learned from AmiVM.
- Establish project identity and scope
- Define AmiVM boundary
- Define generic mVM vs machine-specific responsibilities
- Establish initial machine-profile roadmap
- Explicitly include ColdFire in the future roadmap
- Keep implementation deferred until the architecture is sufficiently understood
| Milestone | Purpose |
|---|---|
| M0 | Scope, terminology, architecture boundary, roadmap |
| M1 | Common execution-core design |
| M2 | CPU-generation abstraction |
| M3 | Memory/MMU/FPU architecture |
| M4 | Exception/interrupt architecture |
| M5 | First machine profile |
| M6 | Deterministic test harness |
| M7 | Additional machine profiles |
| M8 | Performance/JIT work |
| M9 | Cross-profile qualification |
M0 deliberately ends before implementation.
The immediate implementation focus remains AmiVM. mVM will return as a separate larger project when the time is right.