Build my own computing system

Thread Starter

Kire

Joined Jul 27, 2012
12
I am wondering if there are any books or tutorials or sites for that matter that can walk someone through the process of building their own computing system from the chips up?

Meaning, I want to build the circuit boards, learn how to program it and everything.

I found a great book for doing it through simulators, but it leaves a lot out.

I want to build an actual physical computing system.

Any help would be great.
 

MrChips

Joined Oct 2, 2009
30,824
Of course it is doable, but it depends on what you mean by a computing system.
There is a long progression of development from

vacuum tubes
transistors
integrated circuits
microprocessors
microcontrollers
single-board computers
single-chip computers

You can jump in at any stage. Take your pick.

Then there is the question of system software. Are you referring to running MS-DOS, Windows, Mac-OS, Linux or any one of hundreds of operating systems available or are you thinking of a system that plays Pong, Donkey-Kong or Space Invaders?
 

Thread Starter

Kire

Joined Jul 27, 2012
12
Of course it is doable, but it depends on what you mean by a computing system.
There is a long progression of development from

vacuum tubes
transistors
integrated circuits
microprocessors
microcontrollers
single-board computers
single-chip computers

You can jump in at any stage. Take your pick.

Then there is the question of system software. Are you referring to running MS-DOS, Windows, Mac-OS, Linux or any one of hundreds of operating systems available or are you thinking of a system that plays Pong, Donkey-Kong or Space Invaders?
Yeah, I probably should have been more clear.

I suppose if I had to say what I would most clearly like to do is be able to assemble the various chips, say a microprocessor, ram chips, etc. to build a computing system, maybe along the lines of say for example an Apple I.

I don't want to buy a motherboard and plug in the components.

I then would like to be able to write my own basic operating system, and also write my own basic compiler.
 

MrChips

Joined Oct 2, 2009
30,824
I then would like to be able to write my own basic operating system, and also write my own basic compiler.
Ok, let's start with the last line.

"Basic" can mean two things. I can mean "fundamental" or it can mean the "BASIC" programming language.

If you want to write a BASIC compiler, you would not do this on the computer you are trying to create (which we call the target system). You would create the software on a PC, Mac, Linux or similar machine to run on the target system

In other words, you need a working computer to create the software for a new machine - to avoid the chicken and egg problem.

The same goes for writing a "basic" operating system.

So before designing your target machine you have to decide what software you want to run on the system and how you are going to go about creating the system.
 

Thread Starter

Kire

Joined Jul 27, 2012
12
Ok, let's start with the last line.

"Basic" can mean two things. I can mean "fundamental" or it can mean the "BASIC" programming language.

If you want to write a BASIC compiler, you would not do this on the computer you are trying to create (which we call the target system). You would create the software on a PC, Mac, Linux or similar machine to run on the target system

In other words, you need a working computer to create the software for a new machine - to avoid the chicken and egg problem.

The same goes for writing a "basic" operating system.

So before designing your target machine you have to decide what software you want to run on the system and how you are going to go about creating the system.
OK, I need to be careful, sorry!

Not necessarily BASIC as in the BASIC, I meant some form of a compiler, however simple it may be.

I basically want to build my own computing system, I am using the Apple I as an exapmle, but any Von Neumon (sp?) platform would suffice.

And I want to be able to connect it to say a monitor, keyboard, etc.

I am seeing this more as a learning project more than anything else.

If there is anything out there, I am willing to take what I can get, so I don't want to be so specific that I cannot find anything.

Just to add one more thing, ideally I would like to understand the "why" everything is being done, not just the how.
 

MrChips

Joined Oct 2, 2009
30,824
I understand that you don't know what you are getting into otherwise you wouldn't be asking questions, right? That's ok. That's what this forum is all about - helping people find there way through the jungle. We are the trail blazers. We've been there, seen it, done it.

Must computer systems, including the Apple I are based on the Von Neumann architecture. For the time being you need not concern yourself with this.

You can build a system with a microprocessor, memory, monitor, keyboard etc, but it would not do anything when you turn the power on.

There is a lot more to getting the screen show "Hello world" or whatever message you want to show on power up.

