Forgot your password?
typodupeerror
Unix Hardware Linux

DIY CPU Demo'd Running Minix 313

Posted by Zonk
from the homebrew-is-darn-tasty dept.
DeviceGuru writes "Bill Buzbee offered the first public demonstration of the open-source Minix OS — a cousin of Linux — running on his homebrew minicomputer, the Magic-1, at the Vintage Computer Festival in Mountain View, Calif. The Magic-1 minicomputer is built with 74-series TTL ICs using wire-wrap construction, and implements a homebrew, 8086-like ISA. Rather than using a commercial microprocessor, Buzbee created his own microcoded CPU that runs at 4.09 MHz, and is in the same ballpark as an old 8086 in performance and capabilities. The CPU has a 22-bit physical address bus and an 8-bit data bus."
This discussion has been archived. No new comments can be posted.

DIY CPU Demo'd Running Minix

Comments Filter:
  • by iogan (943605) on Sunday November 04, 2007 @03:31PM (#21233937) Homepage
    Does it run Linux... I mean minix.. I mean... Oh forget it!
    • Re: (Score:2, Funny)

      by kc2keo (694222)
      Does it run Windows Vista? Did M$ appove of this? If not then its ILLEGAL! 0-| >:-(
    • Re: (Score:3, Interesting)

      by RockDoctor (15477)

      Does it run Linux... I mean minix.. I mean... Oh forget it!

      FTFA :
      Additionally, it "supports user and supervisor modes,..."

      From that alone, you should be able to deduce that it could in theory run a multitasking OS. Supervisor mode for when the OS needs to do things, user mode for userland stuff.
      If it's got the grunt of an 8086 with a couple of megs of RAM, then it's up there with the machines on which the Internet was developed and considerably after (in computing generation terms) the machines on which mu

  • by Anonymous Coward on Sunday November 04, 2007 @03:34PM (#21233959)

    Linus copied Minix. Well known fact !!
    • by Dunbal (464142) on Sunday November 04, 2007 @03:45PM (#21234057)
      OBVIOUSLY the guy stole the code for Minix from SCO. Lawsuit at 11.
    • more than that!!!!1 (Score:5, Informative)

      by sentientbrendan (316150) on Sunday November 04, 2007 @07:17PM (#21235821)
      and minix copied unix, which copied multix.

      Windows copied Macintosh, which copied the Lisa (also from apple), which copied the Xerox Alto and Star, which copied the oNLine System (1965).

      If by "copied" you mean "got ideas from." In science this is not considered cheating. It is considered doing your homework. If you don't look at other successful designs before making your own, there can be no progress. We'd end up reinventing the wheel 100 different broken ways, instead of coming up with better and better iterations on the same theme.

      Linux was "inspired" by Minix, but succeeded in its place because of higher performance and a more open development environment.
  • Next step (Score:5, Funny)

    by The MAZZTer (911996) <megazzt@gm[ ].com ['ail' in gap]> on Sunday November 04, 2007 @03:36PM (#21233981) Homepage
    Beowulf Cluster
  • Self flagellation (Score:4, Informative)

    by John Jorsett (171560) on Sunday November 04, 2007 @03:38PM (#21233997)
    I wirewrapped a computer together back when building your own hardware was about the only option, and it wasn't a fun experience. I can't imagine actually wanting to do it, but to each his own.
    • Re:Self flagellation (Score:4, Interesting)

      by Linker3000 (626634) on Sunday November 04, 2007 @05:47PM (#21235095) Journal
      In the early 80's I spent part of my Electronic Engineering apprenticeship in the wiring shop of a company that made flight simulators. One day my supervisor gave me this dirty great wirewrap backplane to complete - it was sheer hell to do and took me the best part of a week. When it was finished I had to submit it to the mechanical inspection team who not only unwrapped some joints to check them out, but also tested various functions using special diagnostic boards. After some remedial work and final checking the work was done. My supervisor came over and said "Good news, your work has passed inspection", closely followed by: "The bad news is those panels come in pairs!". Aaargh!!
    • by nurb432 (527695)
      It wasnt fun? Thats odd. That sort of thing was(is) tons o fun
  • Pimp my Magic-1 (Score:4, Interesting)

    by ddrichardson (869910) on Sunday November 04, 2007 @03:41PM (#21234017) Homepage

    I'm quite impressed that he went to the trouble of the cutaway side panel and the illumination [linuxdevices.com]. With all those switches and lights on the front we truly are one step closer to Star Trek technology.

    • His CPU runs at 4.09 MHz, and your saying we are one step closer to StarTrek technology??? Where the hell have I been, and what changed while I was away?
  • cousin? (Score:5, Funny)

    by m2943 (1140797) on Sunday November 04, 2007 @03:41PM (#21234025)
    the open-source Minix OS [CC] -- a cousin of Linux

    That must be the same sense in which Dick Cheney is "a cousin of" Barak Obama.
    • Re:cousin? (Score:5, Funny)

      by Anonymous Coward on Sunday November 04, 2007 @03:49PM (#21234099)
      If you're implying that Barack Obama was originally conceived and developed as a freer alternative to Dick Cheney, then yes, that's right.
    • Re:cousin? (Score:5, Informative)

      by kwerle (39371) <kurt@CircleW.org> on Sunday November 04, 2007 @03:52PM (#21234119) Homepage Journal
      Linux was originally host compiled on Minix. It's original filesystem was Minix compatible. Linus originally announced Linux on the Minix newsgroups. They're both *nixen. I think that cousin is a pretty good description. Though maybe Linux as a bastard child would be more accurate.
      • Re: (Score:2, Informative)

        Also, many early linux boot floppies contained a minix filesystem. I recently had to put a Slackware box online specifically so I could read some old minix filesystem floppies I made back in the mid 90's.

        Minix back then was open source (non-TM version) but you had to buy the textbook to legally use a copy. Now it's open source and the latest version is quite respectable.
      • by Kaenneth (82978)
        You can have your own cousin as a parent, with the possible bonus of have 6 fingers on each hand.
  • by erroneus (253617) on Sunday November 04, 2007 @03:43PM (#21234041) Homepage
    I would really want to do this! I'm sure that the thing doesn't have an ethernet device, but I wonder if a terminal server device would do? Then I'd run some sort of web services on it. :) That'd be some true geek value.
    • by Bananenrepublik (49759) on Sunday November 04, 2007 @04:01PM (#21234217)
      I'm not going to link to it, because I don't want this hobby project to go up in flames, but if you follow the links to the website of the guy who built it, you would find that he's actually running a webserver on it.
    • by RattFink (93631) on Sunday November 04, 2007 @04:09PM (#21234291) Journal
      Here is your kit:
      Part 1 [jameco.com]
      Part 2 [jameco.com]

      Good Luck :)
      • Re: (Score:3, Funny)

        by RattFink (93631)
        Of course, Almost forgot...

        Debugging Tool [gunbroker.com]
      • Re: (Score:2, Interesting)

        You also need a good TTL manual. I recommend the old orange hardcover Texas Instrument TTL Data book. The blue softcover cover National Semiconductor one will do in a pinch.

        If you're just starting out, get Don Lancaster's TTL Cookbook first.

    • Re: (Score:3, Informative)

      by ampathee (682788)
      Too late!

      Except when I'm working on it, Magic-1 is connected to the net. It serves web pages at [censored], and by clicking here you can telnet in and play Original Adventure or run a few other old classics such as Eliza, Conway's Life or Hunt the Wumpus. To log in, use the id "guest" and the password "magic". Before the Minix port was completed, Magic-1 was running a very simple homebrew operating system. It also had a simple guestbook program. Many thousands of people have telnetted into Magic-1 from

  • by jhines (82154) <john@jhines.org> on Sunday November 04, 2007 @03:44PM (#21234053) Homepage
    Did he use appropriate era memory, you know the ol' 1k chips, meaning 1024 by 1?

    Core memory? Hey kids, instead of stringing popcorn this holiday, we are gonna do memory cores!

    Cool none the less.
  • by Pedrito (94783) on Sunday November 04, 2007 @03:53PM (#21234137) Homepage
    This is the ultimate nerd project... The only way it could be more of a do-it-yourself project would be building it with all analog parts. I'm very impressed. The guy appears to have been really meticulous. Everything appears to be pretty well documented... I've only gone through about 1/4 of the stuff he has available. It's a lot of material. I definitely wouldn't have the patience to do a project like this...
  • by Pollux (102520) <speter AT tedata DOT net DOT eg> on Sunday November 04, 2007 @03:56PM (#21234167) Journal
    From the site about the homemade processor:

    Except when I'm working on it, Magic-1 is connected to the net. It serves web pages at http://www.magic-1.org [magic-1.org]

    Not any more!

    (I know, I know, some of you might be thinking..."How could you be so cruel as to post a link on /. to a server that's only running at 4 MHz? Have you no mercy?" My response: Nope.)
  • Family Analogy (Score:3, Insightful)

    by vga_init (589198) on Sunday November 04, 2007 @03:59PM (#21234205) Journal
    As long as we are using the family analogy, wouldn't Minix be more like an uncle to Linux?
    • More like the family dog. Windows would be... oh, wait, can't say that word.
    • Re: (Score:3, Funny)

      by nacturation (646836)

      As long as we are using the family analogy, wouldn't Minix be more like an uncle to Linux?
      In the land of Unix (and parts of the US) the family tree looks like a wreath.
       
  • Altair-a-like (Score:4, Interesting)

    by lobiusmoop (305328) on Sunday November 04, 2007 @03:59PM (#21234207) Homepage
    I cant help but notice that the Magic-1 looks a lot like the original Altair 8800 [wikipedia.org], star of the Homebrew Computer Club in the 70's. At least this can have a console hooked up to it, from the look of it, the Altair originally had to have all the programming done via the switches on the front alone!
    • by nurb432 (527695)
      In appearance only.

      Besides, the Altair/Ismai "appearance" is logical when you have no way to get your data/code into the box and still want it 'general purpose'. It only makes sence to have direct control of the bus.

      Remember when they first came out, a ROM based bootstrap was still the stuff of dreams for many people.
  • by tjstork (137384) <todd.bandrowsky@nOsPAm.gmail.com> on Sunday November 04, 2007 @04:01PM (#21234219) Homepage Journal
    The guy went and built his own cpu from scratch, then ported his own o/s to it.

    Really, just don't get more hardcore than that....

    I salute him!
    • meh (Score:5, Funny)

      by Anonymous Coward on Sunday November 04, 2007 @04:58PM (#21234691)
      He's just a fucking script kiddie as far as I'm concerned. Real men mine and smelt their own metal. Consumer metal bought over the counter just doesn't offer enough customisability if you really want to do a project like this right.
    • by renoX (11677)
      If I understood correctly (the article was a bit fuzzy), the CPU he created is x86 compatible which is quite ironic as it's a really bad ISA, I wonder why he didn't choose say a MIPS ISA? (maybe it's because he chose Minix..)

      He would have probably saved quite a few gates in the control part..
      • Re: (Score:3, Informative)

        by Cecil (37810)
        From my understanding, MIPS would be a lot more complex on the processor side of things than basic 8086. Remember we're not talking about Pentium-4 x86 or AMD64 here, we're not even talking about the venerable old 386. we're talking about the real 8086 which was pretty basic. I don't think it had any pipelined instructions, which is something you'd have to deal with in MIPS.
        • Re: (Score:3, Informative)

          by renoX (11677)
          I don't think that you have to make a pipelined CPU, just because it implements a MIPS-like ISA..
          I know that a few instructions (the branching slot) only works on a pipelined implementation, but it isn't necessary to make a fully compatible MIPS.

          And even a 'basic x86', is quite complicated with its instruction with a varying length..

          • by Cecil (37810)
            Sounds like you probably know a little more than I do on the subject, so I'll defer. Just offering my thoughts. :)
      • It's not x86 compatible. It's inspired by x86.
  • Doomsday paranoia (Score:5, Interesting)

    by Dan East (318230) on Sunday November 04, 2007 @04:12PM (#21234305) Homepage Journal
    I find projects like this very comforting. Maybe I'm mildly paranoid, but every now and then I wonder what life would be like if society collapses. Most of the technology we enjoy today can only be produced via huge infrastructures made possible by large, advanced, stable societies. This project shows that fundamental computing technology can be reproduced with relative ease on a very small scale with limited resources. That's a great thing. Time to make some hard copies of this computer design!

    Dan East
    • Re: (Score:2, Insightful)

      by DAharon (937864)
      You might think so, but it seems to me that the sheer amount of energy required just to make those IC's available to him (growing the silicon crystals, shipping them, cutting them, etching them, shipping them again, packaging them, shipping them again, etc) would make it impossible to reproduce this with "limited resources".

      But then again, if you cracked open all the electronics sitting in the garages of your average town you might come across a small mountain of TTL chips.

      Maybe.

    • I find projects like this very comforting. Maybe I'm mildly paranoid, but every now and then I wonder what life would be like if society collapses. Most of the technology we enjoy today can only be produced via huge infrastructures made possible by large, advanced, stable societies. This project shows that fundamental computing technology can be reproduced with relative ease

      Yeah - if you have the huge infrastructure to produce the IC's and LCD's, and the not inconsiderable infrastructure for the fan, switc

    • by Robotbeat (461248) on Sunday November 04, 2007 @07:35PM (#21235937) Journal
      If I were going to make a computer myself from a medieval technological standpoint, I'd make it out of vacuum tubes. It's really the only way (well, discounting relays, but I guess if you can make relays you can pretty much make vacuum tubes...).

      The other parts aren't that hard. You have capacitors (just need sheets of metal foil and paper for between them), inductors (coils of wire), resistors (again, wire), and diodes (basically just a simpler version of a vacuum tube... i.e. without the grid).

      If you look at some of the intricacies of medieval jewelry and such, I wouldn't think it's too much of a step to make vacuum tubes.

      Like this: first, learn to make copper wire. Next, make a chemical battery. Then, use the battery technology to develop permanent magnets... Make a lot of money by selling excellent "artificial lodestone" compasses to everyone. Buy more slaves. Then, wrap the wire into a generator coil, along with the magnets. Using water-wheel technology, you now have a reliable source of (at this point alternating current) electricity.

      Next, make diodes:

      Learn to blow glass. Put two electrodes in a glass bottle with a heater coil on one of them, and also a valve connected to a tube. Fill the bottle with mercury, then using just gravity, you drain the bottle of mercury without letting air in: this can create a good enough vacuum to make the diode work. The only difference between this and a vacuum tube is that there's no "grid" between the electrodes.

      The heater coils can be heated with the AC generator, and these diodes can be used to convert your electricity to direct current, enabling you to more cheaply produce magnetic compasses in order to fund your purchases of slaves.

      Simply train them to make you more vacuum tubes, and you can make a computer! In the middle ages! Also, your diode/vacuum tube technology is the same needed in order to make light bulbs.

      Really, in order to make a computer using medieval technologies, you'd need slave labor, or serfdoms (which is the same thing).

      I mean, there's pretty much no way a man can be expected to make enough vacuum tubes to make even a simple computer... I'm thinking it'd take you thousands of tubes...
      • by Ellis D. Tripp (755736) on Sunday November 04, 2007 @10:30PM (#21237149) Homepage
        At least not if you want tubes that might operate long enough for the computer to actually get through boot sequence.

        While tubes are simple in concept, the amount of chemistry, metallurgy, and material science that went into making reliable vacuum tubes was simply astounding. Particularly for applications involving hundreds or thousands of tubes (like computers), achieving very high tube reliability is key to getting the computer to run long enough to actually crank outa few calculations before a tube fails.

        Tubes that were designed for computer service needed ultrahigh purity metals, particularly nickel for the cathodes. The level of vacuum needed is FAR higher than you could get with a simple mercury siphon pump (think turbomolecular or oil diffusion pump). Exotic metallurgy and coatings are needed to produce grids and plates that don't emit their own secondary electrons. Cathode coating chemistry was jealously guarded by most manufacturers, and also critical to decent life.

        All of this stuff is pretty much a "lost art" these days, and it is likely that nobody will EVER be able to duplicate the quality of the best tubes of the past, as most of the people who did it are now dead. While you can make a triode that will function as an amplifier with rudimentary glassblowing skills, making a tube that will reliably work in a high speed pulse switching environment such as a digital computer takes a great deal more knowledge and infrastructure.

        Tube manufacturing was every bit as complicated as semiconductor manufacturing is today.
  • according to his other site [homebrewcpu.com]

    way to burst his computer into flames...
  • ...in this [linuxdevices.com] picture translate to "I WILL NEVER GET LAID" in binary.
    • Re: (Score:3, Informative)

      by ScrewMaster (602015)
      If he were a typical Slashdotter, I'd agree ... but he apparently has a wife and a couple of kids.
  • by Caltheos (573406) on Sunday November 04, 2007 @04:24PM (#21234425)
    At college, I took a Digital Electronics course where the course project was to design and build your own microprocessor from scratch. From paper RTN descriptions to the full working prototype on a PLC. Our group started out with 6 people, 3 of whom dropped the class and the other two couldn't program their way out of a paper bag. I wrote the entire process in VHDL in under 2 months, the other two barely pulled of just the documentation (not that I envied them). I was pretty pissed at my professor since I used a design flaw in the PLC board to double the speed of one word instructions and he took of points for it even though it ran fine... What you get when the prof is more interested in procedure and forcing people to work in groups then the actual science.
  • by Anonymous Coward on Sunday November 04, 2007 @04:33PM (#21234487)
    I can just picture Woz now saying "The force is strong in this one. "
  • Hey!
    And the low power stuff that can go months on 2 aa cells, as well!
    (I've done it :)
    That's cheating!
  • by wtarreau (324106) on Sunday November 04, 2007 @05:26PM (#21234891) Homepage
    I can imagine the pleasure he got doing this.

    When I still was a teen, I used to spend full week-ends doing such nerd stuff.
    I wrote a PC-compatible BIOS for my Sanyo-MBC550 (eg: here: http://www.seasip.info/VintagePC/sanyo.html/ [seasip.info]),
    and was the happiest person of the world when I first got MS-DOS 5.0 to boot on it !

    I also designed a simple microcontroller-based robot from printer parts
    just for fun, and I was really impressed when I saw it turn around the
    whole room for the first time (it could detect obstacles by sending
    ultrasonic pulses).

    Also, modding a 8088 motherboard to accept a second 8088 on the 8087 socket
    was definitely fun. There was no cache coherency problems at that time. You
    just had to invert A19 to make the second one boot at 512 kB and the bus arbiter
    let them work in parallel. It was really cool to have an 8088-SMP :-)

    Those were project during which the time did not exist. I can imagine that this
    guy spends his whole spare time on his project without noticing the night come,
    then the day... Sometimes I wish I still had that much spare time!

    Sincere kudos to him and great respect for his work!
    Willy
  • by Colin Smith (2679) on Sunday November 04, 2007 @05:41PM (#21235019)
    2Gb RAM, 3GHz CPU, 20Gb of disk - Windows Vista: 1
    4Mb RAM, 4MHz CPU, 500Kb ram disk - Minix: ?

     
  • by RzUpAnmsCwrds (262647) on Sunday November 04, 2007 @05:51PM (#21235137)
    We do the same thing at my university in a course called "Computer Architecture". Well, not quite the same thing. We use FPGAs and Verilog to implement the CPU, and instead of a microcoded CISC CPU we implement a RISC architecture.

    Since our design lacks cache, the CISC architecture that this guy implemented may be faster (it does more per instruction which is critical when instruction fetch time dominates.

    However, our RISC design is fully 32-bit (registers, ALU, address and data buses) and is pipelined (classic 5-stage fetch/decode/execute/memory access/register write). We also have to deal with hazards (resolved by forwarding or pipeline bubbles). We're even working on a VLIW version now.

    Of course, all of this is vastly easier when you can use a high-level hardware description language. Hats off to this tinkerer.
  • But still impressive.

    Most peope these days dont even know what a CPU really is, other then 'quad bla bla bla superduper socket bla bla' from intel or amd.

    Once upon a time, this is how it was done. Stuff like this should be mandatory for all CS students ( might be still for the few of us EE's out there, but ive not been in school for a LONG time so things could be different )
  • ...but I just don't have the time anymore. And my specialization is going towards nanotech. I'm not really sad, just sayin'...

    And who knows, maybe when I retire....
  • by beadfulthings (975812) on Sunday November 04, 2007 @06:13PM (#21235329) Journal
    But Dr. Tanenbaum's book on operating systems, which still seems to be in print, came equipped with its own version of Minix on a floppy disk, and you could easily get it going on your 808x-based PC--which was just about all anybody had when I was first reading the book. That would have been mid-to-late Eighties, but it had been around for a while even then. I'd have to go along with people who say Minix is an uncle of Linux--or maybe an auntie. If I could save only two vintage computer books, that would be one. The other would be my treasured old edition of "Oh! Pascal!"
  • can it run Linux?
  • by smellsofbikes (890263) on Sunday November 04, 2007 @09:03PM (#21236543) Journal
    This was about five years ago and he'd implemented a 16-bit (instruction and data) computer entirely through TTL, with wire-wrap. It included enough to do RS232 so you could telnet into it, although it certainly didn't have anything like an expandable bus. They'd written a tic-tac-toe game for it, and it was pretty good.

    The really odd moment was overhearing the hardware guy talking to one of the software guys, who was bemoaning the lack of a logical shift-right as opposed to a bitwise shift-right in the assembly code. The hardware guy sat down, drew a couple of things, and said, "yeah, we can add that with four gates." Wouldn't THAT be nice, to be able to spend two hours wiring, and add a new assembly instruction to your processor?

    I wish I could find links: they're all members of the Denver Mad Scientists' Club, but I can't find anything on their homepage.
  • by gooneybird (1184387) on Sunday November 04, 2007 @09:55PM (#21236899)
    Nice job, but if he was a real "man" he wouldn't have used advanced circuits like TTL. He should have wired it using 2N3904 and 2N3906 transistors using RTL (Resistor/Transistor/Logic) instead of taking the easy way out and using that new-fangled TTL stuff. And when he gets real serious, he can start with triode tubes (ala Eniac / Multics), then he will really have demonstrated his manhood (or lunacy).

If I had only known, I would have been a locksmith. -- Albert Einstein

Working...