Slashdot Mirror


Linux On a Motorola 68000 Solder-less Breadboard

New submitter lars_stefan_axelsson writes: When I was an undergrad in the eighties, "building" a computer meant that you got a bunch of chips and a soldering iron and went to work. The art is still alive today, but instead of a running BASIC interpreter as the ultimate proof of success, today the crowning achievement is getting Linux to run: "What does it take to build a little 68000-based protoboard computer, and get it running Linux? In my case, about three weeks of spare time, plenty of coffee, and a strong dose of stubbornness. After banging my head against the wall with problems ranging from the inductance of pushbutton switches to memory leaks in the C standard library, it finally works! (video)"

27 of 147 comments (clear)

  1. Pretty cool by Virtucon · · Score: 3, Funny

    Beats playing Assassins Creed all day.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  2. Re:LOL fag by Anonymous Coward · · Score: 4, Funny

    No, a Wang would be based on the older 8086 processor, this machine uses a 68000.

  3. Awesome by Troed · · Score: 4, Interesting

    Hats off. The 68000 was the first CPU owned (Atari ST) and I had a good six years of assembly skills behind me when it was finally time to leave. Awesome CPU for the kind of magic demo tricks only hard core assembler coding could bring out.

    Relevant discussion: http://compgroups.net/comp.os....

  4. Re:How is this "News for Nerds"? by TWX · · Score: 2

    If Slashdot is going to drop one or the other, I'd much rather they drop the News aspect than the Nerds aspect.

    About fifteen years ago I had a Macintosh Centris 660AV running Linux, just as an experiment. I kind of wish that I still had that computer; it had an AUI port so I could adapt to 10Base-T Ethernet, and could have redirected all incoming unsolicited network connections to it. Let 'em hack it; with no compiler, all binaries for m68K only, and 16.9 bogoMIPS it would have made for an entertaining honeypot.

    --
    Do not look into laser with remaining eye.
  5. Comment removed by account_deleted · · Score: 3, Funny

    Comment removed based on user account deletion

  6. You need to create the tutorial by victorsosa · · Score: 2

    Hi, Awesome and well done. You should think in create a tutorial for us that want to build something like that and have some fun in the weekend. I could learn a lot from this.

    1. Re:You need to create the tutorial by amiga3D · · Score: 3, Insightful

      I can't imagine the tutorial needed for something like this. To do something like this takes a lot of skill and knowledge. If you managed it you would have learned a lot and it'd take more than a weekend.

    2. Re:You need to create the tutorial by phantomfive · · Score: 2

      Recently I was looking for some assembly language info for the original Altair (the first microcomputer), and I came across this. It was a different kind of assembly than I was expecting, it looks like some kind of Ikea manual but much worse. Apparently it cost twice as much to get it assembled, instead of merely a box of parts.

      Then after you were done, you had 256 bytes of RAM, and no keyboard.

      In any case, if you look at that, it will give you the imagination needed for a tutorial for something like this.

      --
      "First they came for the slanderers and i said nothing."
    3. Re: You need to create the tutorial by jones_supa · · Score: 2

      But it's the perfect match for a modern microsecond-long attention span.

  7. Outstanding by mrflash818 · · Score: 2

    Kudos.

    --
    Uh, Linux geek since 1999.
  8. Re:You are standing at the end of a road .... by OzPeter · · Score: 2

    You are standing at the end of a road before a small brick building.
    Around you is a forest. A small stream flows out of the building and
    down a gully...

    xyzzy

    Bah .. kids these days.

    I smell a wumpus

    --
    I am Slashdot. Are you Slashdot as well?
  9. ICs? by Charliemopps · · Score: 2

    You're just using the breadboard to connect a bunch of ICs.
    Bust out the designs for those IC's, wire the components up discretely, then I'll be impressed.
    Granted, you'll likely have no room left in your house for your bed or furniture... but that's not my problem :-p

    (I'm just being snarky, well done man)

  10. Thanks for crashing my web server! by schamberlin · · Score: 5, Informative

    Thanks for all the comments! This "68 Katy" is my project. The video is a good overview, and lots more tech details are at http://bigmessowires.com/2014/... and the rest of the site. I've built a couple of other home-made CPU / computer projects in the past, including "Big Mess o' Wires" a few years ago, but this was the first time I tried to add a real OS. Cramming Linux into 512K was a challenge!

    The CPU is a 68008, which is a low cost version of the familiar 68000 with an 8-bit bus and fewer external address pins. It has a max of 1 MB of total address space. It’s paired with a 512K 8-bit SRAM, and a 512K Flash ROM (of which 480K is addressable – the remaining 32K is memory-mapped I/O devices). My 68008 runs at 2 MHz (it was unstable when tested at 4 MHz), providing similar performance to a 1 MHz 68000. That’s pretty slow, even in comparison to 68000 systems from the early 1980s, which were typically 8 MHz or faster. So frame rates in the latest games aren't great...

    1. Re:Thanks for crashing my web server! by Technician · · Score: 3, Informative

      I'm surprised he got it to run that fast. AM radio in the US broadcasts from about .5 to 1.5 Mhz. Without a ground plane and shielding, there is a lot of coupling between wires. I bet he can't listen to any distant AM radio stations in the same room with that running.

      Good job getting a breadboard computer to clock over 1MHZ.

      --
      The truth shall set you free!
    2. Re:Thanks for crashing my web server! by nsaspook · · Score: 3, Informative

      +1
      but I hate to tell you that it won't help with getting dates.

      --
      In GOD we trust, all others we monitor.
    3. Re:Thanks for crashing my web server! by LynnwoodRooster · · Score: 2

      There are plenty of nerds that would love to hang out Friday or Saturday night and talk about his 68000 and other geekiness...

      Oh, you mean "with a girl" kind of date?

      --
      Browsing at +1 - no ACs, I ignore their posts. So refreshing!
  11. Re:LOL fag by amiga3D · · Score: 3, Insightful

    Hell, we finally get an actual geek article on slashdot and this is the response? Take your penis envy somewhere else.

  12. Can it run Crysis by Billly+Gates · · Score: 2

    I am sure it will fly through through an emulator

  13. Re:next... by itzly · · Score: 2

    Like what ? Typical modern microprocessors capable of running Linux aren't very breadboard friendly.

  14. Trouble running vi? by PPH · · Score: 2, Funny

    Why not try emacs instead?

    --
    Disclaimer - These opiini^H^H damn! ^H^H ^Q ^[ .... :w :q :wq :wq! ^d
    exit X Q ^C ^? :quitbye CtrlAltDel ~~q :~q logout save/quit :!QUIT
    man quit ^C ^c ?Quit ?q CtrlShftDel "Hey, what does this button d..."

    --
    Have gnu, will travel.
  15. Nice... by jasno · · Score: 2

    Getting it working on a breadboard is no small feat. Kudos. I'm sure it helps to only run at 2MHz.

    Rather than, as has been suggested, spin a PCB for it, why not try wire-wrapping next time? Less capacitance than a breadboard and a bit more permanent.

    Back at DeVry(haha) we built 7MHz 68k systems using wirewrap. Great times. I freaking love 68k assembly. We(well, the smart ones) also used 22V10 PALs for address decoding to save on 74 series logic chips.

    Another next step - find a chip with an MMU so you can run real linux. I think a 68020 or '030 has one. Much higher clock speed too. The pin density is still low enough(I think it's 0.1 but in a grid) that you can work with it. Check old electronic stores' back shelves for sockets.

    --

    http://www.masturbateforpeace.com/
  16. Re:How is this "News for Nerds"? by Ogi_UnixNut · · Score: 3, Insightful

    Haha!

    For a long time I used to something similar. All ports that were not in use on my firewall would redirect to a port on an old Toshiba T4800CT: 486 with 8MB of RAM and 500mb disk, running linux kernel 2.0.

    It would run nethack on that port, so anyone who would try a connect scan would end up in nethack. Probably confused a bunch of people, and if someone managed to break through that, would be interesting to see what they would make of it.

  17. Re:next... by OzPeter · · Score: 4, Insightful

    The 68008 was discontinued 20 years ago, so this isn't really all that useful even as an educational exercise. Why not pick a current breadboardable, cheap microprocessor and get Linux to run on that? That way, other people can benefit.

    Why even bother with hardware. Why not just emulate it?

    But then again .. why emulate it when you can buy time on a virtual system?

    Then again why do all that when you could just be watching TV?

    --
    I am Slashdot. Are you Slashdot as well?
  18. Re:68k has no MMU; how can Linux run? by jockm · · Score: 2

    It is running uCLinux which is intended to run on MMUless microcontrollers (hence the uC). uCLinux doesn't require a MMU nor does it support virtual memory, or memory protection. It isn't ideal for a user system since memory can become fragmented over time, but that hasn't stopped people. It is primarily used in embedded systems that are running a stable set of programs after boot, leaving the rest of the memory to the primary app(s)

    --

    What do you know I wrote a novel
  19. Hey, congratulations by m.dillon · · Score: 2

    Congratulations, you are now in a rare group indeed. But I gotta say, you haven't lived until you've programmed a 6502 directly in machine code. No assembler :-)

    One of my telemetry systems which I built and designed 25+ years ago used the 68000 running at around 10 MHz (with a jumper for 20 MHz, which it could actually do though I didn't deploy it at those speeds). The coolest thing about it was that I had built a rudimentary memory protection unit using a static ram and an 8:2 selector. Any user mode accesses pumped the high address bits into the ram with 2 address bits going to the selector along with the R/~W bit. The result was gated into the bus error logic. The top three bits of the static ram were directly controlled by the kernel which allowed the kernel to 'cache' up to 8 process's worth of protection data in the ram at any given moment, so context switches were still very fast.

    Before the 68030 and 68040 came out, Sun (I think) was running two 68000's in lockstep, one one cycle behind the other, in order to implement their own MMU. When a fault would occur, they bus-errored the lead chip and paused the second 'behind' chip so they could take the bus fault, resolve the mapping issue, and then resume the behind chip. Then the 68010 came along and fixed the bus error interrupt stacking bugs in the 68000, and the 68020 came along after that.

    The 68030 could hold short loops in its chip logic with some tricks, despite not really having a cache. Unfortunately, the 68040's on-chip cache implementation was horrible and created all sorts of problems for implementers, and by then Intel chips were running much much faster.

    When Motorola retired the 68K series some of their larger embedded users asked motorola to re-test the 68000 chip specs at a higher clock, since by then the HCMOS process could obviously run the chip much faster than the ~10-12 MHz that was speced. Motorola tested the HCMOS version of the chip to around 50-70 MHz or so. Such a nice 32-bit chip, I was really sorry to see Moto lose to Intel (mostly because Moto gave up).

    -Matt

  20. Re:The original 68000 interrupts were inadequate by m.dillon · · Score: 2

    Interrupts worked fine. It was bus errors (i.e. for off-chip memory protection and/or mapping units) that were a problem. The 68010 fixed that particular issue if I recall. I'm guessing later 68008's also did but I dunno. Doesn't matter since he isn't running with any memory protection.

    You could in fact run a real multi-tasking OS on the 68000. I was running one of my own design for my telemetry projects. It didn't have memory mapping but it did have memory protection via an external static ram, 8:1 selector, and some logic. It managed around 20-30 processes.

    And, strangely enough, you could also run a RTOS because the 68000 had wonderful prioritized interrupts. Back then, of course, real time response was required for handling serial ports and things like that.

    -Matt

  21. Re:next... by cold+fjord · · Score: 2

    Why even bother with hardware. Why not just emulate it?

    Because you won't develop hardware skills? You won't have the satisfaction of building your own?

    --
    much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell