This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!
Project Description

MC6809 CPU emulator written in Python

MC6809 is a Open source (GPL v3 or later) emulator for the legendary 6809 CPU, used in 30 years old homecomputer Dragon 32 and Tandy TRS-80 Color Computer (CoCo)…

Tested with Python 2.7, 3.4 and PyPy

travis-ci.org/6809/MC6809
coveralls.io/r/6809/MC6809

A example usage can be find in: MC6809/example6809.py

There is a simple benchmark. Run e.g.:

~$ MC6809 benchmark --help

# run benchmark with default settings:
~$ MC6809 benchmark

# run with own settings:
~$ MC6809 benchmark --loops 10 --multiply 20

(MC6809 is the cli installed by setup.py)

tests

We use nose to run the tests, e.g.:

~$ cd MC6809
~/MC6809 $ python2 setup.py nosetests
~/MC6809 $ python3 setup.py nosetests

profile

To profile, e.g.:

~$ python -m cProfile -s cumulative MC6809 benchmark

TODO

  1. Update ‘cpu6809_html_debug.py’
  2. Use bottle for http control server part

unimplemented OPs:

  • RESET
  • SWI / SWI2 / SWI3
  • SYNC

History

(Some of the points are related to DragonPy Emulator)

  • 19.10.2015 - v0.5.0

    • Split CPU with mixin inheritance

    • Optimizing:

      • remove .get() function calls from registers
      • move Condition Code Register (CC) into CPU via mixin class
    • Bugfix TFR and EXG by convert_differend_width()

    • Run DragonPy unittests on travis CI, too.

  • 24.08.2015 - v0.4.6

    • Add a “max_delay”, to fix the “freeze” after a speed limit change
    • rename some of the “speed limit” variables
  • 21.08.2015 - v0.4.5

    • deactivate ‘cpu6809_html_debug.py’ - TODO: update it!
    • update cli unittests
    • update README and code cleanup
  • 10.08.2015 - v0.4.4 - bugfix and cleanup the tests

  • 10.08.2015 - v0.4.3 - run unittests with nose

  • 27.05.2015 - v0.4.2 - Add MC6809/example6809.py

  • 26.05.2015 - v0.4.0, 0.4.1 - Split MC6809 from DragonPy

  • 22.09.2014 - Remove hacked CPU skeleton generator scripts with commit ac903a8f

  • 14.09.2014 - Release v0.2.0 - Add a speedlimit, config dialog and IRQ: Forum post 11780

  • 05.09.2014 - Release v0.1.0 - Implement pause/resume, hard-/soft-reset 6809 in GUI and improve a little the GUI/Editor stuff: v0.1.0 see also: Forum post 11719.

  • 27.08.2014 - Run CoCo with Extended Color Basic v1.1, bugfix transfer BASIC Listing with 8fe24e5…697d39e see: Forum post 11696.

  • 20.08.2014 - rudimenary BASIC IDE works with 7e0f16630…ce12148, see also: Forum post 11645.

  • 05.08.2014 - Start to support CoCo, too with 0df724b, see also: Forum post 11573.

  • 04.08.2014 - Use the origin Pixel-Font with Tkinter GUI, see: Forum post 4909 and Forum post 11570.

  • 27.07.2014 - Copyrigth info from Dragon 64 ROM is alive with 543275b, see: Forum post 11524.

  • 29.06.2014 - First “HELLO WORLD” works, see: Forum post 11283.

  • 27.10.2013 - “sbc09” ROM works wuite well almist, see: Forum post 9752.

  • 16.10.2013 - See copyright info from “Simple6809” ROM with 25a97b6 see also: Forum post 9654.

  • 10.09.2013 - Start to implement the 6809 CPU with 591d2ed

  • 28.08.2013 - Fork “Apple ][ Emulator” written in Python: https://github.com/jtauber/applepy to https://github.com/jedie/DragonPy

Release History

Release History

0.5.0

This version

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.6

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.5

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.4

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.3

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.2

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.1

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

0.4.0

History Node

TODO: Figure out how to actually get changelog content.

Changelog content for this version goes here.

Donec et mollis dolor. Praesent et diam eget libero egestas mattis sit amet vitae augue. Nam tincidunt congue enim, ut porta lorem lacinia consectetur. Donec ut libero sed arcu vehicula ultricies a non tortor. Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Show More

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
MC6809-0.5.0-py2.7.egg (104.3 kB) Copy SHA256 Checksum SHA256 2.7 Egg Oct 19, 2015
MC6809-0.5.0-py2.py3-none-any.whl (122.2 kB) Copy SHA256 Checksum SHA256 py2.py3 Wheel Oct 19, 2015
MC6809-0.5.0.tar.gz (94.0 kB) Copy SHA256 Checksum SHA256 Source Oct 19, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting