Super nice way to run a 6809
For RetroShield 6809 for Arduino Mega
When I was young I tried to build a simple computer based on a 6809, with very few circuits around, ram, rom and minimal address decoding. This was a failure because I had no tools to program the eeprom at home, and no enough experience.
This Retroshield is a very smart and easy way to make a 6809 run, at nearly the nominal speed with a Teensy 3.6. Ertuk Kocalar has designed a general bus to connect most of the old 8 bits processors: address, data and control lines are unified so that this only a question of software in the Arduino to emulate the ram, rom and devices around the processor. All the signals (E, R/W,...) are managed by the Arduino, so that the 6809 thinks it is in a real computer.
All the sources are available on GitHub and everything is documented, commented, and easy enough to understand... provided you know what is a processor. So you can use the software provided (simon6809: an advanced monitor), or develop your own. You simply have to assemble a program, transform it into a C array initializer (with xxd -i) so that it is visible as preinitialized ram or rom from the 6809. I added a 7 segments displays and keyboard card, and my own simple monitor, to resemble to the KIM-1 computer. This is what I wanted to do when I was young and it now works super nicely.
I slightly modified the connection between the Arduino and the Retroshield, by welding the connector above and making a male/female connector pcb. This allow to have both cards at the same level, instead of the Retroshield above the Arduino.
About the realization, all the PCB are top quality. Everything is included (pcb, processor, support, connector, led) and very well protected in the shipping. The 6809 is a 68B09E, the fastest and most advanced version of the 6809. I had no issue at all to make it run.
So I strongly recommend these boards if you want to learn machine and assembly languages. Those old processors are the most easy way to understand the concepts because they are simple: few registers, strong addressing modes, simple opcodes, all numbers are small and understandable compared to 32 or 64 bits of the modern processors.
I uploaded a small video on YouTube : https://www.youtube.com/watch?v=1ehCcJTsoew Sorry, I don't speak, because I am not good enough in English... (French native speaker).