Retrocomputing

Although connecting a USB keyboard to an Arduino-type microcontroller without addition hardware can be tricky, there are no such problems with many 90s keyboards. This article is about giving new life to old keyboards, by using them as input devices for microcontroller projects.
Categories: Arduino, embedded computing, retrocomputing

Is it really possible to design an operating system for a computer built from scavenged parts after civilization has failed?
Categories: retrocomputing, Z80

This article introduces CPICOM -- an emulator for CP/M 2.2 on the Raspberry Pi microcontroller.
Categories: retrocomputing, Pico, C, Z80

This article is about how programming for CP/M, usng a 40-year-old C compiler, differs from modern C development, even for console applications.
Categories: retrocomputing, C, Z80

Using the 1989 HI-TECH C compiler on CP/M, and some general observations about CP/M programming with real hardware.
Categories: retrocomputing, C, Z80

CP/M has no timing or delay functions, because CP/M never stipulated that compatible hardware have any kind of clock. So how do we implement short (fractions of a second) delays in a CP/M program?
Categories: retrocomputing, Z80

A landing page for my various CP/M articles and utilities.
Categories: Z80, retrocomputing

Why was the CP/M operating system so successful? Forty years on, why should we care?
Categories: retrocomputing, Z80

CP/M only recognized four serial devices. How did application cope when more than four serial ports were installed?
Categories: retrocomputing, Z80

In the last few years there has been a revival of interest in 8-bit microcomputers from the 70s and 80s. Many of these were based on the Zilog Z80, and many ran CP/M. This article about getting started with CP/M using an emulator on Linux.
Categories: general computing, retrocomputing, Z80

Building a CP/M implementation of the notorious Wordle game.
Categories: retrocomputing, C, Z80

We're used to computing devices being electronic. But what can we do with a purely mechanical approach? This article looks at how eclipse prediction might have worked in the Antikythera Mechanism, c.2300 years ago.
Categories: retrocomputing, science

The modern World-Wide Web is broken. Is Gemini the repair?
Categories: general computing, retrocomputing

Introducing a simple graphical browser for Project Gemini content; back to the 90s -- in a good way.
Categories: retrocomputing, Java

My first CP/M program for nearly 40 years -- how, and why, I wrote it.
Categories: retrocomputing, C, Z80

Because -- why not?
Categories: retrocomputing, Z80

1999 was the golden year of palmtop computing. Within a couple of years, palmtops were obsolete. Why?
Categories: retrocomputing

Many retrocompting projects are designed to be used with a serial terminal. It's easy to emulate a terminal using a desktop workstation, but more authentic to use a dedicated serial terminal. Real VT52-style terminals are expensive, and difficult to transport because they use CRTs. VGA and small HDMI monitors, however, are dirt cheap, as are USB keyboards. This article is about using a Raspberry Pi Zero with a custom Linux to convert a cheap monitor and keyboard into a serial terminal.
Categories: Raspberry Pi, retrocomputing

Back in the 70s, desktop computers booted to BASIC. In this article, I describe my efforts to implement a BASIC programming environment on the SparkFun Pro Micro, a small Arduino-like 8-bit microcontroller.
Categories: general computing, retrocomputing, Arduino

It's still possible to write text adventure games for CP/M and other small, vintage computers. Here is one approach, using Linux as the development platform.
Categories: retrocomputing, Z80

No 80s computer is complete without the chucka-chucka-chucka sound of a floppy disk drive doing its thing.
Categories: electronics, Z80, retrocomputing

Using an RC2014-based retrocomputer with genuine RS232 peripherals requires support for voltage level conversion. Although converter modules are inexpensive and widely available, I wanted to design something that would plug into an RC2014 backplane, just for neatness.
Categories: electronics, Z80, retrocomputing

Constructing and programming a real-time clock board for my Z80 CP/M system
Categories: C, electronics, Z80, retrocomputing

An 80's-style 8-bit computer has to be cable of making 80's 8-bit sound. In this article I describe adding a sound board to my RC2014 system.
Categories: electronics, Z80, retrocomputing

This is a landing page for my various articles on building a period-appropriate CP/M system using the RC2014 bus.
Categories: Z80, retrocomputing

This article describes a couple of methods for sharing data and code between a CP/M system with RomWBW BIOS and a Linux system.
Categories: C, electronics, Z80, retrocomputing

A step-by-step guide to building and installing a modified version of the RomWBW firmware on a CP/M Z80 board.
Categories: Z80, retrocomputing

Why do so many IT professionals like to tinker with vintage computers and software?
Categories: general computing, retrocomputing

Why half a million people learned to program in Pascal, when you'd think they had no earthly reason to.
Categories: TDMTLTAM, retrocomputing

How to use Microsoft's Macro80 and Link80 utilities on CP/M, to build a program consisting of multiple assembly-language files.
Categories: retrocomputing, Z80, assembly

This article describes how to create a self-contained CP/M-based microcomputer using a Z80 single-board computer, a Raspberry Pi Zero, and some assorted electrical parts.
Categories: Z80, retrocomputing