Ask Hackaday: Calling All 68k Experts

This is a tale of old CPUs, intensive SMD rework, and things that should work but don’t.

Released in 1994, Apple’s Powerbook 500 series of laptop computers were the top of the line. They had built-in Ethernet, a trackpad instead of a trackball, stereo sound, and a full-size keyboard. This was one of the first laptops that looked like a modern laptop.

The CPU inside these laptops — save for the high-end Japan-only Powerbook 550c — was the 68LC040. The ‘LC‘ designation inside the part name says this CPU doesn’t have a floating point unit. A few months ago, [quarterturn] was looking for a project and decided replacing the CPU would be a valuable learning experience. He pulled the CPU card from the laptop, got out some ChipQuick, and reworked a 180-pin QFP package. This did not go well. The replacement CPU was sourced from China, and even though the number lasered onto the new CPU read 68040 and not 68LC040, this laptop was still without a floating point unit. Still, it’s an impressive display of rework ability, and generated a factlet for the marginalia of the history of consumer electronics.

Faced with a laptop that was effectively unchanged after an immense amount of very, very fine soldering, [quarterturn] had two choices. He could put the Powerbook back in the parts bin, or he could source a 68040 CPU with an FPU. He chose the latter. The new chip is a Freescale MC68040FE33A. Assured by an NXP support rep this CPU did in fact have a floating point unit, [quarterturn] checked the Mac’s System Information. No FPU was listed. He installed NetBSD. There was no FPU installed. This is weird, shouldn’t happen, and now [quarterturn] is at the limits of knowledge concerning the Powerbook 500 architecture. Thus, Ask Hackaday: why doesn’t this FPU work?

Continue reading “Ask Hackaday: Calling All 68k Experts”

Breadboarding a 68000 Computer in Under a Week

We’ve been lurking over at Big Mess ‘o Wires as [Steve] geared up for his 68000 computer build. One of his previous posts mentioned a working breadboard version but we figured it would be a ways off. Surprise, he’s got it working and what you see above took just 6 days of “occasional work” to get running.

The chip in use is actually a 68008 but we remember reading that he does plan to migrate to a 68000 because this one lacks the memory pins to address more than 1 MB of RAM. The trick here was just to get the thing running and he made some common choices to get there. For instance, he grounded the /DTACK in much the same way [Brian Benchoff] explained in his own 68k build.

We’re not sure if his address decoding was a time saver or not. If you study [Steve’s] original planning post you’ll learn that he’s going to use programmable logic to handle the address decoding. But above he wired up 74-series logic chips to perform these functions. On the one hand you know your Hardware Description Language isn’t the problem, but did you terminate one of those wires where you ought not?

Additional tripping points include a bouncing reset pin. Looking at that we’d tell [Steve] there’s a problem with his chip, except that this was his first thought as well. He went the extra mile by building and testing a replica of the reset system. This makes our brain spin… shouldn’t the reset be among the most reliable parts of a processor?

At any rate, great work so far. We can’t wait to see where this goes and we hope that it unfolds in a way that is as exciting as watching [Quinn Dunki’s] Veronica project take shape.

When Worlds Collide: 68008 Bootstrapped by an Arduino Uno


[Peter Bjornx] brings classic microprocessors and modern microcontrollers together with his Arduino bootstrapped 68008 computer. The Motorola 68008 is the 8-bit external bus version of the well-known 68000 (or 68k) microprocessor. A friend gave [Peter] one of these chips, so he built a simple computer around it.

This isn’t one of those clean retrocomputers with every connection carefully planned out and wire wrapped. [Peter’s] created a true hack – a working 68k system on a breadboard created with whatever he had on hand at the time. The real gem of this system is the ROM. [Peter] replaced an EPROM chip with an Arduino.

In the not-so-good-old-days, microprocessors (and many microcontrollers) ran from an external ROM chip. This often was a UV-erasable EPROM. Carefully compiled code was burned into the EPROM with a device programmer. If the code wasn’t perfect, the EPROM had to be pulled and placed under a UV lamp for 20 minutes or so to erase it before it was time to try again. EPROM emulators were available, but they were way too expensive for the hobbyist.

Thankfully those days are far behind us now with the advent of EEPROM and then Flash. [Peter] didn’t want to revisit the past either, so he wrote a simple Arduino sketch which allowed it to act as an EPROM emulator, including address logging via the serial port.

The design still caused [Peter] some headaches, though. His major problem was a classic 68k issue, /DTACK timing. /DTACK or Data Transfer Acknowledge is one of several bus control signals used by the 68k. When the 68k performs a read from the data bus, it waits for /DTACK before it transfers data. The Arduino was too slow to release /DTACK in this case, which caused the 68k to think every read was immediately completed. There is a much clearer explanation of the 68k bus cycles on this Big Mess O Wires page. [Peter’s] solution was simple – a D flip-flop connected to the address strobe took care of the timing issues.