At some point you have to select a microcomputer manufacturer. There are dozens to choose from. The next step would be to select an actual chip or a chip set or chip family. Next you would go out and purchase a dev kit. This will allow you to being programming, learn about the features of a microcontroller, interfacing with monitors, keyboards etc. and start getting a feel for what it takes to write your own system software.
 

Thread Starter

Kire

Joined Jul 27, 2012
12
I understand that you don't know what you are getting into otherwise you wouldn't be asking questions, right? That's ok. That's what this forum is all about - helping people find there way through the jungle. We are the trail blazers. We've been there, seen it, done it.

Must computer systems, including the Apple I are based on the Von Neumann architecture. For the time being you need not concern yourself with this.

You can build a system with a microprocessor, memory, monitor, keyboard etc, but it would not do anything when you turn the power on.

There is a lot more to getting the screen show "Hello world" or whatever message you want to show on power up.

At some point you have to select a microcomputer manufacturer. There are dozens to choose from. The next step would be to select an actual chip or a chip set or chip family. Next you would go out and purchase a dev kit. This will allow you to being programming, learn about the features of a microcontroller, interfacing with monitors, keyboards etc. and start getting a feel for what it takes to write your own system software.
So it sounds like what I was really looking for does not exist, which makes sense because I did search pretty well for it.

I read the book elements of computing systems, which starts with the primitive Nand gate, and goes through the process of building logic gates, nor, Nand, Not, or, Mux, DMux, 8way of each........

It also goes through the process of building registers and Ram.

Then you build an ALU, eventually you write a basic operating system, virtual machines and a compiler.

All of this is done through hardware simulation.

It was a fantastic book, and I really enjoyed it.

BUT, I want to be able to build a physical device.

So, say I want to use x86 architecture, Intel, AMD, etc., I know I could do this by buying a motherboard, and plugging in my components, but I want to get more into the weeds.

I have been working through electronics, learning about circuits, and I really want to build my own circuit boards to make the system.

Is that a realistic project? If so, how would I start?

I am certainly not an electrical engineer, but I have a pretty solid understanding of electronics and circuits from the volumes on the AAC site, and playing around with my own circuits.
 

WBahn

Joined Mar 31, 2012
30,082
I am wondering if there are any books or tutorials or sites for that matter that can walk someone through the process of building their own computing system from the chips up?

Meaning, I want to build the circuit boards, learn how to program it and everything.

I found a great book for doing it through simulators, but it leaves a lot out.

I want to build an actual physical computing system.

Any help would be great.
I have a book at home that was for an undergraduate EE course from about 30 years ago. The entire course (lab-oriented course) was structured around building your own functioning 8088-based computer, including laying out the board and etching it yourself. The only thing that was supplied that you didn't have to do from scratch was a BIOS image for a very minimal BIOS (because it wasn't a software/firmware course), but it walked through how the BIOS worked almost line-by-line.

I hazard to guess that courses like that have largely gone the way of the Dodo bird.

Writing your own compiler is a pretty big undertaking, but if you are willing to keep it really brain dead and restricted, is probably doable without a whole lot of the background that is usually involved.
 

Thread Starter

Kire

Joined Jul 27, 2012
12
I have a book at home that was for an undergraduate EE course from about 30 years ago. The entire course (lab-oriented course) was structured around building your own functioning 8088-based computer, including laying out the board and etching it yourself. The only thing that was supplied that you didn't have to do from scratch was a BIOS image for a very minimal BIOS (because it wasn't a software/firmware course), but it walked through how the BIOS worked almost line-by-line.

I hazard to guess that courses like that have largely gone the way of the Dodo bird.

Writing your own compiler is a pretty big undertaking, but if you are willing to keep it really brain dead and restricted, is probably doable without a whole lot of the background that is usually involved.
That is really the idea of what I am looking for!

Do you happen to know the name of the book?
 

MrChips

Joined Oct 2, 2009
30,824
So it sounds like what I was really looking for does not exist, which makes sense because I did search pretty well for it.
Not true.

All the information you are looking for is out there. It is just that it is not current. Very few people have reasons to build their own system from scratch. I am doing that right now but I am using a single-chip solution using the ARM STM32F407.


