CP/M Porting In A Few Hours

If you’ve ever wanted to watch someone bring CP/M up on a new system and you have a couple of hours to spare, check out the recorded live stream of [Poking Technology]. The system in question is an Agon Light, a modern board with a Z-80-derived CPU. If you want to get right to the porting part, you might want to skip about 31 minutes of the nearly 2.5-hour video.

The first half hour is more about the built-in assembler and the board in general. If you’ve ever ported CP/M before, you know it isn’t as hard as bootstrapping a modern operating system. There are two major things you need: A BIOS, which is specific to your machine, and a BDOS, which is usually taken verbatim from the operating system sources. Your programs typically call one of the 40 or so functions in the BDOS.

Continue reading “CP/M Porting In A Few Hours”

CP/M 6502-Style

There are projects you create to share with the world, but there are also those you do just because you want something for yourself. Lucky for us, [Dietrich-L]’s 30-year-long project to create CPM-65, a CP/M-like OS for the 6502, has become both.

[Dietrich-L] does admit that the documentation is “sparse” and “for my personal needs.” Still, the OS has most of what you’d expect and runs well on the target system, a heavily-modified Elektor Junior with 57 kB of RAM. The disk structure is compatible with CP/M, although the Transient Program Area (TPA) apparently starts at $200, which is a bit different from a typical CP/M. Apparently, the system uses some low memory which necessitated the relocation. Just in case you were hoping, CPM-65 doesn’t emulate an 8080 system, so you can’t run normal CP/M programs. You just get a similar operating environment and tools.

The 31 commands listed include an assembler, BASIC, Forth, an editor, and some disk tools, along with a debugger. Xmodem is available, too. Everything is written in assembly for the CPM-65 assembler, so bootstrapping could be an issue if you need to make any changes.

Speaking of changes, there is some documentation in the docs sub-directory, including the layout of [Dietrich-L]’s system, which would be handy if you were trying to run this on your own hardware. You’ll also find basic commands for the editor, details of the assembler, and some other documents.

[Dietrich-L] notes that he was unaware when he started the project that there were other similar projects. DOS/65 (which has a port for the Commodore 64), OUP/M (which hasn’t been updated since 1983), and CPM65 (apparently no relation, but very impressive), which appeared in 2022.

If you need a 6502 computer, grab a breadboard, although adding the disk drive is an exercise left to the reader. Or, grab an FPGA but expect more work.

Thanks [Stephen Walters] for the tip!

Is This The Smallest CP/M Machine Ever?

If you had an office word processor in the late 1970s, the chances are it ran Digital Research’s CP/M operating system. IBM went for Microsoft in the 1980s and the once-dominant player fell on hard times, but it survives today as a popular choice on retrocomputer platforms. Even the more compact Z80 systems are a little large for 2022, so when [Kian Ryan] needed the ultimate in CP/M portability it fell on a more modern piece of silicon. Hence he’s put it on a tiny RP2040-based board from Pimoroni alongside an Adafruit micro SD card breakout.

The tiny hardware is neat of course, but the real star of the show is the software. Non-CP/M aficionados will be interested to learn about RunCPM, and for this project, RunCPM 2040. This provides an emulated environment on a host microcontroller to run CP/M, allowing the operating system to be hosted on easier hardware than some of the original machines.

All this makes for a tiny development machine, but perhaps of more interest would be a machine that’s all-in-one with a display and perhaps a keyboard. The RP2040 is interesting in this case because of those programmable state machines. Could it be made to run a video display alongside RunCPM? We hope someone has a go at writing it.

Modular Z80 Really Racks Up The Retrocomputer Cred

Very few retrocomputing projects are anything other than a labor of love. There’s really no practical reason to build a computer that is woefully inadequate for just about any task compared to even an entry-level PC today. But the lack of a practical reason to do something rarely stops a hacker, as with this nifty modular Z80-based rack computer.

Actually, there’s at least one area where retrocomputers excel compared to their modern multi-core gigahertz counterparts — and that’s nostalgia. That’s what [Ricardo Kaltchuk] was going for with his build, which started by finding a Z80 and an Intel 8251 USART in his parts bin. Those formed the core of what would become the “Proton” computer, a modular beauty built around 7 cm by 10 cm PCBs that plug into a backplane inside a rack made from aluminum angle. Aside from the power supply and the Z80 CPU, other modules include a RAM card with a zero insertion force socket for an EPROM, a mass-storage module sporting a 128 MB Compact Flash card, plus modules for standard serial and I2C comms.

The fit and finish are excellent, and the performance is impressive. The Proton runs CP/M and boasts a ton of old applications that will bring back some memories, like SuperCalc and dBase. We’d venture a bet that WordStar is in there someplace, or easily could be. The video below is a little rough, but shows everything off really well.

