My investigation into MinixFS has revealed a nice and simple filesystem; probably the simplest filesystem which you could implement which has UNIX-like semantics. It has inodes, permissions, and all the usual UNIX things, but (luckily for me) the first iteration of Minix-FS mostly uses 16 bit datatypes. This means it is “fairly” easy to interpret the data structures which make… Read more »
It’s been another couple of months with no blog update. Busy busy. Anyway. In the few hours here and there (work lunch times, early morning, etc) I have managed a fair bit of progress. Firstly I’ve laid out the circuit again on some fresh breadboard slabs. I’m fairly sure the breadboard I used previously had some bad links, because the… Read more »
I haven’t had much time to work on my electronics projects lately, or write on this blog. The main reason being the arrival of a bouncing baby boy! So for once hobbies must take a back seat. If I’m lucky I will be able to write here about once a month. I have had a little time to work on… Read more »
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 »
I can now update the contents of the EEPROM without removing the chip! This marks a minor milestone in this little project. The flow of the update process is a little different then previously described, but has quite a bit in common with the process used by the AVR EEPROM programmer: At startup a greeting prompts the user to either… Read more »
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 »
“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 »
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 »
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 »
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 »