This project will start off by describing the basics of electronics. After that, the fundamentals of binary and boolean logic will be described. Lastly we will then move onto the function of the various parts of a simple-as-possible computer (with a few modifications) as described in Malvino's text

*Digital Computer Electronics*. This means that the end product of this Instructable will be a computer that you can program with a unique instruction set. This project also leaves many of the design aspects of the computer up to you and serves as a guide for building your own computer. This is because there are many ways to approach this project. If you already have a sound understanding of boolean logic and the workings of binary feel free to skip to the meat of the project. I hope that you all enjoy and get something out of a build like this, I know that I sure did.

For this project you will need:

1.) A power supply

2.) Breadboards + lots of wires

3.) LED's for output

4.) Various logic IC's (discussed later)

5.) Free time

6.) A willingness to mess up and learn from mistakes

7.) A lot of patience

Optional (but very useful):

1.) Oscilloscope

2.) Digital multimeter

3.) EEPROM programmer

4.) Sonic screwdriver

**Useful Links for a Project Like This:**

*Digital Computer Electronics:***http://www.amazon.com/Digital-computer-electronics-Albert-Malvino/dp/007039861**

*TTL Cookbook:***http://www.amazon.com/TTL-Cookbook-Understanding-Transistor-Transistor-Integrated/dp/B0049UUV38**

**Signing Up**

Presumably execute simply binary programs. Adding numbers, subtracting numbers, multiplication, division, maybe some more complex things like calculating square roots or powers. Anything that a standard computer can do within the limited memory it has (256 bytes).

Are logical operations like AND , OR, NOR, or XOR essential in performing complex operations like square rooting, or a game. I just wanna know if they are needed. If so, which operation is used the most.

Every single kind of computation your computer does relies fundamentally on the operations of AND, OR, NOR, NOT and XOR. Actually, even AND, XOR and NOR can be composed simply of OR and NOT gates.

i want to ask about about the uses of this 8 bit computer

Since its 8-bit, you can do anything that requires 16 bytes of memory ( depending on your RAM ). Unless you add some external drive... which would allow you to do so much more. But just with 16 bytes of RAM you can probably do operations like:

A+B=C, then

C+B=D,then

D+A=Z,

I think.

But with an external drive of some sort your 8 bit computer will be able to do stuff like this https://www.youtube.com/watch?v=qYvr0b8jqbg ...i think?-e-dah-puzi-1998

16 bytes? How did you get that? Surely an 8-bit address buffer should be able to address 2^8=256 bytes of memory?

What ROM ic's did you buy.

Can anyone tell me which RAM IC I should buy?

http://www.jameco.com/webapp/wcs/stores/servlet/ProductDisplay?freeText=74189&langId=-1&storeId=10001&productId=49883&search_type=jamecoall&catalogId=10001&ddkey=http:StoreCatalogDrillDownView...

Two of these chips can be your 16x8 RAM

i like your instructable and i'am building it i'am wondering if it's possible to calculate big numbers with this computer or i am limited to 8 bit numbers only?

in 32 bit computer you can calculate bigger number than 32 bit, i think it's a software thing but anyone can make it clear how it's done ?

Sorry for my english.

You certainly can, you just have to do the calculations over a series of operations, also storing and loading from RAM. As opposed to having the CPU's ALU do it all for you. Just like how you would have to manually calculate Floating Point operations on old CPUs. Yes it is much slower!

how many wires do I need?

I think someone forgot to cable manage :P

haha sonic screwdriver. This is awesome

this is so awesome i am about to cry. congrats

This is amazing will try this hmm.. maybe next year

I love it. Thanks a lot. Nicely explained. Awesome. :D

cost to make computer?

Where can i buy those nice leds? :D

I clicked this link, saw the image of the bread boards swathed with a gazillion wires, and literally laughed out loud. Clearly not an easy task, but clearly you've shown it is achievable. Thanks a lot for sharing this!

such skill

This is an amazing project, thank you for sharing!

Would it make sense to replace the JMP instruction with some kind of conditional jump? Such as "Jump to a certain instruction in memory at the specified address *if* the accumulator is non-zero"? Otherwise I cannot figure out how to program conditionals (such as a program which outputs 0 if the accumulator contains the value 0, and 1 otherwise). In particular, I can't figure out how to program multiplication with your instruction set (which would be easy with a conditional jump). All of the arithmetic tricks that I know for getting a conditional jump out of a non-conditional jump require multiplication, such as encoding "if A then B else C" with A*B+(1-A)*C in the case that A is either 0 (false) or 1 (true).

Am I missing something obvious? Thanks again!

I think clock can be a simple button at beginning :)

a bit is the smallest form of computer memory

so basically 8 is its maximum storage and processing power which isn't much for a computer but it is all it need's for calculating numbers also why would you limit the ability of a calculator?

do you have a multisim or any other simulation files of the end result? if so could you please mail it to me at aus284@gmail.com if possible.

What a great idea using the XOR and C-in to preform a subtraction!

I know right. i want to know that too!!!

If you are asking that, it means that you do not have understood this document. Keep studiing it !

i dont have any use for them