Retrocomputing
Reviving old keyboards for ArduinoAlthough 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 Collapse OS really a practical proposition?Is it really possible to design an operating system for a computer built from scavenged parts after civilization has failed?
Categories: retrocomputing, Z80
Running CP/M on the Raspberry Pi Pico microcontrollerThis article introduces CPICOM -- an emulator for CP/M 2.2 on the Raspberry Pi microcontroller.
Categories: retrocomputing, Pico, C, Z80
Getting back into C programming for CP/MThis 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
Getting back into C programming for CP/M -- part 2Using the 1989 HI-TECH C compiler on CP/M, and some general observations about CP/M programming with real hardware.
Categories: retrocomputing, C, Z80
The vexed problem of generating delays in a CP/M programCP/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
CP/M resourcesA landing page for my various CP/M articles and utilities.
Categories: Z80, retrocomputing
CP/M forty years on -- what it was, and why it still mattersWhy was the CP/M operating system so successful? Forty years on, why should we care?
Categories: retrocomputing, Z80
Serial device mapping in CP/MCP/M only recognized four serial devices. How did application cope when more than four serial ports were installed?
Categories: retrocomputing, Z80
Playing Zork 1 on a CP/M emulator on LinuxIn 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
cwordle -- A Wordle-like word-guessing game for CP/MBuilding a CP/M implementation of the notorious Wordle game.
Categories: retrocomputing, C, Z80
Predicting eclipses with clockworkWe'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
Can Project Gemini rewind the Web thirty years?The modern World-Wide Web is broken. Is Gemini the repair?
Categories: general computing, retrocomputing
JGemini -- a Java-based browser for Project Gemini protocols and contentIntroducing a simple graphical browser for Project Gemini content; back to the 90s -- in a good way.
Categories: retrocomputing, Java
Developing KCalc-CPM -- a scientific calculator utility for CP/MMy first CP/M program for nearly 40 years -- how, and why, I wrote it.
Categories: retrocomputing, C, Z80
Using a CP/M machine to log into a Linux server using an RS232 connectionBecause -- why not?
Categories: retrocomputing, Z80
How Microsoft Windows killed the palmtop computer1999 was the golden year of palmtop computing. Within a couple of years, palmtops were obsolete. Why?
Categories: retrocomputing
Using a Pi Zero and throw-away parts to provide a serial terminal for retrocomputing projectsMany 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 to BASICs with a Pro Micro microcontrollerBack 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
Writing new interactive fiction games for CP/M using PunyInform and LinuxIt'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
Adding a floppy disk controller to my RC2014 Z80 systemNo 80s computer is complete without the chucka-chucka-chucka sound of a floppy disk drive doing its thing.
Categories: electronics, Z80, retrocomputing
Designing a dual 5V-to-RS232 serial level converter for the RC2014Using 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
Some thoughts on a DS1302 real-time clock board for RC2014/Z80 and CP/MConstructing and programming a real-time clock board for my Z80 CP/M system
Categories: C, electronics, Z80, retrocomputing
Constructing and programming a YM2149 sound board my RC2014 Z80 systemAn 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
Adventures with RC2014, Z80, and CP/MThis is a landing page for my various articles on building a period-appropriate CP/M system using the RC2014 bus.
Categories: Z80, retrocomputing
Exchanging files between an SC130 CP/M board and a Linux systemThis 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
Updating, building, and flashing RomWBW on an SC130 CP/M systemA 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 the fascination with retrocomputing?Why do so many IT professionals like to tinker with vintage computers and software?
Categories: general computing, retrocomputing
They don't make 'em like that any more: Borland Turbo Pascal 7Why half a million people learned to program in Pascal, when you'd think they had no earthly reason to.
Categories: TDMTLTAM, retrocomputing
Multi-source Z80 assembly programming for CP/MHow 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
A self-contained CP/M computer based on the Z80 PlaygroundThis 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
