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 <chris@vogelgsang.org>

under the GNU Public License V2

Features

  • 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

Installation

  • use pip:

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

    $ python setup.py install
    
  • use dev setup:

    $ python setup.py develop --user
    

Documentation

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 Aug 13, 2017
bare68k-0.1.2-cp27-cp27m-win32.whl (246.6 kB) Copy SHA256 hash SHA256 Wheel cp27 Aug 13, 2017
bare68k-0.1.2-cp27-cp27m-win_amd64.whl (358.0 kB) Copy SHA256 hash SHA256 Wheel cp27 Aug 13, 2017
bare68k-0.1.2-cp34-cp34m-win32.whl (252.8 kB) Copy SHA256 hash SHA256 Wheel cp34 Aug 13, 2017
bare68k-0.1.2-cp34-cp34m-win_amd64.whl (351.3 kB) Copy SHA256 hash SHA256 Wheel cp34 Aug 13, 2017
bare68k-0.1.2-cp35-cp35m-win32.whl (244.5 kB) Copy SHA256 hash SHA256 Wheel cp35 Aug 13, 2017
bare68k-0.1.2-cp35-cp35m-win_amd64.whl (354.1 kB) Copy SHA256 hash SHA256 Wheel cp35 Aug 13, 2017
bare68k-0.1.2-cp36-cp36m-win32.whl (245.1 kB) Copy SHA256 hash SHA256 Wheel cp36 Aug 13, 2017
bare68k-0.1.2-cp36-cp36m-win_amd64.whl (354.9 kB) Copy SHA256 hash SHA256 Wheel cp36 Aug 13, 2017
bare68k-0.1.2.tar.gz (319.1 kB) Copy SHA256 hash SHA256 Source None Aug 13, 2017

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 DigiCert DigiCert EV certificate StatusPage StatusPage Status page