Homebrew TTL Logic Computer

Although [Jack] just graduated High School and doesn’t have much experience with electronics, that didn’t stop him from building the DUO Adept, a homebrew computer built entirely out of TTL logic chips.

The DUO Adept has 64k of memory, 6K of which is dedicated to the video ram that outputs a 240×208 black and white image onto a TV. Bootstrapping the computer to it’s current state was quite a challenge, as an entire OS was put into th system one bit at a time though DIP switches. After the OS was written to the computer, [Jack] was able to connect a keyboard and started programming. [Jack] programmed a hex editor and a few games of his own design. If all that wasn’t impressive enough, [Jack] also programmed an assembly compiler and emulator for his homebrew system.

We’ve seen a a few homebrew computersbefore, but not many of them are laid out on 17 breadboards like the DUO Adept. With skills like these, we can’t wait to see what [Jack] comes up with next. Check out the video after the break for a walk-through of the build.

[youtube=http://www.youtube.com/watch?v=qYvr0b8jqbg&w=470]

48 thoughts on “Homebrew TTL Logic Computer

  1. hmmmm… wireporn

    all and all… that is mighty impressive

    I do wonder though how well it could be expanded? like say for example adding more memory or a form of networking? image a few crates such as this all farmed together…

    i say again… hmm… wireporn :P

  2. I’m having some trouble resolving these two sentence fragments: “doesn’t have much experience with electronics” and “a homebrew computer built entirely out of TTL logic chips”

    He damn sure does now. Nice work Jack.

  3. “Bootstrapping the computer to it’s current state was quite a challenge, as an entire OS was put into th system one bit at a time though DIP switches.”

    Wah? Many of us did that in the early years. load with the toggle switches the code that allows us to use the hex keypad to go hella faster.

    Want to try difficult? using dip switches and a push-button to HAND LOAD a eprom for the initial bootload…

    Load, press write, now press read to make sure what was loaded was correct, continue… you make ONE mistake and it’s start over from the beginning and grab a new chip.

  4. fartface: Did you miss the “Interior View” link on the photo gallery page? Granted you still can’t read the markings on the chips, but that’s largely because there are seven thousand jumper wires in the way.

  5. Impractical. Crazy. Like many things here.

    Except this one is just impressive as hell.

    Jack is awesome. If he can do this with TTL and breadboards, imagine what he’ll be able to do with more advanced stuff like FPGA’s…

    @Fartface: Check out the “View Video Demonstrations” link on Jack’s page, there’s plenty of good wireporn shots.

  6. Jack, it would be an understatement to say you are incredibly talented. That is an impressive system and you must have had a lot of perseverance to get it working! The JavaScript compiler/emulator is really cool too.

    AMAZING

  7. He is obviously on a mission to understand computers from the ground up. If you look at the other projects he has done a 2 bit relay computer, 4 bit ttl computer and now an 8 bit ttl computer. Very old school. The only thing missing is a vacumn tube computer, but I would not put that in a plastic tub!

  8. Amazing!
    I’d add something like a punch-card reader. Some phototranzistors read black/white dots from a sheet of paper that was printed before and transform it into code. A lot faster than DIP switches and less error-prone.

  9. Did anyone else notice the reverse bit order convention? He puts the least-significant bit on the left. For example, here’s 0 through 7: 0000 1000 0100 1100 0010 1010 0110 1110. I guess that’s valid, just a little unusual. Probably much easier to program. I heard a rumor that Alan Turing did the same thing, at least in decimal, such that “51” is fifteen.

  10. @Andy Goth: if you’re using an 8-bit chip, it can make things much easier because then you always know that the lsb of your operand is the first byte; also, with x86-type chips (16-bit and above) the operands are arranged this way anyway, with the lsb first.

    Fantastic achievement, by the way, this thing.

  11. Tremendously well done Jack, this is just the tenacity and grass-roots effort our next generation of developers will need, so refreshing so brilliant, Jack please continue to reach for the stars…

  12. What’s an “assembly compiler?” I’ve been working with computers for years and never met one of those. I know what an assembler is and what a compiler is. But an “assembly compiler?” Is that what results when the Commodore MADS package mates with Aztec C?

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.