The 8-Bit Computer That's Been Built By Hand 161
nk497 writes "Forget snapping a few components into a motherboard — programming enthusiast Jack Eisenmann has made his own PC from scratch. His Duo Adept, as he's named it, features 64KB of main memory, 256 bytes of RAM and, in total, 263 lines of code for his homemade OS. Sure, it can't run Crysis, but it does run a game he's written himself."
Old school (Score:5, Interesting)
I wasn't around for this sort of stuff but wasn't this the sort of thing Radio Shacks customers were doing 25+ years ago?
Re: (Score:2)
Re: (Score:1)
This guy built a home-built *CPU* from TTL chips. So, no, it's considerably more impressive that using any kind of dev board with an onboard microprocessor.
(You're starting with RAM already existing - he isn't.)
Re:Old school (Score:4, Funny)
Re: (Score:3)
TTL chips? Luxury! When I was a lad we had to use coconuts and vine to fashion NAND gates.
Gilligan, don't forget the NOT gate that we fashioned out of the two transistors from the radio or the infinite power source that came out of it. Now why couldn't have that satellite flown overhead a few moments after we completed the digital telecommunicator device?
--The Professor
Re: (Score:2)
Yup, this isn't just going and getting some old 6502 or Z80 and building a new computer around it. That's been done plenty over the last thirty-odd years. This guy has actually built an 8-bit CPU. Fuck, I'd be impressed if he'd built a 4-bit processor, but this is pretty damned cool.
Re: (Score:2)
Re: (Score:2)
That's pretty much what we did in a CS/EE class. Designed a CPU from scratch, put the microcode on a FPLA and used a bunch of supporting TTL chips. If I recall correctly, it was 16-bit, but it might have been 8. He has taken it a step further with video output, and that's impressive (at least to me).
Re: (Score:2)
Same here, in computer design. Used some PLDs with ridiculous gate limits and at the end of the project, we were playing a counting game via serial
Re: (Score:2)
These days, you don't even need an FPGA. Take any fast multicore chip like Parallax Propeller [parallax.com] or fast multithreaded chip like XMOS XC-1 [xmos.com] and you can emulate pretty much any retro 4 or 8 bit CPU at native or faster speed. With video output. All pretty much single chip -- all you need is a clock crystal and some voltage regulators. The propeller has 8 completely independent cores called cogs, each with 4 kbytes of dedicated RAM, and 32 kbytes of shared RAM in so-called hub. XC-1 has hardware multithreading wit
Re: (Score:2, Interesting)
Err, I may have confused this with another story - from here [homebrewcpu.com]. If I have, sorry.
Neverthless, it seems this story is, however, not unique even in the modern day.
Re: (Score:2)
The 1970's called, it said you are low tech. Here's an example of a single TTL board [clemson.edu] from a VAX. There must be about 300 individual TTL chips from the 7400 series on it (where one chip has 4 nand on it, etc). The left 29 boards in this VAX [museum.com]are the cpu.
It is very noble to build your own CPU architecture with your own instruction set, however building CPUs out of gates in individual chips is just an exercise in wasting money when you can do the same thing on FPGAs, like the guy that built an entire Cray-1 [chrisfenton.com] on
Re: (Score:2)
Pretty much. I would've been impressed if he had done it from actual transistors not full-blown ICs, but given CompEng students make stuff like this in school (admittedly, with FPGAs, but the concept is the same) it's not as complex as it looks. I'd say the hardest part is probably the output to monitor. The wiring would be tedious, but not unthinkable.
Re:Old school (Score:4, Insightful)
The hard part is finding the loose wire.
Re: (Score:2)
It's a lot easier with FPGAs, because the synthesis tools will make sure you meet all the timing constraints and setup/hold requirements, or will complain if it can't. They will also complain if you connect two outputs together, or do other silly things. With real hardware you have to do all of that yourself.
Re: (Score:2)
A thousand monkeys standing around a box of parts would "accidentally" build a computer long before I figure it out. I'm impressed by what this guy did.
Re:Old school (Score:5, Funny)
A thousand monkeys standing around a box of parts would "accidentally" build a computer
Ah, I see you are familiar with the TRS-80.
Re: (Score:2)
A thousand monkeys standing around a box of parts would "accidentally" build a computer
Ah, I see you are familiar with the TRS-80.
Well, i have to hand it to those monkeys, my TRS-80 Mod 4p is still working...
Re: (Score:2)
Yes. I built a simple CPU+memory system in school around 1979 or so. That's 32 years ago.
Re: (Score:2)
I wasn't around for this sort of stuff but wasn't this the sort of thing Radio Shacks customers were doing 25+ years ago?
Indeed. I built a 6502 machine with the help of an electronics magazine, starting with actually etching my own circuit boards. It had an hexadecimal display and keyboard (thanks to manual Dymo of old), only the imagination was the limitation. And yes, I did write a game for it.
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:1)
Re: (Score:3)
There are two differences. One, he didn't use a prefab microprocessor - he built one from gates, counters, etc. And two, his website hasn't collapsed from the slashdotting.
Re: (Score:2)
Well. i thought he soldered it from discrete elements, like transistors. that would be something.
Re: (Score:2)
You make a good point. Maybe none of us should be impressed unless the formation of a new universe is somehow involved.
Re: (Score:2)
Oblig. XKCD strip [xkcd.com].
"So if you see a mote of dust vanish from your vision in a little flash or something, I'm sorry, I must have misplaced a rock."
Re: (Score:2)
Building a functioning 8-bit CPU and writing apps for it was required for graduating from our CS program at UC San Diego... not seeing why this is newsworthy.
Re: (Score:2)
Re: (Score:2)
>>it is newsworthy because this kid did this all on his own while he was in High School. With no training. What were you doing in High School?
I did a summer internship between my junior and senior years with Dr. Clark Guest (an amazing EE Professor) at UCSD to work on a fuzzy logic AI system that ultimately got me a job at a defense contractor before I graduated. But nice try with your tu quoque attempt.
Re: (Score:2)
Not really, no. 25 years ago you could buy a Z80 or 8085 in that kind of store for cheap, so there was no need to build your own CPU from TTL.
Yes, I was there.
Re: (Score:2)
Re: (Score:2)
I don't think they are missing the point. I was building Z-80 based systems and computers when I was 15 and by the time I was 17, I was creating embedded systems with complete multitasking OS'es from scratch. I thought I was pretty clever until I made friends with a Romanian kid my age who built an his own CPU out of TTL logic because he couldn't get hold of a microprocessor CPU. We became good friends at the time.
Over time, I met many others who had completed similar achievements. It's not as uncommon as y
Re: (Score:2)
For instance in my first year of CS out electronics module involved putting together an 8-bit machine, but we were given RAM and EEPROM chips plus a CPU (something Z80 based). The bit that wasn't just putting the data bus together was the actual programming of the CPU (that was done from scratch in assembler, and the result dumped onto the EEPROM) and the I/O sub-system (we crea
To bake an apple pie from scratch... (Score:4, Insightful)
Ever since Cosmos I can't take the phrase 'from scratch' seriously.
Also there is this TED video where a guy tries to build a toaster from raw materials...
Re: (Score:2, Informative)
Re: (Score:2)
Re: (Score:1)
Obviously, it's easy peasy to create your own universe... I mean, it's as easy as saying "let there be light".... Ooops, damned, I did it again. *sigh*
Re:To bake an apple pie from scratch... (Score:4, Insightful)
I don't think people appreciate the "tech tree" (to use Starcraft parlance) you have to walk down to get to the simplest of modern household items. The toaster is a good example, but now imagine starting from zero -- you can't even start with iron ore, because you don't have any tools to mine it with! So start with banging rocks to get something sharp you can use to cut down a tree, so you can make a handle to make a stone axe. Hopefully this is enough to get some iron ore, but now you also need to make something to smelt your ore in, such as a bloomery. And for that, you need charcoal. And for that...
Basically, the TED guy making his toaster cheated by used modern tools to get his raw materials. And even with cheating, his toaster never toasted any bread.
The tech tree for a dollar store pocket calculator is staggering, let alone a Space Shuttle. I don't think many people are conscious of this when they toss that toaster in the garbage and spend $10 on a new one.
wow (Score:1)
holy shit, who knew that web rings still existed in the 21st century!
Re: (Score:2)
holy shit, who knew that web rings still existed in the 21st century!
Throwback to the 80's computer. Throwback to the 90's webpage.
Re: (Score:2)
The mid 1970s called (Score:1)
They want their homebrew computer back.
As an aside: this is obviously someone who uses a Mac to be a hipster...
Re: (Score:1)
Re: (Score:2)
This is one of the best web rings though. Some really cool systems in there. Snag is many of those pages are served by the actual homebrew CPUs themselves, so they could be a bit slow (oh no, they're being slashdotted!).
very cool (Score:2)
Reminds me of the Maybe systems that MIT undergraduates build by hand in 6.004 (or used to, when I was involved) that were then programmed to emulate about 3 or 4 different architectures.
Re: (Score:2)
Re: (Score:1)
Yeah, there's a upper-level undergraduate course that does single-board computers with a 8088 MPU and some supporting hardware. It's a mess and I personally believe that the course should be changed to give a "interfacing with reality" bent to it, as a single MCU can be tuned to do the same (external memory bus, etc) and you can go beyond the "look I made a light blink" to "Look I can actually do something useful with this thing".
Upper-level undergraduate course at my university, which is not MIT.
Re: (Score:2)
6.004 was awesome, both taking it and helping teach and debug other student's projects as a lab assistant. It's was a great introduction to the basic skills required to be a firmware engineer in today's job market, since you really got to figure out, clock by clock, how a CPU operates.
not quite... (Score:1, Insightful)
...He still used a microprocessor in an integrated circuit. In college back in the 1980's some ubernerds built a 4004 with discrete transistors.
But still, i give this person _HUGE_ props, breadboarding a circuit that complex is very, very, VERY time consuming amount of debug. it would drive most people insane, literally, it would break their brains to try and debug this.
Re: (Score:3)
He still used a microprocessor in an integrated circuit.
Really? Which one did he use?
Re: (Score:2)
calm down: i meant to say he "just" used integrated circuits.
Re: (Score:2)
agreed, I have constructed a "computer" around a Z80, and there for a while ... wow. from countless hours tracing to out right fury as I yanked entire sections out with both fists and even in the end it never worked correctly
No microprocessor there (Score:2)
I wonder why he didn't wire-wrap it. This is a crazy way to build a computer - thousands of blue wires, any one of which could fail with a loose connection at any time.
Re: (Score:2)
my bad, i meant to say that he used "just" integrated circuits not a microprocessor.
still, that's a big "just"
Re:not quite... (Score:4, Insightful)
It looks like he used actual 74xx series TTL chips to make the CPU. From the parts list he isn't doing microcoding, and isn't even using ALU or bit-slice MSI chips. It's the real thing.
Re: (Score:2)
Oh good, that'll be next on my list of things to try and drive myself insane with.
1) Hinton's cubes
2) breadboarding an 8-bit computer
Please let me know if you think of any other surefire ways to go nuts. Okay, now off to watch Brainstorm again.
2 Memes With One Stone (Score:3, Funny)
I have to ask (since at the time I am writing this, no one else has done so yet)...
Does it run Linux?
And if it does, just imagine a Beowulf cluster of these things.
Re: (Score:1)
Re: (Score:2)
It'd probably be quite the clumsy cluster. I can't wait for the smell of hot plastic when those wires start overheating.
Correction: It'd probably be quite the smelly cluster. Like a tire factory.
Re: (Score:2)
IN SOVIET RUSSIA (Score:2)
In Soviet Russia computer wirewraps you.
Re: (Score:2)
When can I get ... (Score:2)
Can it store bitcoins? (Score:1)
Homebrew CPU runs Minix (Score:2, Interesting)
Here's one that running Minix: http://www.homebrewcpu.com/
printer memory (Score:1)
dont forget to scavenge that printer memory from old dot matrix printers like the old days ;-)
So its cool again? (Score:1)
Minecraft (Score:2)
Scratch? (Score:2)
Re: (Score:2)
Reminds me of the one (Score:5, Interesting)
Re: (Score:2)
Wrong direction (Score:3)
Everyone has right to their own hobbies, but think what can be accomplished with the same amount of labor and modern parts. Instead of making a CPU from hundreds of TTL gates, build a personal supercomputer from hundreds of ARM processors and custom operating system to effectively use that power for virtual reality or physics simulations. Hobbyists who has done this decades ago were futuristic not retro, creating devices that were not widely available, at least to private individuals.
Right direction (Score:3)
It's the right direction for demonstrating that computers are based on discrete logical components, no matter how tiny and embedded in a chip; and the right direction for demonstrating that, given enough time and information, it would be possible to truly understand any digital device.
Hmm, I wonder how many TTL chips I would need for a nice little PDP-11...
Re: (Score:2)
Years ago, I had some youngsters ask what microprocessor our schools PDP-11/34 used. They had a tough time grasping that it didn't use a microprocessor at all and that the CPU was actually a couple of circuit boards. I think that they thought that a microprocessor was some sort of magical thing that couldn't be implemented in another fashion.
Hmm, I wonder how many TTL chips I would need for a nice little PDP-11...
I used to own a PDP-11/10. The CPU was two fairly large circuit boards. I also got a set of schematics when I got the computer. Sadly, they and the computer parted
Re: (Score:2)
I don't recall very well, but wasn't the 11/34 the first PDP-11 using the Western Digital mpu chips? The ones that DEC tried to run WD out of business for, so they could buy the company cheaper than the chips?
Re: (Score:2)
(replying to self) - according to Wikipedia [wikipedia.org], the LSI-11 was first used in the 11/03, which was on the Qbus architecture, not the Unibus used by the 11/34. I stand corrected. :)
Re: (Score:2)
Are 11 used first generation PS3s terribly expensive? They already run Linux, have 9 cores each for a total of 99 and support networking.
Not "from scratch"... (Score:2)
He wired up a bunch of ICs. For "From Scratch", google 'toaster from scratch...
Re: (Score:2)
Or, as the late Carl Sagan said: "if you wish to make an apple pie from scratch, you must first invent the universe".
You have to start somewhere, though.
relay computer (Score:2)
A few decades too late (Score:2)
in the old days doing things 'by hand' was the only way it got done. But i guess ill give him credit for the patience that it requires to do this sort of stuff. ( does bring back old memories however.. sore fingers, smell of burnt solder in the air.. )
Fun with ICs (Score:3)
He certainly had some fun building this. The wires are used probably because he wasn't sure that everything works right; it's much easier to rework a wire connection than an inner PCB trace.
I suspect he is a strong amateur, but not a professional. A professional would design the whole thing in a simulator first, and once that works he'd implement it on a PCB (if not an FPGA.)
I personally haven't built processors, but I built a few peripherals for PDP11/LSI11, all from discrete logic. And I serviced IBM 360/370 systems [long time ago] - they were built exactly this way, but were a bit more modular.
EHEM -From the creator. (Score:2)
Re: (Score:2)
Re: (Score:2)
Oh, you made an account. See my other reply [slashdot.org]
Re: (Score:2)
Don't worry, we heard you. :) So, what's the next big thing?
Someone above posted this idea, what do you think about it?
Re: (Score:2)
It is an impressive accomplishment, and you should be proud of that. It demonstrates initiative, patience, imagination and maybe a bit of ingenuity.
There are some responses here that amount to "BFD" and you would do well to ignore those. There are others that put the scope of such a project in context, comparing it to what an undergrad student might do in a CS or EE class (and without much more experience or education than you have). I believe these responses are intended not to diminish what you've achieve
TTL computer from Electronics Australia (Score:2)
Very similar to the "Educ-8" TTL computer from Electronics Australia mag in 1974
see http://en.wikipedia.org/wiki/File:EDUC-8_Microcomputer.jpg [wikipedia.org]
and http://www.sworld.com.au/steven/educ-8/ [sworld.com.au]
I created life from scratch (Score:2)
Tanenbaum quote (Score:2)
I'm not sure if the guy from this article qualifies, but it sounds like he is close.
Building Turing machines from scratch (Score:2)
Not 263 lines of code (Score:2)
263 lines on the display. The article describing it gets it wrong, too, but there's an OS listing at the site.
boot time (Score:2)
Re: (Score:2)
Re: (Score:2)
This is amazing. This article doesn't give enough credit to what you have done. This is unbelievable - There is no question that you are a genius - but I also really admire your patience - I cannot believe the amount of frustrating debugging that you would have to go through for this.
I am a low level entrepreneur/inventor myself - and while I have nowhere near the intelligence and patience that you posses, I do have enough experience in this area to appreciate this. Study hard and become a great - you have
Re: (Score:2)
Awesome job; now you should use it to bootstrap your own trustable compiler [bell-labs.com].
Re: (Score:2)
So when the bomb squad can't figure out what it is, they'll radio the point man the instructions, "Cut the blue wire". And then he'll shit himself.