“I don’t like nostalgia unless it’s mine.” – Lou Reed
If the phrase “DTACK grounded” means anything to you, welcome, friend. You are officially a member of the retro-techno computer engineers’ club. Hail fellow well met.
You’re probably already busy enough with your real job, but if you want a fun diversion, try your hand at building a real, live Motorola 68000-based computer. You build it. You program it. You figure out what to do with it afterwards.
Better yet, get one of your less-technical friends or colleagues to build it. It’ll be a great teaching tool for them and a fun project for you both. As old as it is, the 68K is still a great microprocessor architecture to learn on. It’s easy to understand, easy to program, and easy to debug. Plus, the 68K doesn’t suffer from weird anomalies that plague some other vintage processors (cough, x86, cough) so it’s less likely to trip up the unwary.
When I stumbled across Matt Sarnoff’s 68K-Nano project on GitHub my first thought was, “You can still buy 68K chips?” Yup. Turns out, a few of the major distributors still carry 68K-family processors and peripherals, although they helpfully suggest that they’re “not recommended for new designs.” You think?
Sarnoff’s board includes a genuine 68000 processor chip in a 64-pin DIP package (“for that extra vintage feel”), a pair of SRAMs, a pair of EPROMs, a UART, a bit of 7400-series decoding logic, and a handful of discrete components. If you want, you can add a real-time clock, a CompactFlash interface, and maybe even a video card.
His board is remarkably tidy for a homebrew project. You, too, can get that professional look by using the provided PCB layout and silkscreen. Wire-wrapping is also an option, although Sarnoff cautions that some high-speed signals (it has high-speed signals?) may degrade badly if you go that route. Ideally, the system runs at a dizzying 12 MHz.
Sarnoff’s isn’t even the only 68K single-board computer out there. Engineer Jeff Tranter has also shared his implementation of the notional machine described in this textbook. Tranter offers both wire-wrapped breadboard and double-sided PCB implementations.
If sourcing components and running wires isn’t your thing, you can buy the ready-made ROSCO (Really Old School Computer) kit for just $30, plus shipping from the UK. ROSCO’s features are about equivalent to those of the other boards because, really, what would you change?
Why 68K? Because it’s great! Had history played out just a little bit differently we’d probably all be using 68K-based laptops and servers right now. Back when Commodore and Atari made legitimate home computers, and before IBM’s Model 5150 became the de facto standard, the 68K was just about the only 32-bit microprocessor available. Unlike Intel or Zilog, Motorola chose to break compatibility with its 16-bit family and completely overhauled the existing 6800 to make the new 68000. What it lost in backward compatibility it gained in simplicity, orthogonality, and elegance. The 68K had – sorry, still has – a flat register file, a regular instruction set, a linear address map, no memory segmentation, no separate I/O address space, and no particularly weird instructions or addressing modes. If you needed to learn assembly-language programming, the 68K was simple and rational.
On the hardware side, the 68K’s bus interface was asynchronous, as opposed to the synchronous interfaces used by the 8086 and its ilk. That made building and testing hardware easier because memory and peripherals could be as fast or as slow as you wanted. It’s easy to delay a bus transaction so you can monitor it with an oscilloscope or logic analyzer (or in extreme cases, a voltmeter). Rather than synchronizing everything to a fixed clock, you simply pulsed the DTACK (data transfer acknowledge) signal to indicate that data was ready. Easy. A really fast system using expensive components could drive the active-low DTACK signal almost immediately, hence “DTACK grounded.”
It’s possible that learning 68K hardware design or assembly-level programming isn’t the path to engineering riches that it used to be. Learning ARM or Python or TensorFlow might be a better career choice. But ARM’s reference manual now runs nearly 3000 pages (and costs $1000 on Amazon). What was the R in RISC supposed to stand for, again?
The 68K, in comparison, is like the Little Tikes version of a processor. In hindsight, it seems almost deliberately designed for ease of learning. It hadn’t accumulated the cruft of backward compatibility or decades of improvements. It’s a time capsule; a vision of what 32-bit computing might have been circa 1980. It’s hard not to miss those days.