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.
Is it really possible to design an operating system for a computer built from scavenged parts after civilization has failed?
This article introduces CPICOM -- an emulator for CP/M 2.2 on the Raspberry Pi microcontroller.
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.
Using the 1989 HI-TECH C compiler on CP/M, and some general observations about CP/M programming with real hardware.
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?
A landing page for my various CP/M articles and utilities.
Why was the CP/M operating system so successful? Forty years on, why should we care?
CP/M only recognized four serial devices. How did application cope when more than four serial ports were installed?
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.
Building a CP/M implementation of the notorious Wordle game.
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.
The modern World-Wide Web is broken. Is Gemini the repair?
Introducing a simple graphical browser for Project Gemini content; back to the 90s -- in a good way.
My first CP/M program for nearly 40 years -- how, and why, I wrote it.
Because -- why not?
1999 was the golden year of palmtop computing. Within a couple of years, palmtops were obsolete. Why?
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.
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.
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.
No 80s computer is complete without the chucka-chucka-chucka sound of a floppy disk drive doing its thing.
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.
Constructing and programming a real-time clock board for my Z80 CP/M system
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.
This is a landing page for my various articles on building a period-appropriate CP/M system using the RC2014 bus.
This article describes a couple of methods for sharing data and code between a CP/M system with RomWBW BIOS and a Linux system.
A step-by-step guide to building and installing a modified version of the RomWBW firmware on a CP/M Z80 board.
Why do so many IT professionals like to tinker with vintage computers and software?
Why half a million people learned to program in Pascal, when you'd think they had no earthly reason to.
How to use Microsoft's Macro80 and Link80 utilities on CP/M, to build a program consisting of multiple assembly-language files.
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.