Stories
Slash Boxes
Comments

Dev.SN ♥ developers

posted by LaminatorX on Friday February 21 2014, @01:33AM   Printer-friendly
from the I-don't-care,-I'm-still-free.-You-can't-take-the-garage-from-me dept.

demonlapin writes:

"Brian Benchoff at Hackaday has an ambitious new project: a homebrew computer based not on a classic 8-bit processor like the Z80 or 6502, but on the 16-bit Motorola 68000. It's a backplane-based machine with wire-wrapped connections planned. His first summary post is here. Blinkenlights are planned."

[ED Note: With so much commercially available hardware getting more and more locked down, projects like this are a good reminder of what is possible for a dedicated enthusiast.]

This discussion has been archived. No new comments can be posted.
Display Options Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Interesting) by toygeek on Friday February 21 2014, @01:38AM

    by toygeek (28) on Friday February 21 2014, @01:38AM (#4104) Homepage

    *This* is the stuff I loved /. for back in the day. SN: You're doing it right!

    --
    There is no Sig.
    • (Score: 5, Interesting) by davester666 on Friday February 21 2014, @04:06AM

      by davester666 (155) on Friday February 21 2014, @04:06AM (#4159)

      My university (UofA, no, not Alabama or Arkansas, but Alberta) used small 68K motherboards, with some RAM, various serial/parallel ports and had us create a hardware project out of it.

      I made a wire-wrap video card, with the RAM [also all wire-wrapped] being accessed alternately by the video circuitry and the CPU. Good times.

    • (Score: 5, Insightful) by fleg on Friday February 21 2014, @05:22AM

      by fleg (128) on Friday February 21 2014, @05:22AM (#4178)

      indeed!

      my favourite bit of the article:-

      "A much better solution would be uCLinux. It’s designed for embedded systems and has ports for just about everything, including the 68000. This, a C compiler, and a text editor are all anyone really needs for a fully functional computer."

      made me smile.

  • (Score: 5, Interesting) by Anonymous Coward on Friday February 21 2014, @01:40AM

    by Anonymous Coward on Friday February 21 2014, @01:40AM (#4107)

    Sure it's been over 30 years, why not reinvent the Macintosh computer, complete with wire wrap.

    http://www.folklore.org/StoryView.py?project=Macin tosh&story=Macintosh_Prototypes.txt [folklore.org]

    • (Score: 5, Informative) by regift_of_the_gods on Friday February 21 2014, @01:47AM

      by regift_of_the_gods (138) on Friday February 21 2014, @01:47AM (#4109)

      I remember Steve Jobs on stage yelling "The Macintosh 68000 eats 8086's for breakfast!" One of the things I miss about the '80s was all the trash talking between personal computer vendors.

      With a 24-bit address space, the 68k can address up to 16 Megabytes of RAM without bank switching. Compare this to the 64kilobytes of address space of the 6502 and Z80, and it’s easy to see how much more capable the 68k is.

      This guy's da man. I even scrolled up to check the date on his web page - yup, February 2014.

      • (Score: 2, Insightful) by Anonymous Coward on Friday February 21 2014, @01:58AM

        by Anonymous Coward on Friday February 21 2014, @01:58AM (#4113)

        I remember meeting a complete idiot in college who seemed to be genuinely incapable of understanding that different microprocessors were incompatible because they used different instruction sets. Back then there were such things as x86 and 68000 and PowerPC and SPARC and UltraSPARC all in common use. Now almost everything uses AMD64. The idiot has finally won.

        • (Score: 5, Insightful) by regift_of_the_gods on Friday February 21 2014, @02:09AM

          by regift_of_the_gods (138) on Friday February 21 2014, @02:09AM (#4118)

          There's ARM. And as server-side computing is becoming mostly x86_64, I don't mind because it means that as I (slowly) learn to read the generated 64-bit instructions, I'm able to apply what I learned to different OS platforms. It's the trend towards JVM and other virtual machines that kinda bothers me. Now I've gotta learn this Node.js business and stuff like that, it's a totally different mindset from system programming. Java the language is not bad, but nobody - especially not employers - care about Java the language. They care about the hottest Java-based frameworks, APIs, and tools - or the same for Python, Ruby, or JS.

          • (Score: 2, Insightful) by Anonymous Coward on Friday February 21 2014, @02:23AM

            by Anonymous Coward on Friday February 21 2014, @02:23AM (#4125)

            Now that there's a 64-bit ARM, will we finally truly have one architecture to rule them all? Which will win the final battle, AArch64 or x86-64?

        • (Score: 1) by darinbob on Friday February 21 2014, @07:33PM

          by darinbob (2593) on Friday February 21 2014, @07:33PM (#4604)

          But the same CPU doesn't mean things are compatible. There are different application interfaces, like stack layouts and register usage conventions, plus different reliance on operating systems, different hardware memory layouts, an so forth. Even on the exact same machine we don't have compatibility.

      • (Score: 3, Informative) by dry on Friday February 21 2014, @04:13PM

        by dry (223) on Friday February 21 2014, @04:13PM (#4518)

        The problem at the time was the price of memory. With 32 bit (actually 24bit with the high 8 bits undefined but unluckily used for other stuff which broke with later processors) pointers, data structures etc you needed at least twice as much memory to do the same stuff as a 8 bit computer. A Mac with only 128KBs of ram was pretty limited.

        --
        https://en.wikipedia.org/wiki/Inverted_totalitaria nism
        • (Score: 1) by darinbob on Friday February 21 2014, @07:47PM

          by darinbob (2593) on Friday February 21 2014, @07:47PM (#4609)

          While it did not have 8 bit instructions it did have many 16 bit instructions. However for comparison with other CPUs it was considered very compact for its time. 8-bit only machines do often have smaller code, however this is often because the application itself has much more limited use. Ie, to add two 32-bit numbers on an 8-bit machine will take more bytes of instructions than it would on a 68000.

          8-bit computers were really restricted to hobbyists, calculators, peripherals, and stuff like that. Professional general purpose computers at that time were commonly using 16, 32, or even 36 bit CPUs.

    • (Score: 2, Informative) by MachineShedFred on Friday February 21 2014, @12:22PM

      by MachineShedFred (1656) on Friday February 21 2014, @12:22PM (#4399)

      The biggest issue with doing that would likely be getting the contents of the Macintosh ROM, and the system software. You could probably find the ROM chips and scrape an image, and even find old boot floppies to get the ancient system software, but there's that whole copyright issue. And we know how Apple loves their copyrights.

      That being said, electrically, the original Mac is incredibly simple (now).

    • (Score: 1) by darinbob on Friday February 21 2014, @07:22PM

      by darinbob (2593) on Friday February 21 2014, @07:22PM (#4600)

      But there's so much better that can be done than the first Mac. Sure it looked great for a home computer, but simultaneously we had Unix workstations using that chip, with graphics. Also wait a few years for the Amiga 1000 which had the same CPU but was so much more functional. However both the Mac and the Amiga relied on a let of custom chips to get the job done, so re-creating either is not so simple.

  • (Score: -1, Troll) by Anonymous Coward on Friday February 21 2014, @01:59AM

    by Anonymous Coward on Friday February 21 2014, @01:59AM (#4114)

    Does it run Linux? At what rate does it mine bitcoins? The summary sucks.

    • (Score: 2, Informative) by fleg on Friday February 21 2014, @05:17AM

      by fleg (128) on Friday February 21 2014, @05:17AM (#4175)

      it says in the article that he is aiming for uCLinux.

    • (Score: 2, Insightful) by lx on Friday February 21 2014, @03:21PM

      by lx (1915) on Friday February 21 2014, @03:21PM (#4481)

      Forget about Linux. These guys are obviously aiming for the holy grail of computing: Building an Amiga 500 from scratch.

  • (Score: 5, Interesting) by paulej72 on Friday February 21 2014, @02:14AM

    by paulej72 (58) on Friday February 21 2014, @02:14AM (#4119) Journal

    I took a physics class a grad student where we built a 68000 based computer on a prototype board. Had a 8 seg display and a 16 key hex keypad. Had an DtoA and AtoD converters and was wired to a.speaker and microphone. Programmed it in assembly too.

    Very fun project.

    --
    Team Leader for SN Development Dev Server [soylentnews.org]
  • (Score: 5, Interesting) by MichaelDavidCrawford on Friday February 21 2014, @03:14AM

    by MichaelDavidCrawford (2339) on Friday February 21 2014, @03:14AM (#4141) Homepage

    I didn't take it myself, but I did take a far simpler class later on at UC Santa Cruz where we built a Z80 computer.

    The Caltech students were expected to design their computer from scratch, then wirewrap it.

    A friend asked "What do we do about memory refresh?" That can be hard to get right. The slightest timing problem, and your memory will randomly twiddle bits.

    "Use static RAM," was the TAs reply.

    Electric wire wrap guns are quite cool to watch.

    --
    I have a major product announcement [warplife.com] coming 5:01 PM 2014-03-21 EST.
    • (Score: 2) by Nerdfest on Friday February 21 2014, @08:05AM

      by Nerdfest (80) on Friday February 21 2014, @08:05AM (#4254)

      I did a project very similar to this in school (one class for the board and one for the OS), and yeah, that was tricky, but not ridiculous. The bit problem for me was that mine was wire wrapped (by hand) as well and I discovered an intermittent problem on the board that acted suspiciously like a wire broken inside its insulation. Instructor said if it failed during the evaluation I failed. Ended up re-doing all the wire wrapping in one long session and amazingly didn't screw it up. I still remember the feeling of getting a wire-wrap pin stuck up under your fingernail to try to push down those top couple of winds .. good times, and bad times.

      • (Score: 1) by Jerry Smith on Saturday February 22 2014, @11:16AM

        by Jerry Smith (379) on Saturday February 22 2014, @11:16AM (#4837) Journal

        I still remember the feeling of getting a wire-wrap pin stuck up under your fingernail to try to push down those top couple of winds .. good times, and bad times.

        Cursing is the language we all have in common, I guess.
        I was glad when the emulators and simulators became good enough to take a good lot of the hardware trial&error of my hands (them being both left).

        --
        All those moments will be lost in time, like tears in rain. Time to die.
    • (Score: 1) by purdy on Friday February 21 2014, @06:49PM

      by purdy (1863) on Friday February 21 2014, @06:49PM (#4587)

      CS/EE 52 & 53 rocked. Especially since Gordon Moore from Intel was an alum. Back in the early 90s we had a lab full of in-circuit emulators for 386s and later i960s. Weird combination of crappy wire wrapping and state of the art ICEs. You couldn't count how many $2k pods we blew out from shorted power lines.

  • (Score: 5, Interesting) by shortscreen on Friday February 21 2014, @05:26AM

    by shortscreen (2252) on Friday February 21 2014, @05:26AM (#4180)

    The 68000 takes four clock cycles for a memory access, so even back in the day it wasn't hard to design a system without wait states. The Amiga and Atari ST used 120ns DRAM that was quicker than necessary for the CPU itself, so there was memory bandwidth leftover for the video hardware to do its thing using the same bus.

    BTW, a similar homebrew 68008-based computer, called Kiwi, was recently done by a German fellow. He also used a Yamaha video chip, but it is the later V9990. http://www.ist-schlau.de/hardware.html [ist-schlau.de]

  • (Score: 3, Interesting) by fleg on Friday February 21 2014, @05:28AM

    by fleg (128) on Friday February 21 2014, @05:28AM (#4183)

    anyone know which workstations he is talking about?

    "Putting a 68k C compiler on this computer isn't hard, but UNIX is. The first UNIX workstations used two 68000 CPUs - one for normal processing, and another to reset the first if a page fault occurred."

    • (Score: 1) by pixeldyne on Friday February 21 2014, @05:50AM

      by pixeldyne (2637) on Friday February 21 2014, @05:50AM (#4194)

      What was the limitation of the 68000? Because I ran bsd quite comfortably on an 020 (no mmu) with 2mb ram.

      • (Score: 2, Informative) by Uncle_Al on Friday February 21 2014, @11:40AM

        by Uncle_Al (1108) on Friday February 21 2014, @11:40AM (#4368)

        Apollo DN100
        There were two 68000's. When the first page faulted, the second cleaned up
        the fault and restarted the first.

      • (Score: 0) by Anonymous Coward on Friday February 21 2014, @02:13PM

        by Anonymous Coward on Friday February 21 2014, @02:13PM (#4441)

        Animats posted on an old (similar) article that the 68000 didn't do instruction backout properly. Not sure how that works, though.

      • (Score: 1, Informative) by Anonymous Coward on Friday February 21 2014, @02:55PM

        by Anonymous Coward on Friday February 21 2014, @02:55PM (#4458)

        I believe Unix needs a MMU to run properly. The 68020 was the first m68k with a MMU chip, and the 68030 was the first to have the MMU on-die.

        • (Score: 2, Interesting) by Uncle_Al on Friday February 21 2014, @03:16PM

          by Uncle_Al (1108) on Friday February 21 2014, @03:16PM (#4479)

          > I believe Unix needs a MMU to run properly. The 68020 was the first m68k with a MMU chip, and the 68030 was the first to have the MMU on-die.

          68000 unix machines were built, using designs including variations of the "SUN" MMU design or the Moto 68451
          You just couldn't do demand paging with the 68000 because you couldn't restart an instruction.

        • (Score: 0) by Anonymous Coward on Friday February 21 2014, @06:33PM

          by Anonymous Coward on Friday February 21 2014, @06:33PM (#4583)

          > I believe Unix needs a MMU to run properly.

          As other people have mentioned, uCLinux can run on a 68000 [eetimes.com] without an MMU!

          • (Score: 1) by darinbob on Friday February 21 2014, @08:23PM

            by darinbob (2593) on Friday February 21 2014, @08:23PM (#4624)

            Yea, but that's not really Unix. And I'm saying that as someone who believes Linux is Unix.
            Basically you're left without memory protection; which doesn't really make something non-Linux by itself.
            However you are unable to dynamically grow the size of heap or stack for processes. So like Minix you either allocate a standard stack size for everything or you specify a specific stack individually for each process. All memory is shared, everyone presumably allocates from the same heap, etc.

            • (Score: 0) by Anonymous Coward on Friday February 21 2014, @09:02PM

              by Anonymous Coward on Friday February 21 2014, @09:02PM (#4641)

              > Yea, but that's not really Unix. And I'm saying that as someone who believes Linux is Unix.

              True. But given the limitations of the 68000, I would rather run something Linux-like than System 7-like. If you can't have memory protection, you might as well have preemptive multitasking!

    • (Score: 3, Informative) by shortscreen on Friday February 21 2014, @06:38AM

      by shortscreen (2252) on Friday February 21 2014, @06:38AM (#4210)

      I'm not sure which system used dual 68Ks in the way described, but there were a bunch of 68K-based UNIX systems. For instance:
      http://www.old-computers.com/museum/computer.asp?c =254 [old-computers.com]
      http://www.old-computers.com/museum/computer.asp?c =767 [old-computers.com]

    • (Score: 1) by den Os on Friday February 21 2014, @07:40AM

      by den Os (2340) on Friday February 21 2014, @07:40AM (#4244) Homepage

      I used to run minix on my ST1040

    • (Score: 2, Informative) by darinbob on Friday February 21 2014, @07:18PM

      by darinbob (2593) on Friday February 21 2014, @07:18PM (#4596)

      I had always thought this was the early Sun-1, however it appears this used a custom designed MMU. Sun-2 used 68010 and again with a custom MMU.

      A big problem with 68000 was that some exceptions could not be restarted after an interrupt, which is where the trick of using two CPUs in parallel came from. One would be cycle or half cycle behind and then be halted if the earlier CPU detected a fault. I can't discover what computers actually used this technique though but it's been talked about for decades.

      The 68010 fixed this problem and added some privileged instructions, and was pin compatible. However it wasn't only slightly faster so most companies just waited for the 68020 instead.

      So I don't know how the Sun-1 really managed this with only one 68000. I suspect there were some operations that just couldn't be recovered but it could do enough to run System 7.

  • (Score: 2, Interesting) by pixeldyne on Friday February 21 2014, @05:43AM

    by pixeldyne (2637) on Friday February 21 2014, @05:43AM (#4190)

    I owe my career to Amiga. I wish I could build something close. Mc68040 with MMU on an ATX board. Is it possible to buy something like that?

    ---
    Sent from my web browser.

    • (Score: 2, Informative) by thomasdotnet on Friday February 21 2014, @12:16PM

      by thomasdotnet (1583) on Friday February 21 2014, @12:16PM (#4396)

      I learned C and 68k Assembler on an Amiga. Someone recreated the 68k processor and all of the custom chips from the first generation Amigas in an FPGA system. Nice starting point for someone that wanted to explore this via the FPGA route. Without reading the Wikipedia entry, I'll say I recall it was all open source.

      I know there was once a version of unix that ran on Amigas as well.

      http://en.wikipedia.org/wiki/Minimig/ [wikipedia.org]

  • (Score: 2, Informative) by crutchy on Friday February 21 2014, @06:19AM

    by crutchy (179) on Friday February 21 2014, @06:19AM (#4201) Homepage Journal

    this kinda reminds me of embedded applications

    sparkfun and futurlec have awesome bits and pieces for pennies

    i have an avr kit (http://www.futurlec.com.au/ET-AVR_Stamp_Board.jsp ) which can do some neat stuff... i plugged some music into an analog to digital pin and sent it to a laptop through rs232 and read the serial signal with a little delphi program that performed fft and displayed a moving chart... was slow as a wet week but it worked :-)
    unfortunately i haven't yet figured out how to motivate myself to figure out how to get either my usb or parallel programmer to work with avrdude in debian. avr studio isn't actually that bad though.

    want to get this one next:
    http://www.futurlec.com.au/STM32_Development_Board .jsp [futurlec.com.au]

    sparkfun is good for sensors

    • (Score: 2, Informative) by quitte on Friday February 21 2014, @12:19PM

      by quitte (306) on Friday February 21 2014, @12:19PM (#4397)

      Get one of the STM32 discovery boards(,too). They are cheap and the debug interface is capable of debugging and programming non-ST Cortex-Ms, too. Also it works without too much trouble with a debian system.

  • (Score: 5, Informative) by RamiK on Friday February 21 2014, @07:54AM

    by RamiK (1813) on Friday February 21 2014, @07:54AM (#4249)

    http://cache.freescale.com/files/32bit/doc/ref_man ual/M68000UM.pdf [freescale.com] MC68SEC000AA10: http://mouser.com/ProductDetail/Freescale-Semicond uctor/MC68SEC000AA10/?qs=ah/knrI0lPdTM1dDCwUB2g== [mouser.com]

    Not quite the same as D.I.Y but I suspect those are no longer being made so people might want to get them while they still can...

  • (Score: 5, Interesting) by slash2phar on Friday February 21 2014, @09:56AM

    by slash2phar (623) on Friday February 21 2014, @09:56AM (#4289)
    Not quite as amazing as building the whole machine including the CPU [homebrewcpu.com] from logic chips.
    • (Score: 1) by sar on Friday February 21 2014, @10:39AM

      by sar (507) on Friday February 21 2014, @10:39AM (#4321)

      where are those mod points, when you need them most...

  • (Score: 2, Informative) by ArghBlarg on Friday February 21 2014, @03:08PM

    by ArghBlarg (1449) on Friday February 21 2014, @03:08PM (#4472)

    Various people have used FPGA systems to implemented entire 68k-based computers, with modern SD card, USB and HDMI/VGA connectivity. This is a much longer-term strategy since the 68k family isn't really being made any more. One good example:

    http://www.experiment-s.de/en [experiment-s.de]

    It's an entirely recreated Atari ST architecture.