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.

Source Distribution

bare68k-0.1.2.tar.gz (319.1 kB view hashes)

Uploaded Source

Built Distributions

bare68k-0.1.2-cp36-cp36m-win_amd64.whl (354.9 kB view hashes)

Uploaded CPython 3.6m Windows x86-64

bare68k-0.1.2-cp36-cp36m-win32.whl (245.1 kB view hashes)

Uploaded CPython 3.6m Windows x86

bare68k-0.1.2-cp35-cp35m-win_amd64.whl (354.1 kB view hashes)

Uploaded CPython 3.5m Windows x86-64

bare68k-0.1.2-cp35-cp35m-win32.whl (244.5 kB view hashes)

Uploaded CPython 3.5m Windows x86

bare68k-0.1.2-cp34-cp34m-win_amd64.whl (351.3 kB view hashes)

Uploaded CPython 3.4m Windows x86-64

bare68k-0.1.2-cp34-cp34m-win32.whl (252.8 kB view hashes)

Uploaded CPython 3.4m Windows x86

bare68k-0.1.2-cp27-cp27m-win_amd64.whl (358.0 kB view hashes)

Uploaded CPython 2.7m Windows x86-64

bare68k-0.1.2-cp27-cp27m-win32.whl (246.6 kB view hashes)

Uploaded CPython 2.7m Windows x86

bare68k-0.1.2-cp27-cp27m-macosx_10_12_x86_64.whl (352.6 kB view hashes)

Uploaded CPython 2.7m macOS 10.12+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page