== 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

| {{https://travis-ci.org/6809/MC6809.svg|Build Status on travis-ci.org}} | [[https://travis-ci.org/6809/MC6809/|travis-ci.org/6809/MC6809]] |
| {{https://coveralls.io/repos/6809/MC6809/badge.svg|Coverage Status on coveralls.io}} | [[https://coveralls.io/r/6809/MC6809|coveralls.io/r/6809/MC6809]] |


A example usage can be find in: [[https://github.com/6809/MC6809/blob/master/MC6809/example6809.py|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**)


Unittest use [[https://pypi.python.org/pypi/nose/|nose]], run them, e.g.:
{{{
~$ cd MC6809
~/MC6809 $ python2 setup.py nosetests
~/MC6809 $ python3 setup.py nosetests
}}}


=== TODO

# Use bottle for http control server part

unimplemented OPs:

 * RESET
 * SWI / SWI2 / SWI3
 * SYNC


== History

(Some of the points are related to [[https://github.com/jedie/DragonPy|DragonPy Emulator]])

* 10.08.2015 - [[https://github.com/6809/MC6809/compare/v0.4.2...v0.4.3|v0.4.3]] - run unittests with nose
* 27.05.2015 - [[https://github.com/6809/MC6809/compare/v0.4.1...v0.4.2|v0.4.2]] - Add MC6809/example6809.py
* 26.05.2015 - [[https://github.com/6809/MC6809/compare/1a40593...v0.4.1|v0.4.0, 0.4.1]] - Split MC6809 from [[https://github.com/jedie/DragonPy|DragonPy]]
* 14.09.2014 - Release v0.2.0 - Add a speedlimit, config dialog and IRQ: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&p=11780#p11780|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: [[https://github.com/jedie/DragonPy/releases/tag/v0.1.0|v0.1.0]] see also: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&p=11719#p11719|Forum post 11719]].
* 27.08.2014 - Run CoCo with Extended Color Basic v1.1, bugfix transfer BASIC Listing with [[https://github.com/jedie/DragonPy/compare/8fe24e5...697d39e|8fe24e5...697d39e]] see: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&start=90#p11696|Forum post 11696]].
* 20.08.2014 - rudimenary BASIC IDE works with [[https://github.com/jedie/DragonPy/compare/7e0f16630...ce12148|7e0f16630...ce12148]], see also: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=8&t=4439#p11645|Forum post 11645]].
* 05.08.2014 - Start to support CoCo, too with [[https://github.com/jedie/DragonPy/commit/0df724b3ee9d87088b524c3623040a41e9772eb4|0df724b]], see also: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&start=80#p11573|Forum post 11573]].
* 04.08.2014 - Use the origin Pixel-Font with Tkinter GUI, see: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4909|Forum post 4909]] and [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&start=80#p11570|Forum post 11570]].
* 27.07.2014 - Copyrigth info from Dragon 64 ROM is alive with [[https://github.com/jedie/DragonPy/commit/543275b1b90824b64b67dcd003cc5ab54296fc15|543275b]], see: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&start=80#p11524|Forum post 11524]].
* 29.06.2014 - First "HELLO WORLD" works, see: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&start=70#p11283|Forum post 11283]].
* 27.10.2013 - "sbc09" ROM works wuite well almist, see: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&start=60#p9752|Forum post 9752]].
* 16.10.2013 - See copyright info from "Simple6809" ROM with [[https://github.com/jedie/DragonPy/tree/25a97b66d8567ba7c3a5b646e4a807b816a0e376|25a97b6]] see also: [[http://archive.worldofdragon.org/phpBB3/viewtopic.php?f=5&t=4308&start=50#p9654|Forum post 9654]].
* 10.09.2013 - Start to implement the 6809 CPU with [[https://github.com/jedie/DragonPy/commit/591d2ed2b6f1a5f913c14e56e1e37f5870510b0d|591d2ed]]
* 28.08.2013 - Fork "Apple ][ Emulator" written in Python: https://github.com/jtauber/applepy to https://github.com/jedie/DragonPy

== Links:

| Forum               | [[http://forum.pylucid.org/]]
| IRC                 | [[http://www.pylucid.org/permalink/304/irc-channel|#pylucid on freenode.net]]
| Jabber              | pylucid@conference.jabber.org
| PyPi                | [[https://pypi.python.org/pypi/DragonPyEmulator/]]
| Github              | [[https://github.com/jedie/DragonPy]]

== donation

* [[https://flattr.com/submit/auto?uid=jedie&url=https%3A%2F%2Fgithub.com%2F6809%2FMC6809%2F|Flattr This!]]
* Send [[http://www.bitcoin.org/|Bitcoins]] to [[https://blockexplorer.com/address/1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F|1823RZ5Md1Q2X5aSXRC5LRPcYdveCiVX6F]]
