An I2C EEPROM programmer with an ATMega8

To learn about I2C I have implemented a serial EEPROM programmer using the same AVR based ATMega8 as my old school paralled programmer. I2C, like SPI, is nice because all signalling between the microcontroller and the memory is along only a handful of wires. This also, at I2C speeds at least, makes it slower but adequate for many applications like… Read more »

Monitor progress

      No Comments on Monitor progress

So far the monitor can do four things: Dump memory contents in hex and ASCII (d command) Write memory contents in hex (w command) Exit the monitor and run arbitrary code (e command) Show the registers as they were just before the monitor was reentered (r command) For ease of parsing each command is a single character. Monitors are generally implemented as… Read more »

Serial communications and the start of a “monitor”

“Monitors” were pouplar tools for debugging programs, along with other useful facilities. Some were also powerfull enough to be considered development environments in there own right. They provided the user with the ability to read memory content, modify memory contents and registers, execute external code, set breakpoints etc. Some had built in assemblers and dissasemblers. I will be writing my… Read more »

EEPROM progammer finished, and perspective on a 1982 progamming book

The EEPROM programmer is finished!  I soldered up the PCB, and after fixing a couple of issues it checks out.  My programmer has some very bright LEDs, and to show them off I’ve added a new “debugdelay” option to set how fast the programming should happen.  In the process I’ve removed the old “debug” option because the 8KByte flash in… Read more »

We have some RAMs

      No Comments on We have some RAMs

The next “milestone” for the 6809-on-a-breadboard computer project is to gain some RAM.  Computers can’t do very much unless they can store things. This was fairly easy, though I did have to fix one problem with the current circuit.  I need to do some more research on this subject to understand the issue fully, but briefly… Previously, in the EEPROM… Read more »

6809 LED output test

      2 Comments on 6809 LED output test

Now that I can reliably write data into the EEPROM, the next step is to build the simplest possible working 6809 computer, in order to test my knowledge of how a system built from a 6809 should function. After looking at how Ben Ryvers built up his Z80 based computer, I decided to borrow some of his ideas for a… Read more »

EEPROM programmer improvements and… stripboard sucks

This Easter weekend I’ve been working on the EEPROM programmer again. The programmer PCB has been “in production” now for about a week, with a few weeks left.  In the meantime I thought I would brush up on my soldering “skills” and make the circuit up on stripboard.  This turned out to be a slightly crazy thing to do; stripboard… Read more »

Adventures with an ATTiny85

      1 Comment on Adventures with an ATTiny85

As a little diversion on the bumpy road to the 8bit world of the 6809, I’ve been playing about with some AVR ATTiny’s, specifically the ATTiny85. Mostly to see what they can do and to see if they could be used for interfacing peripherals to an 8bit MPU. These are amazing little beauties; 8Kbyte flash, a tiny amount of RAM,… Read more »

EEPROM programmer source code

      No Comments on EEPROM programmer source code

The software for the programmer is in two parts, the “firmware” that runs on the ATMEGA8, and a program intended to run on a Linux machine which sends a file to the ATMEGA8 which it then writes onto the EEPROM. Both bits of software are available on my github account.  This is not the nicest code I’ve written, but it… Read more »