Hi all.
For the past 18 months or so I have wanted to create my own 6502 or Z80 based single board microcomputer. I started looking at schematics and immidiatly hit a snag - EEPROM's. None of my local electronic stores had any 8 bit EEPROM's. Just EPROM's which require a UV erasor and a programmer. Programmers are expensive and UV erasors more so. Just reacently I was on the Net and though I'd look up the classic Altair 8800 schematics to see how they looked. I realised that the Altair didn't have any form of ROM. Ah, my solution. A few days later I had some (theoreticly) working schematics.
I decided to use a 6502 because, well, I wanted to. I suppose Z80's would have been easier to use in this SBC because of a very usefull tri-stating data and address bus. Perhaps next time...
Tri-state devices are very usefull here. Regular digital devices have two states, 1 and 0, +5v and 0v, etc. The problem is that if you have more that one device like this on a line they conflict. This is because if a device has a low output and another has a high output, the line will register as low because the +5v high line will be pulled low by the 0v low line. Tri-state devices can go into a 'high impendance' mode which is electrically similar to disconnecting the component from the line, i.e. no current can pass through the I/O lines, thus iliminating the 0v pulling the +5v down. (Not the best of descriptions, but could be worse).
Here is a description of the computer so far:
Ok, so it doesn't actually work, yet. There are still a few bugs I need to get out (have a look at the pictures. This isn't exactly easy to debug).
The RAM was something I stumbled on almost by accident. I have just reacently got myself a Compaq Portable II (a 286 that must weigh about 10Kg, it's fine if you don't need to carry it more than 100 meters). Inside it there was a card called an 'ATE-2 Paxus System' (???) and it had two 6264 SRAM chips on it. :-)
The 6502 I'm using now is from a VIC-20. A friend of mine is going to return a Commodore 1541 floppy drive controller board to me which has a 6502 on it, so I'll use that rather than risk breaking the VIC-20.
If you want to build this, you will probably want the scheamtics.
I'm still making usable copies of the rest. To see the rest of them, here are some scans.
The scans are shocking. The printer I used was an IBM Proprinter II clone (Sakata SP-1200PLUS dot matrix) and the scanner is in rather poor shape. Don't bother using them for anything serious. I only used them as a guide. I'll make proper GIF's soon...
I have included some scans of the actual computer too. I thought, 'Why not?'. Once again, the scans arn't exactly the best.
Looking at the wire wrap, you can see why it is a little difficult to debug.
The thing is a pain to program. To save money, I decided to get two 8-bit dip switches rather than 16 toggle switches (which would have been too large anyway).
Like the original Altair, you specify your address via all 16 dip switches and load it. Here it is loaded into four 74LS161 4-bit binary counters by holding down the load and clock buttons (the load function is synchronous, see the data sheets).
To load data into memory, you toggle in your value into the lower dip swich, press the load button, then the clock button. The load button pulls a 74LS244 out of high impendance state and pulls the R/W line low, writing the value to memory. The clock button increaces the address value in the four 74LS161's.
To run the program (when you finally load everything), you flip the toggle switch which puts all of the 74LS244's on the DMA board into high impendance state and all of the 74LS244's on the CPU board into normal state. This activates the 6502 and runs the program.
The 6502 is halted by lowering the reset line of the CPU. This is easier than adding extra wiring to use the RDY line. I also want to reset the CPU afterwards anyway rather than halting it.
Here are some data sheets that I have found usefull.
Below is a link to a computer that was built in the late 70's and early 80's, called the Chaos computer. I quite liked it.
http://koo.corpus.cam.ac.uk/chaos/
If you would like to contact me, my e-mail address is alexis@kaput.homeunix.org.
This page is written by Alexis Kotlowy-Brown - Don't rob me of it. I will not be responsible for any loss of anything.