Skip to main content

A package to create m68k system emulators

Project description

travis appveyor rtfd coverall

pypi-v wheel pyver status

bare68k allows you to write m68k system emulators in Python 2 or 3. It consists of a CPU emulation for 68000/68020/68EC020 provided by the Musashi engine written in native C. A memory map with RAM, ROM, special function is added and you can start the CPU emulation of your system. You can intercept the running code with a trap mechanism and use powerful diagnose functions,

written by Christian Vogelgsang <>

under the GNU Public License V2


  • all emulation code written in C for fast speed
  • runs on Python 2.7 and Python 3.5
  • emulates CPU 68000, 68020, and 68EC020
  • use a 24 or 32 bit memory map
  • define memory regions for RAM and ROM with page granularity (64k)
  • special memory regions that call your code for each read/write operation
  • intercept m68k code by placing ALINE-opcode based traps to call your code
  • event-based CPU emulation frontend does always return to Python first
  • provide Python handlers for all CPU emulation events
    • RESET opcode
    • ALINE trap opcode
    • invalid memory access (e.g. write in ROM region)
    • out of memory bounds (e.g. read above memory map)
    • control interrupt acknowledgement
    • watch and break points
    • custom timers based on CPU cycles
  • extensive diagnose functions
    • instruction trace
    • memory access for both CPU and Python API
    • register dump
    • memory labels to mark memory regions with arbitrary Python data
    • all bare68k components use Python logging
  • rich API to configure memory and CPU state
  • store/restore CPU context


  • use pip:

    $ pip install bare68k
  • or checkout github repository and install:

    $ python install
  • use dev setup:

    $ python develop --user


Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
bare68k-0.1.2-cp27-cp27m-macosx_10_12_x86_64.whl (352.6 kB) Copy SHA256 hash SHA256 Wheel cp27
bare68k-0.1.2-cp27-cp27m-win32.whl (246.6 kB) Copy SHA256 hash SHA256 Wheel cp27
bare68k-0.1.2-cp27-cp27m-win_amd64.whl (358.0 kB) Copy SHA256 hash SHA256 Wheel cp27
bare68k-0.1.2-cp34-cp34m-win32.whl (252.8 kB) Copy SHA256 hash SHA256 Wheel cp34
bare68k-0.1.2-cp34-cp34m-win_amd64.whl (351.3 kB) Copy SHA256 hash SHA256 Wheel cp34
bare68k-0.1.2-cp35-cp35m-win32.whl (244.5 kB) Copy SHA256 hash SHA256 Wheel cp35
bare68k-0.1.2-cp35-cp35m-win_amd64.whl (354.1 kB) Copy SHA256 hash SHA256 Wheel cp35
bare68k-0.1.2-cp36-cp36m-win32.whl (245.1 kB) Copy SHA256 hash SHA256 Wheel cp36
bare68k-0.1.2-cp36-cp36m-win_amd64.whl (354.9 kB) Copy SHA256 hash SHA256 Wheel cp36
bare68k-0.1.2.tar.gz (319.1 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page