DIY CPU Demo'd Running Minix
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."
Does it run Linux... I mean minix.. I mean... Oh forget it!
Nyhetsankaret.com -- det bÃsta av Sveriges Nyhetssido
Linus copied Minix. Well known fact !!
Beowulf Cluster
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.
I'm quite impressed that he went to the trouble of the cutaway side panel and the illumination. With all those switches and lights on the front we truly are one step closer to Star Trek technology.
A thistle is a fat salad for an ass's mouth...
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.
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.
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.
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...
From the site about the homemade processor:
/. to a server that's only running at 4 MHz? Have you no mercy?" My response: Nope.)
Except when I'm working on it, Magic-1 is connected to the net. It serves web pages at http://www.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
As long as we are using the family analogy, wouldn't Minix be more like an uncle to Linux?
I cant help but notice that the Magic-1 looks a lot like the original Altair 8800, 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!
"I bless every day that I continue to live, for every day is pure profit."
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.
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!
This is my sig.
Somehow I don't think the goal of this project was to build a processor to compete with commercially available processors. A small hint might be the fact that there isn't likely a huge market for a processor pushing 5lbs.
"I don't necessarily agree with everything I say." - Marshall McLuhan
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
Better known as 318230.
...in this picture translate to "I WILL NEVER GET LAID" in binary.
The neutrality of this sig is disputed.
All that to get a fraction of the performance of, say, a $10 embedded CPU that can already run Linux. Nice.
I guess you don't program computers, since you'll never be as good as, say, Donald Knuth, so you may as well give up. You don't do any sports, since you'll never by Olympic standard. No music for you either, since you're not up to the standard of Nigel Kennedy. I'm sure you have no hobbies, since someone else could do it better too. If fact, you may as well sit in a hole your entire life since whatever you do, someone will probably do it better. Come to think of it, there's probably someone out there better at sitting in a hole than you.
Now, please hand in your geek card at the door as you leave.
SJW n. One who posts facts.
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.
We've secretely replaced the Enterprise's dilithium crystals with Folgers crystals. Lets see if they notice.
The reason the Magic-1 isn't in service as a webserver is that, at the moment, Bill's showing it off at the Vintage Computer Festival.
I can just picture Woz now saying "The force is strong in this one. "
If you're just gonna use an FPGA, why not just design a virtual PC purely in software.
This thing is cool. Most current 'seniors' would hold a wire-wrap gun wrong and injure themselves.
It's more educational to do it with MSI TTL and wire-wrap. You learn something about power distribution/filtering, race conditions, fan-in and fan-out, etc. All of the analog things that you need to know in the real world.
Mea navis aericumbens anguillis abundat
I bet you'd also tell the team who built a replica Wright flyer a few years back that they were wasting their time, and would be better off building a Zodiac sport plane kit.
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.
Or even worse, they'd wire the multihop nets in a daisy chain pattern.
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/),
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
In small quantities, they're more expensive than wire-wrap, although it depends on what your time is worth. Of course you can spend your time laying out a PCB or spend it doing wire wrap. I'd do the PCB. Especially if I needed more than one. Is wire-wrap better for multi-layered circuits, or something? No, PCBs are superior. Of course there are little details that are quite important, and if you don't know what you're doing, you can easily design a PCB that doesn't work.
I think the guy did it with wire wrap because it's retro. Hey, whatever floats yer boat.
2Gb RAM, 3GHz CPU, 20Gb of disk - Windows Vista: 1
4Mb RAM, 4MHz CPU, 500Kb ram disk - Minix: ?
Deleted
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 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!"
"Here's what's happening. You're starting to drive like your Dad..." - Red Green
Some times people do/make things they could easily buy because they want to, to learn, to feel connected to those who came before them and did it on thier own, or to just have something they built with their own hands.
Please if you can't understand that at least don't mock others who do~!
Repeal the 17th Amendment TODAY! Also Please Read http://www.gnu.org/philosophy/right-to-read.html
Anyone who's spent time debugging their FPGA designs in a lab, going bleary-eyed staring at timing diagrams, can attest to that.
However, something has to be said about wirewrap in educational settings: It's a lot easier to make out the connections of a macroscopic object that you wrap yourself, than staring at a colorful diagram of what your usual FPGA route plotter comes up with.
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.
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...
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.
Nostalgia's not what it used to be.
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).
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.
Remember "News for Nerds, Stuff that Matters"? Help make it a reality again! http://soylentnews.org
"Linus was inspired by Minix and used it as the initial development platform for Linux" == Informative
"Linus has copied Minix!!!1111one" == Troll
Consider the difference between serving a cake, and throwing it into someone's face. Sorry for not using a car analogy.
Mod GP back to troll, please.
WYSIWIG, but what you see might not be what you need
With modern high resolution (and inexpensive) laser printers, you can make remarkably fine pitch PCBs at home for a couple of quid. I just made a breakout board for a W5100 ethernet controller, which comes in an LQFP80-10 package (this package is 1cm by 1cm with 80 pins. The pins are 20 a side, and 20 pins fit into 8mm - so your tracks are 0.2mm wide with 0.2mm spacing - this is finer pitch than the design rules for some commercial PCB houses).
This was made with these tools:
double sided copper clad board
two sheets of the cheapest Tesco's Value brand matte inkjet paper
an HP LaserJet printer (1200dpi)
a normal domestic household iron
some fine grit wet-and-dry sandpaper
etchant and tinning chemicals.
an inexpensive pillar drill and 0.8mm / 1.0mm bits to make vias and holes for through-hole components
The consumables for this (photo paper, cost of printing, the blank PCB) was less than a couple of quid. It is quite time consuming though, but I enjoy making the boards anyway. It's nice to achieve something that everyone else tells you can't be done.
I *hand soldered* the fine pitch surface mount parts. All you do is carefully line up the part, tack corner pins into position with solder, then get a blob of solder on the tip of the iron and drag it down the pins - then mop up the excess with solder wick.
The nice thing about making PCBs rather than wire wrapping is you can use surface mount components (quite a few interesting chips are only available in insanely fine pitch SMD packages), and make a reasonable ground plane.
Oolite: Elite-like game. For Mac, Linux and Windows
It says NOTHING about his sexual activity.
... but it does indicate that, unlike the typical Slashdotter (parent's basement and all) this man is not only capable of reproducing but has done so. Regardless of what you think of his homebrew processor, he should get points for successfully assembling offspring.
Maybe not
The higher the technology, the sharper that two-edged sword.