
Why build an entire computer on breadboards? [video] - guiambros
https://www.youtube.com/watch?v=fCbAafKLqC8
======
TheAceOfHearts
I discovered Ben Eater from another post on HN: "Let's build a circuit that
displays an image on a VGA monitor [video]" [0]. If you're new to his content,
I'd recommend starting with that video; it's currently his second most popular
video on YouTube with 2M views. After watching that series I became interested
in how display capabilities are communicated in modern systems and I learned a
bit about DisplayID [1], which is a superset of an older (and apparently
rather dysfunctional) standard.

A bit tangential, but I recently discovered the incredible Make: Encyclopedia
of Electronic Components series (here's Vol 1 [2]) and immediately fell in
love. It's one of those things which you don't know you need until you learn
of its existence, and then you can't live without it. The topics covered by
this series go far beyond what you learn as part of a computer engineering or
electrical engineering undergraduate program, at least based on my experience
and those of my friends.

Some commenters are asking about getting started with electronics. My standard
suggestion is Make: Electronics [3], which is written for learning by
discovery rather than learning by explanation. Read the first page of the
Preface [4] for an explanation of what that means; consider picking up a copy
if that resonates with you.

[0]
[https://news.ycombinator.com/item?id=20375702](https://news.ycombinator.com/item?id=20375702)

[1]
[https://en.wikipedia.org/wiki/DisplayID](https://en.wikipedia.org/wiki/DisplayID)

[2] [https://www.makershed.com/products/make-encyclopedia-of-
elec...](https://www.makershed.com/products/make-encyclopedia-of-electronic-
components-vol-1)

[3] [https://www.makershed.com/products/make-
electronics-2ed4](https://www.makershed.com/products/make-electronics-2ed4)

[4] [https://imgur.com/ZR3anzQ](https://imgur.com/ZR3anzQ)

~~~
yesenadam
Your [3] link is "404 Page not found" for me currently.

~~~
moefh
Just remove the extra "4" from the end of the URL:

[https://www.makershed.com/products/make-
electronics-2ed](https://www.makershed.com/products/make-electronics-2ed)

------
soneil
I've built a z80 system on a breadboard. I did so because it's pretty much the
last point where a regular person can understand what's happening from start
to finish. Every single instruction. Eat that, "full stack". As soon as you
add a GAL (that you didn't program), you've lost this, which on the home
computer level, is the midpoint between 8bit and 16bit.

~~~
BubRoss
What is a GAL?

Edit: Gate Array Logic, thanks everyone

~~~
soneil
Programmable gate arrays - The neanderthal of the FPGA family tree. A lot of
functions that started life as discrete logic (eg glue logic, address
decoding, video output) got moved into GALs because they're much more suited
to mass production. But from my point of view, they just introduce a "black
box" into the design so I can no longer trace every single function.

As an example, if you have a very simple design with a 32k rom chip and a 32k
ram chip, address decoding - controlling which chip is going to provide that
address, is dirt simple. You take the highest bit of the address and use it as
the enable line on one chip. Then you run the same signal through a NOT gate,
and provide it as the enable to the other. So for addresses 0x0000 through
0x7fff, the high bit is 0, and one chip is enabled, and for addresses 0x8000
onwards, the high bit is 1, and the other chip is enabled instead. So when I
address 0x8000, I'm actually addressing location 0 on the 2nd chip.

But when you look at contemporary designs, 32k & 64k ram chips were either
unavailable, or an unnecessary expense. It's not unusual to see old-school
devices with a whole cluster of 1k ram chips - and my nice, understandable
decoding starts to get expensive. Now you're trying to compare the top 6
address bits, with lots of replication for each ram chip. If I were to do it,
I'd probably use two 74138 chips to do binary-to-decimal, and then an AND gate
per ram chip to compare the outputs. For 32k of ram, and at 4 AND gates per
7408, we end up with 2x74138 and 8x7408.

So as a hobbyist, I'd much prefer this as I can still describe the entire
process end-to-end. For mass-production, replacing 10 discrete-logic chips
with one programmable-logic chip, is several wins.

------
vascofazza
I have just built my 8bit CPU on a custom-designed PCB. Ben really inspired me
:)

Check it out:

[https://github.com/vascofazza/8bit-cpu](https://github.com/vascofazza/8bit-
cpu)

[https://www.youtube.com/watch?v=R_gflIunANo](https://www.youtube.com/watch?v=R_gflIunANo)

------
rrmm
I enjoyed his entire series on youtube, but I personally think it's nuts to
make it on a breadboard. Whenever I've built systems of this sort I've always
opted for point to point soldering.

In the videos he talks about the importance of using high quality breadboards,
but even so, it's so easy to knock a wire out accidentally that leads to
having to trace every connection to figure out what went wrong.

But from a pedagogical standpoint and having people follow along with a
minimum set of skills, I get it.

------
sunstone
If his chosen technology was wirewrap rather than actual breadboards I would a
lot more confidence in this guy's judgement.

------
amatecha
Ah man.. that is super cool. Very tempted to build one now!!

------
boofgod
for most people who do this, id imagine the reason is because they are a
computer engineering student and need lab credits

~~~
g051051
Or you just think it's _awesome_.

~~~
giancarlostoro
I would think the kind of people who go on a website like HN think this is
awesome as well. I know not all the audience of HN is necessarily software /
hardware engineers, but definitely there's enough of them on here go drive
interest.

