TL;DR

vamos is an API-level AmigaOS runtime that executes m68k console binaries on modern macOS and PC hosts by emulating library calls in Python and using the Musashi m68k CPU core. It focuses on command-line developer tools and cannot run software that requires direct hardware access or Amiga graphical subsystems.

What happened

vamos is an emulator-like runtime that lets native Amiga m68k command-line programs run directly on modern host systems by providing an implementation of key AmigaOS services. The project embeds the Musashi m68k CPU emulator to execute 68k code, supplies a simple memory model, and traps library calls so they can be handled by Python code or safely ignored when no trap is defined. Public in-memory structures and basic Exec and DOS functionalities (for example memory allocation, file operations and library loading) are implemented, enabling many historical development tools, assemblers and compilers to run. The tool is explicitly not a full system emulator: programs that interact with hardware registers or rely on the Amiga GUI/intuition will not work and should be run in machine emulators such as FS-UAE. vamos is configurable via a .vamosrc (INI-style) file or command-line options for volumes, assigns, CPU type, memory and other runtime parameters.

Why it matters

  • Provides a lightweight way to run legacy Amiga m68k CLI tools on modern hosts without a full machine emulator.
  • Enables cross-building and use of old compilers and assemblers on macOS/PC environments, aiding preservation and development workflows.
  • By emulating at the API/library level, it offers faster startup and lower resource use than full hardware emulation for supported binaries.
  • Clarifies the boundary between API-level compatibility and full hardware emulation, guiding users to the appropriate tool for GUI or hardware-dependent software.

Key facts

  • vamos executes m68k code using the Musashi CPU emulator and a custom memory interface.
  • Library calls are trapped and implemented in Python or ignored if no trap exists.
  • Implements parts of the Exec and DOS libraries, including AllocMem, LoadLibrary and basic file operations (Open, Read, Write, Seek, Close).
  • Designed mainly to run console binaries that do not use the Amiga Intuition/graphics system.
  • Not intended to emulate direct hardware register access; games or apps needing that require a machine emulator like FS-UAE or WinUAE.
  • Configuration is via a .vamosrc INI-style file or command-line switches; options include volume mappings, assigns, CPU selection, memory and stack size.
  • Supports multiple Amiga CPU profiles (68000 default, 68020, and 68040 options) with different addressing and instruction capabilities.
  • Volume and assign concepts map host filesystem paths into Amiga-style volume and assign names; a default root: volume maps the host root.

What to watch next

  • Compatibility coverage for additional Amiga libraries and traps as contributors add Python implementations.
  • Performance and correctness when building larger Amiga projects and the OS itself as reported by users and contributors.
  • Future support for GUI or intuition-level emulation is not confirmed in the source
  • Any upstream changes to Musashi or the amitools project that affect vamos behavior are not confirmed in the source

Quick glossary

  • AmigaOS: The original operating system for Commodore Amiga computers, providing libraries like Exec, DOS and Intuition.
  • m68k / 68k: A family of Motorola 68000-series 32-bit CISC CPUs used in classic Amiga hardware.
  • Musashi: A portable C-based emulator core for 68k CPUs used to run m68k machine code on non-native hosts.
  • Volume / Assign: Amiga filesystem concepts: a Volume maps to a filesystem root; an Assign is a named alias pointing to an Amiga path or multiple paths.
  • API-level emulator: An emulator that reproduces operating system libraries and calls rather than emulating entire hardware platforms.

Reader FAQ

Can vamos run Amiga GUI applications and games?
No. The source states it cannot run programs that use Intuition or direct hardware register access; those need a full machine emulator like FS-UAE.

Is vamos a full Amiga system emulator?
No. The project is an API-level runtime and explicitly not a full system emulator like WinUAE or FS-UAE.

How do you configure file mappings and environment?
Configuration is provided via a .vamosrc INI-style file or command-line options to define volumes, assigns, command path and other settings.

Can vamos build complex Amiga projects or the OS itself?
The source indicates it has evolved to run many devtools and is able to build complex Amiga projects, including AmigaOS itself.

Is there an installation guide?
Refer to the amitools Installation README for installation details according to the source.

vamos – virtual Amiga OS Introduction: The virtual AmigaOS runtime (aka Wine for Amiga 🙂 vamos is a tool that allows to run AmigaOS m68k CLI binaries directly on your…

Sources

Related posts

By

Leave a Reply

Your email address will not be published. Required fields are marked *