In some ways, the Proton reminds us of the RC2014, but its fit and finish are what bring this build home. That’s not to take away from the work [Ricardo] obviously put into documentation, though. The 62-page manual has every detail of every module, plus instructions for building one of your own.

Continue reading “Modular Z80 Really Racks Up The Retrocomputer Cred”

CP/M Is Now Freer Than It Was

It’s easy to think of the earlier history of desktop computing operating systems in terms of DOS, Windows, and Mac OS with maybe a bit of AmigaOS, TOS, or RiscOS thrown in. But the daddy of desktop computing, the OS that put word-processors and spreadsheets in 1970s offices and had a huge influence on what followed, isn’t among that list. Digital Research’s CP/M ran initially on Intel 8080-based machines before losing out to MS-DOS as IBM’s choice for their PC, and then gradually faded away over the 1980s. Its source has been available in some form with a few strings for a long time now, but now we have confirmation from Digital Research’s successor company that it’s now available without restrictions on where it can be distributed.

For years it was something an operating system that had been bypassed by the hardware and hacker communities, as the allure of GNU/Linux was stronger and most available CP/M capable machines were also 1980s 8-bit gaming platforms. But with the more recent increased popularity of dedicated retrocomputing platforms such as the RC2014 it’s become a more common sight in our community. Brush up your command line skills, and give it a go!

Header: Michael Specht, CC BY-SA 3.0.

Retro Serial Terminal Uses Modern Chips To Get CP/M Machine Talking

The hobbyists of the early days of the home computer era worked wonders with the comparatively primitive chips of the day, and what couldn’t be accomplished with a Z80 or a 6502 was often relegated to complex designs based on logic chips and discrete components. One wonders what these hackers could have accomplished with the modern components we take for granted.

Perhaps it would be something like this minimal serial terminal for the current crop of homebrew retrocomputers. The board is by [Augusto Baffa] and is used in his Baffa-2 homebrew microcomputer, an RC2014-esque Z80 machine that runs CP/M. This terminal board is one of many peripheral boards that plug into the Baffa-2’s backplane, but it’s one of the few that seems to have taken the shortcut of using modern microcontrollers to get its job done. The board sports a pair of ATmega328s; one handles serial communication with the Baffa-2 backplane, while the other takes care of running the VGA interface. The card also has a PS/2 keyboard interface, and supports VT-100 ANSI escapes. The video below shows it in action with a 17″ LCD monitor in the old 4:3 aspect ratio.

We like the way this terminal card gets the job done simply and easily, and we really like the look of the Baffa-2 itself. We also spied an IMSAI 8080 and an Altair 8800 in the background of the video. We’d love to know more about those.

Continue reading “Retro Serial Terminal Uses Modern Chips To Get CP/M Machine Talking”

CRISS CP/M Provides Modern Hardware For A Classic OS

Today you might choose run Windows, Linux, MacOS or some other OS on your computer. Back in the 1980s however, you generally had little choice: a certain home computer came with a certain OS, and that was it. If yours was based on a Z80 processor, chances are it ran CP/M. While differences in hardware often made direct data exchange difficult, CP/M provided at least a basic level of software compatibility between various Z80-based computers. Although eventually supplanted by MS-DOS (which initially aimed to be compatible with CP/M), enthusiasts kept the classic OS running on old hardware throughout the 90s and even beyond.

[Igor] decided to make a 21st-century CP/M machine by designing the CRISS, a single-board computer based mainly on AVR microcontrollers. The CPU is a 20 MHz ATMEGA1284P, which imitates a 4 MHz Z80 through machine-code emulation. A pair of ATMEGA328s run the peripheral controller and a VGA output, so the CRISS can be used with modern monitors. True to its heritage however, the image is monochrome green-on-black, looking instantly familiar to users of Kaypros, Osbornes and other contemporary CP/M machines.

Software is loaded through an SD card that holds floppy images. The CRISS can directly run programs written for the Kaypro II and Robotron 1715 computers, although other platforms can be supported as well with a software upgrade. [Igor] shows it running programs ranging from the Turbo Pascal compiler to games like Xonix and Tetris.

Housed in a neat little case, the CRISS can communicate with standard PS/2 keyboards and serial printers. Even an Ethernet port is provided for those willing to experiment with network connectivity (a rare feature in the 1980s).

We love seeing modern retro builds like this; similar projects we’ve covered before include the compact ZZ80MB and the huge Z20X. Others have used different ways of running CP/M on modern hardware, such as booting it directly on a Raspberry Pi or emulating an Altair on an ESP32.