Land Boards' Retro-EP4CE15 Gets a Classic Motorola 68000 System, Tiny BASIC on Its FPGA
Building on earlier work by Grant Searle and Jeff Tranter, plus a book by Alan Clements, Doug Gilliland's FPGA project can run Tiny BASIC.
Land Boards' Doug Gilliland has been working on a new spin on Grant Searle's Multicomp systems, which recreate classic computers as soft-cores on a field-programmable gate array (FPGA), with a Motorola 68000-inspired build capable of running Tiny BASIC.
"I've wanted to build a 68000 system for a long time," Gilliland explains. "I built some commercial systems back in the 1980's based on the 68000 and really like the CPU. There's a few 68000 builds on YouTube. The best documented 68000 build is Jeff Tranter's build of the TS2. Jeff has a very nice build blog and demonstration video on YouTube."
"The TS2 is based on Alan Clements' book Microprocessor Systems Design: 68000 Family Hardware, Software, and Interfacing. The advantage starting from a published book is that the documentation of the design is really good. There was a commercial design that is compatible, the Motorola MC68000 Educational Computer Board (MEX68KECB) (referred to as MECB). There is a TUTOR monitor, Tiny BASIC and FORTH for the board."
Gilliland's version of the TS2 is designed for installation on the Land Boards Retro-EP4CE15, a low-cost FPGA development platform built around the QMTech EP4CE15 Altera Cyclone IV FPGA board with a an expansion for storage, VGA video output, and a PS/2 keyboard. It includes a Motorola 68000-compatible soft-core CPU written in VHDL, 32kB of static RAM (SRAM), and a video display unit (VDU) based on Searle's ANSI terminal project with VGA video output.
The project did, however, run into one snag — and it's one that may be familiar to anyone who has worked on FPGA recreations of vintage systems before: "FPGA implementations of CPUs rarely match the pins of the original part," Gilliland notes. "They are typically poorly documented where it comes to the changes or how to interface to the CPU. Sure, address and data match and are easy. The 68000 Hardware User Manual helps for signals that are in common but doesn't help for missing/added signals.
"Turns out gating the CPU clock (low) with the Data Strobe works for writes. Took a while to figure that one out. I wish the designers would put just a few notes on differences to the real parts when they make them but I am grateful that someone did the heavy lifting in the design. The CPU runs fine at 25 MHz."
More information is available on the Hackaday.io project page; the source code, meanwhile, can be found on Gilliland's GitHub repository.
Freelance journalist, technical author, hacker, tinkerer, erstwhile sysadmin. For hire: freelance@halfacree.co.uk.