View Full Version : Building a computer...
tanlaan
January 18th, 2007, 10:38 AM
from scratch.
I watched a documentory on "the history of hacking" not too long ago. Now this included Steven Wozniak who told of how back in the day before Apple even existed, that he would create computers by hand. I was wondering if anyone knew of a good starting project for someone who would like to experience building a simple custom computer from scratch.
Erik
January 18th, 2007, 11:40 AM
I'm assuming you're talking about a vintage style computer (i.e. similar to the original Apple machine) versus a modern beast.
If so, there are Apple I replicas out there that are build-it-yourself kits as well as kits for other early machines including the MITS Altair.
You should be able to find some on eBay or via links on this site or others.
Other options include some of the projects from the early days of computers including the TV Typewriter.
Best of luck!
chuckcmagee
January 18th, 2007, 02:50 PM
I saw some nice Sinclair ZX81 kits on ebay not long ago. I almost purchased one then decided I didn't feel like doing all that soldering.
Terry Yager
January 18th, 2007, 04:40 PM
You might find this page interesting:
http://www.ez80sbc.com/index.htm
--T
tanlaan
January 19th, 2007, 09:40 AM
Hmm, now I can't decide whether or not I want to build my own computer or just go out and buy a nice little Apple IIgs and try and learn a programming language for it to make my own software. I thought that would be kinda cool, making software similar to todays, just optimized for the older technology.
carlsson
January 19th, 2007, 11:43 AM
Unless you already have a knack for electronics, soldering and being handy with similar stuff, I'd say learning how to program an old computer is much more feasible than learning how to build an old computer. In particular if you aim at a platform with plenty of support: documents, development tools, community with helpful expertise.
Of course, one doesn't eliminate the other, but perhaps from learning how to program a computer, you will slowly dwelve further into how it really is working on the inside, and from there get more into the electronics and logic schematics.
JeffMeunier
January 19th, 2007, 01:50 PM
...learning how to program an old computer is much more feasible than learning how to build an old computer. In particular if you aim at a platform with plenty of support: documents, development tools, community with helpful expertise.
Yes, a good idea. Perhaps even better* than buying an old computer would be to download an emulator, and use that to learn low-level programming (machine language).
(* 'Better' = 'likely to be more productive'. There's nothing like having the real machine to work on, but you must consider things like giving up valuable desk space, transferring files, limitations of having the assembler running on the same machine you're programming, rebooting and reloading/retyping your program when you mess up.)
If you don't already know assembly language, I would highly recommend learning it. I'd say start with the 6809 CPU, which is found in the TRS-80 Color Computer line (but not in any of the other TRS-80s). The 6502 CPU is also good for learning assembly language, and it's found in the Apple II line, and in the C-64 and VIC-20 computers.
carlsson
January 19th, 2007, 03:02 PM
I tend to fool myself that I'm more likely to learn to program a computer if I own the particular hardware. I would still use an emulator for the development process, but the option to run my software on the real thing is supposedly a motivator.
A bit over a year ago I bought an Acorn BBC Master Compact. I yet haven't even begun to dig out a memory map, not even written a Basic program beyond Hello World, despite I'm reasonably fluent in 6502 machine code. Go figure how much of a motivator a new system really was to me. :-)
Thrashbarg
January 20th, 2007, 01:02 PM
I've made a few 'homebrew' computers from scratch. It's quite a buzz to see something say "Hello World" for the first time.
My website (hosted on my 64kb/s upload for now) is in my signature, it's got schematics and software for homebuilt computers (8080 based, but the same applies for all microcomputers).
If you want to start a project don't hesitate to ask for help!
Also, have a look at http://www.vintage-computer.com/vcforum/showthread.php?t=4467 , I go into detail here (helping UncleBinary) about wiring up Z80 microcomputers. There are links to schematics on the final page. It went on for ages.
tanlaan
January 22nd, 2007, 09:11 PM
Hmm, that sounds like a great idea to me! :D. I think that would be a great starter project. Seeing as how its made up of very few parts *compared to a larger computer* and would give me a basic feel for wiring.
I don't see anything saying that that person finished their project :(. Would you happen to have any information on it? Like what would be the "most powerful" computer you could make, meaning the highest RAM, ROM, and CPU rating. It would be cool to have such a small computer :D.
I wonder if it would be able to run some form of *nix. Because that would make it a pretty sweet package. Maybe figure out a way to either get ethernet or wifi *that might take more than one tin :P*. Then you could use internet apps.
Thrashbarg
January 22nd, 2007, 09:59 PM
I think you're underestimating the complexity of computers. There are a LOT of wires and it's easy to get them mixed up.
Just to give you an idea here's a picture of the wirewrap side of my *first* computer (which I didn't get going).
http://6502.org/users/alexis/6502_wire.jpeg
To start off you'll want to use an 8-bit CPU. Anything more and there will be too many wires. It's possible to use more powerful CPU's but I wouldn't recommend it for your first ;)
This would mean you're limited to a maximum of 64K RAM (that's with bank switching which can get complicated), probably 48K RAM and the rest ROM. I suggested in the other thread to use only 32K RAM and 32K ROM to make it simpler to wire up, as the topmost address pin can be used as a chip select.
There is no chance you'll get UNIX running on one of these, they require a much more powerful CPU.
Also, I've figured out a much better way for wirewrapping a board together than soldering wire onto the solder side of the board. This will work with regular veroboard which is useful.
What you do get those wire pins, they're about 8mm tall and have a blob towards the end to stop them from falling through the board. On the component side (or the solder side if you want) of the board solder these pins in the holes on the outside of the chips so that each pin on the chip has a wire pin. Underneath (you should probably do this first) cut the strips so the pins of the IC's aren't attached to each other but so the wire pins are. You can then solder wire onto the wire pins and complete the circuit.
This is just a concept, I haven't tested it yet, but I think it's promising.
If you want information on the Z80 processor check out http://z80.info
I also drew up a schematic for UncleBinary, http://kaput.homeunix.org/~thrashbarg/Z80SBC.png
tanlaan
January 22nd, 2007, 11:26 PM
Ok, well I semi understand...some of the diagram lol. I will have to look some stuff up though. All I want to know now, is what could I possibly use this small computer for? *considering it is such a tiny computer*. That and what sort of OS would you use with something like this? Would it be able to connect to a monitor of some sort, as that person had planned?
Thrashbarg
January 23rd, 2007, 10:14 AM
Well why do some people have a train set? It doesn't do anything. They have it because it's fun.
The easiest option for a monitor is to use a serial port and a terminal emulator program on another computer (such as hyperterminal, but there are better ones).
As for the schematic... maybe it would be best if you hired some books from the library on digital electronics design? There really is too much to go through here.
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.