Category: Computers

Posts about computers

  • 8 Bit Computing

    8 Bit Computing

    8 Bit Computing, a trip down memory lane.

    While still at school back in the 1980’s, home computers started becoming available and I was fortunate enough to be loaned a ZX80 by a friend. This started my passion for computers and programming. It also allowed me to experiment with interfacing computers with electronics projects.

    This is not an extensive guide to 8 bit computers but a trip down memory lane describing the computers I have owned over the years, most of which I still have.

    Sinclair ZX80

    Released: 1980
    CPU: Z80

    My ZX80 was loaned to me and had a little pink plastic box on top that contained a circuit to convert it to a ZX81. This circuit in combination with a new ROM allowed ZX81 software to to run on it and removed the annoying pause in display when the computer was doing something.

    The photograph here was taken at the Centre for Computing History in Cambridge.

    Sinclair ZX81

    Released: 1981
    CPU: Z80

    My original ZX81 suffered from a keyboard failure and I created a makeshift keyboard from PCB switches. I had the original case without the keyboard and purchased two more from eBay over the years including a boxed version.

    After a recent test I had to use components from each to provide a single working version. It is difficult to get a usable picture from a ZX81 on a modern LCD television or monitor so a modification is required to provide the correct composite signal these monitors need.

    I used a simple version to test my ZX81 but I need to build a better version for a good display.

    Acorn BBC Micro

    Released: 1981
    CPU: 6502

    I have a BBC Micro Model B in my collection that was given to me by a friend. It had been heavily modified with extra memory and additional ROM space. I removed these and returned it back to as standard a condition as possible.

    I have a dual 51/4″ disk drive for it and more recently I purchased a SD Card Drive. A while ago it suffered from the dreaded breakdown of the power supply capacitors resulting in a lot of smoke.

    I replaced the capacitors and the computer sprang back to life.

    Sinclair ZX Spectrum

    Released: 1982
    CPU: Z80A

    I have a 48K Spectrum I purchased from eBay many years ago. I only checked it worked and never did much more with it. At some point I will set it up and take some pictures.

    Dragon Data Dragon 32

    Released: 1982
    CPU: 6809

    I have two Dragon 32’s in my collection and a Dragon 64. My original Dragon 32 was removed from its case and put in a home made case. Many years later after my original case disappeared, I bought a non-working Dragon from eBay and restored it to a working condition using my original PCB’s

    Later a second Dragon was given to me by a friend along with a collection of software titles most of which I have now. Back in the 1980’s I really wanted a Dragon 64 and over 30 years later I added one to my collection.

    This is my favourite 8 bit computer and is the one I use the most now.

    Apple IIe

    Released: 1983
    CPU: 6502

    My Apple IIe belonged to my father-in-law. I have not used it much but I still have the disk drives and software he originally purchased.

    This is the end of my trip down memory lane. There is quite a revival of 8 bit home computing and lots of Facebook groups exist for like minded people.

    My next memory of home computing will be about the 16 bit era.


    Links

  • 6809 Single Board Computer

    6809 Single Board Computer

    Introduction

    This page describes a project to build my own single board computer based on the Motorola 6809 CPU.

    My project is my own version of a design based on information shared by Grant Searle and Jeff Tranter. Without them sharing their projects I would not have been able to create this project. See the links to their pages in the links section below.

    The goal of my project is to have a working single board computer I can use to learn 6809 machine code and to build expansion boards to interface to the outside world.

    Prototype

    The Motorola 6809 CPU was used in a few home computers of the 1980’s era and was an advanced 8-bit CPU at that time. My home computer fascination really took off when I bought my Dragon 32 and although I started to learn machine language at the time I have forgotten most of it now.

    In Development

    When I saw that people had already built simple computers of their own using this older technology I wanted to do the same. I used the original design and purchased the required IC’s from Ebay.

    I created a prototype using solder-less breadboard I bought from Maplin’s closing down sale. It is really helpful to use printed pinouts stuck to the surface of the 4 large IC’s. I used yellow wire for the address bus, blue wires for the data bus and white wires for the control signals such as the E timing signal and R/W line. Red and black wires were also used for the power lines.

    Prototype

    For the basic ROM, I downloaded the one created by Grant Searle and programmed an eprom using a cheapish eprom programmer I bought from Amazon. Although used to programming flash on PIC microcontrollers, I had never programmed an eprom. It took me a while to realise I had to use some offsets when loading the file to make sure the code was at the correct start point in the eprom. The eprom is addressed from C000-FFFF but basic starts from address DB00. The last two bytes of the eprom FFFE and FFFF are the reset vectors and hold the address where program execution should start after a reset (or when first powered on).

    Initial Testing

    I connected the serial connections from the 80B50 IC to a laptop PC using a USB converter and used Putty as the serial terminal program. At first I could not get it to work so I removed the IC’s except the CPU and wired the data bus to the NOP (no operation) instruction to test the CPU. I connected the address bus to a Picoscope MSO to see that when powered on the address bus incremented. The CPU increments the address bus one address at a time from 0000-FFFF. It does it so fast you cannot see it using LED’s. After confirming the CPU was working I rechecked all the connections and plugged the IC’s back in. I connected the Picoscope to the data bus and powered on. I could see the prompt in the serial terminal. Success!

    However, I soon realised that when disconnecting the Picoscope from the data bus it stopped working again. I resolved this by using a 2K2 pull-up resister network on the data bus. I was able to enter a basic program and run it using the serial terminal to see the results. One Issue I saw was after running the program I had no response from the command line. I hit reset and it was ok again (and the basic program was still in memory). It was time to move on and create a PCB which could resolve these issues.

    Construction

    I had already transferred the schematic to Eagle CAD to help me with building the prototype. The pull-up resister network was added to the design after my experience with the prototype. Knowing that if it was still required I had a place for it on the PCB. The layout of my PCB was based on Jeff Tranters design but I modified it. The reset button and the power LED were placed together on the left hand side. I also added room for my USB-Serial converter.

    My 6809 Single Board Computer

    I ordered my PCB’s from All PCB in China who I have been using for a few years now. After about 5 days the PCB’s were here ready for assembly. Great service!
    I started with the IC sockets, then the capacitors, diode and resisters. I wanted to try without the resistor network first to see if it was required or not. Then I added the crystal, LED and reset button. Finally I added the connector pins and socketed the IC’s.

    Final Test

    To test, I connected the USB-Serial converter using Dupoint wire. Final fitting would require me to remove the already soldered on right angle connector from the converter PCB. On power up I did not see the prompt on the serial terminal window. To fix this, I added the pull-up resister network as I did for the prototype. A second test worked! I am not sure why the original designs did not require the pull up of the data bus, but mine does! However I still had the issue with lock up after a program was run. I decided to try the basic as modified by Jeff Tranter as I noticed he had corrected a small bug. Using this newly programmed eprom the lock up issue disappeared. Now everything is working well. Finally I mounted the USB-Serial converter on the PCB.