So, say I want to use x86 architecture, Intel, AMD, etc., I know I could do this by buying a motherboard, and plugging in my components, but I want to get more into the weeds.
Is that a realistic project? If so, how would I start?
It is a realistic project. As I said, once you choose your manufacturer and chip we can guide you from there.

If you want to build an Intel-based system, you can choose 8086, 8088, 8085, 8035 or Z80 (besides many others).

If you wish to go with Motorola/Freescale, there is 6800, 6802, 6809, 68000, 68008, 6805, 68HC11, 68HC12 etc. to choose from.
 

Thread Starter

Kire

Joined Jul 27, 2012
12
Not true.

All the information you are looking for is out there. It is just that it is not current. Very few people have reasons to build their own system from scratch. I am doing that right now but I am using a single-chip solution using the ARM STM32F407.


It is a realistic project. As I said, once you choose your manufacturer and chip we can guide you from there.

If you want to build an Intel-based system, you can choose 8086, 8088, 8085, 8035 or Z80 (besides many others).

If you wish to go with Motorola/Freescale, there is 6800, 6802, 6809, 68000, 68008, 6805, 68HC11, 68HC12 etc. to choose from.
Awesome, so let say I want to go with an Intel-based system, Lets say 8086, unless you think another would be better choice!

I really appreciate your help!
 

MrChips

Joined Oct 2, 2009
30,824
Well then I would choose the 8088 chip as this is based on an 8-bit bus.
It will make the hardware interface simpler.
Look for an Osborne book on an 8086/8088 system.
 

GetDeviceInfo

Joined Jun 7, 2009
2,196
something to consider;

the original IBM PC PC/XT was a fairly simple machine. You can get complete schematics and numerous books on explanations on the circuits and devices. The origianal system bios is well documented with complete code listings. DOS was also well documented with tons of books diving deeply into the code.

the only problem is obtaining these original boards, but I bet you could still find them kicking around.
 

WBahn

Joined Mar 31, 2012
30,082
That is really the idea of what I am looking for!

Do you happen to know the name of the book?
I will have to see if I can find it. I got it at TechAmerica and have always wanted to go through it and do the same thing (I might have implied that it was from a course I took, it wasn't), but have never gotten around to it. But just skimming it, it seems pretty good. Now, the devil's in the details, so it could turn out to be missing key things or to not get them across well. But if I can find it I'll post the title/author.
 

Thread Starter

Kire

Joined Jul 27, 2012
12
something to consider;

the original IBM PC PC/XT was a fairly simple machine. You can get complete schematics and numerous books on explanations on the circuits and devices. The origianal system bios is well documented with complete code listings. DOS was also well documented with tons of books diving deeply into the code.

the only problem is obtaining these original boards, but I bet you could still find them kicking around.
To do something like this would be very cool.

I have been looking at some books as well as trying to find some parts for these older machines, and it is definitely challenging.

I have found a few old non intel 8088 chips on eBay, but they are being sold as collectors items instead of as working parts, so who knows.

I would love to find something I could build with modernly available parts.
 

Thread Starter

Kire

Joined Jul 27, 2012
12
I highly recommend the above book by Steve Ciarcia. I owned this book since 1986 and I think this is one of the books I love and referenced the most. Now you can even download it for free from the site attached.

http://www.flickr.com/photos/mrbill/159064314/

Allen
I just downloaded and skimmed through this book.

Wow, truly amazing book.

Sadly, at this point, this is way over my head, and much of this is greek to me.
 

MrChips

Joined Oct 2, 2009
30,824
As I said, there is a lot more to learn than just wiring some chips together, but it is still doable, depending on how much you are willing to persevere. Someone (in fact, lots of people) did it in the past. Not too many do it now or even know how to do it.

When you put together such a system it will do absolutely nothing. You will have to create a BIOS code and program it into a ROM chip. In the past this was done using a UV-EPROM. Folks don't use UV-EPROMs anymore. The next closest thing is a FLASH memory chip. So now you have to learn how to program a FLASH memory chip.

So what does this BIOS do? It may just say "hello" on the screen and ask you to select a few options.

(Did I mention that you could be getting in way over your head?)
 
Top