Apple Gets CP/M

In case you wanted to run WordStar on your Mac, [Tom Harte] offers CP/M for OS/X, and it looks like it would be a lot of fun. Of course you might be happier running Zork or Turbo Pascal, and you can do that, too.

There are plenty of Z80 emulators that can run CP/M, but what we found most interesting about this one is that it is written in Objective C, a language with a deep history in the Mac and NeXT worlds.

The project is logically laid out if you’d like to read the code or attempt changes. There are sections for the BIOS, the processor, and RAM memory. There’s also a directory with the CP/M BDOS interface. Once you have that, it is relatively easy to boot CP/M on the virtual Z80 computer.

If you ever built a 64K memory board for a computer of this era, it is mildly unsettling to see the whole thing reduced to about 50 lines of code. The CPU is a little better at nearly 1500 lines of code. We remember puzzling out the BDOS and BIOS interfaces in the 1980s and it required reading assembly language. If you wanted to learn today, there are plenty of easy-to-read examples in C, C++, or Objective C.

We’ve had CP/M running on everything from an ESP32 to a real Z-80.

13 thoughts on “Apple Gets CP/M

    1. Legend has it that IBM went to Bill Gates for an operating system because Microskft had that card. He sent them to Gary Kildall at Digjtal Research.

      I have no idea how much truth there is in the story.

  1. Fun project, keep the retro stuff coming!
    I read the title and immediately thought ‘So what, you just plug in the Apple ][ Z80 SoftCard’ and then recalled that Apple had made some other machines after the Apple ][, that most elegant and honest piece of computing machinery being the only Apple hardware I own, and have ever owned. I guess Apple doesn’t figure big in my world.

      1. The Apple ][ and /// were 6502 computers that had plug-and-play card capability. Each expansion card was mapped to a different address range, with a shared 2kB bank-switched area for driver ROMs.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.