It took quite a bit of tinkering, but the system eventually worked. Peter was able to run the 68008 from its reset vector into a simple loop using the Arduino. It’s only fitting that the 68k program loaded by the Arduino was an LED blinker, everyone’s favorite hardware Hello World.

Thanks [Robert!]

The coolest homebrew computer gets its own case


When you’re building one of the best homebrew computers ever created, you’ll also want a great case for it. This was [Simon]’s task when he went about building an enclosure for his Kiwi microcomputer.

We were introduced to the Kiwi last year as the end result of [Simon] designing the ultimate computer from the early to mid-1980s. Inside is a 68008 CPU, similar to the processor found in early Macs and Amigas, two SID chips taken from a Commodore 64, Ethernet, support for IDE hard drives and floppy disks, and a video display processor capable of delivering VGA resolution video at 32-bit color depth. Basically, if this computer existed in 1982, it would either be hideously expensive or extraordinarily popular. Probably both, now that I think about it.

The case for the Kiwi was carefully cut from ABS sheets, glued together with acetone, and painted with auto body paint by a friend. It’s a great piece of work, but the effort may be for naught; [Simon] is reworking the design of his Kiwi computer, and hopefully he’ll be spinning a few extra boards for everyone else that wants a piece of the Kiwi.

Building the best homebrew computer ever

A few days ago when I posted a homebrew Motorola 68000 computer spectacular, I briefly mentioned a truly spectacular homebrew computer built by [Simon Ferber]. When I posted a link to a Youtube demo of his 68k board, he was working on a website to document the architecture  design, hardware, and software. That website is now up (cache if you need it) and now we can all get a good look at the best homebrew computer ever built.

Built around the 68008 CPU – slightly less capable than the 68000 found in the original Macs, Amigas, and the TI-89 – [Simon]’s Kiwi computer has peripherals out the wazoo. A Yamaha V9990 Video Display Processor provides a 640×480 display with 32k colors. Two SID chips taken from a Commodore 64 provide stereo chiptune audio, and a floppy disk controller, IDE/ATA bus, and CS8900A Ethernet controller provide all the practical functionality you’d expect from an awesome computer.

On the software side of things, [Simon] is running Enhanced Basic 68k, but of course he can’t just use BASIC to fiddle around with all the cool chips on the Kiwi. With that in mind, he came up with a C-based toolchain that included porting libc to the Kiwi.

Like any good homebrew computer project, all the schematics, a bit of code, and a BOM are provided. [Simon] is currently working on (slightly) redesigning the PCB layout of the Kiwi, and we’ll be happy to see those files released. Anyone up for a Kiwi PCB group buy?

Homebrew 68k extravaganza

Introduced in 1979, the Motorola 68000 CPU was first used in very expensive and very high-end workstations from the likes of Sun and SGI. As the processor matured it became well-known for its use in the original Macintosh, early Amigas, and even the TI-89 graphing calculator and a few video game consoles such as the Sega Genesis and Atari Jaguar.

A few days ago when I posted a homebrew computer build based on the 65816 CPU, I lamented the lack of builds using the venerable Motorola 68k. Hackaday readers were quick to point out the many homebrew computers making use of this classic CPU, and I’m glad to post them here.

First up is an amazing 68008 build featuring an IDE disk interface, a floppy disk interface, 10base-T Ethernet connectivity, a real-time clock, and two SID synthesizer chips. As far as features go, this build takes the cake. Pity I can’t find a writeup.

Here’s a 68000-based computer built around the S-100 bus. Like the first computer to use the S-100 bus, the Altair 8800, this computer is plugged into a backplane that breaks out the data, address, and interrupt lines to every device on the bus.

Of course, no mention of backplane computers would be complete without a Eurocard version. [N8VEM] built a 68000 computer able to be plugged in to a backplane along with an IDE controller card and a display controller.

Finally, in true ‘giant mess of wires’ spirit, [Dajgoro] sent in his 68k single board computer featuring 512 kB of RAM and a 16k ROM. [Dajgoro] also took the time to wire in a PIC microcontroller, allowing him to expand his computer far beyond what vintage components would allow.

The 68k was – and still is – a very powerful CPU that far surpasses the capabilities of the 6502 and Z80 homebrew computers we see from time to time. Short of building a 486 or Pentium-based computer from scratch, building a 68k machine is one of the crowning achievements of hardware hackery, and something we hope to see more of in the future.