v68k


Introduction

v68k is a library that decodes and emulates m68k instructions.

v68k itself doesn't include any knowledge of other hardware in the system, nor a means of interacting with a user or any other peripherals of the host system. To use it, you have to create a 'rig' -- a program that links with v68k and specifies system details like which processor model to use (e.g. 68000, 68010, 68020, etc.), how memory accesses are handled, and what happens on a BKPT instruction.

xv68k is a command-line v68k rig. It handles BKPT instructions by rewriting the call sites into system call traps compatible with MacRelix, and it includes a bridge for a few system calls like read() and write(), so emulated programs are able to interact with the host. It also provides some OS-level emulation for Mac OS (including a trap dispatcher and _NewPtr) to handle code resources linked with the Metrowerks runtime.