Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How to start with CP/M (2014) (retrotechnology.com)
69 points by federicoponzi on Dec 27, 2017 | hide | past | favorite | 19 comments


Chapter 22 of "Code: The Hidden Language of Computer Hardware and Software" uses CP/M to illustrate the inner workings of operating systems. I highly recommend this book overall: https://www.amazon.com/Code-Language-Computer-Hardware-Softw...


Given that I've just found a PDF copy of this book on the internet archive and it hasn't been taken down from there, I'm going to assume the following is okay. If there are any issues, I'm happy to delete this, or a mod can. Hopefully it's all good.

- archive.org PDF (9.2MB): https://ia801607.us.archive.org/7/items/CodeTheHiddenLanguag...

- The seemingly-legit-looking account of the uploader who put it on archive.org: https://archive.org/details/@archiver849271

- The front page for the item on archive.org: https://archive.org/details/CodeTheHiddenLanguageOfComputerH...

- The directory the item is in: https://archive.org/download/CodeTheHiddenLanguageOfComputer...

--

I also found a 176MB scanned copy of the book as pure images: http://learning.caitlinmorris.net/sfpc/CharlesPetzold_Code.p...


The errata page: http://www.charlespetzold.com/code/ which is pretty small. It seems to already be getting traffic (HN hug?) so you might need to reload it a couple times.


My first CPU was a Z80 running CP/M from two floppies. Monitor showed monochrome letters written in WordStar. Only survivor is moving the cursor usually word by word probably now hard coded in muscle memory. Writing this on a machine with no moving parts nor noise. Took 40 years to get from ASM to WASM, quite a ride.


I had one of those too. I remember Wordstar with fondness, which is why I now install the Joe editor on any new computer, and use Joe's jstar mode rather than nano.

Another thing I recall is spending $4K for a 40MB hard drive. Indeed, times have changed. :)


The source code of a few versions of CP/M was released a couple of years ago:

http://www.computerhistory.org/atchm/early-digital-research-...

The accompanying article does a good job of putting CP/M in its historical context describing what it actually was. But other than nostalgia (and those who have sacrificed their eternal souls to WordStar), there isn't much of a reason to actually run CP/M itself. There's not a lot to see there - if you've ever used the MS Windows shell, imagine its Paleolithic ancestor.


CP/M source code (at least for 2.2 and earlier) was always pretty readily available because you often needed to make changes to it and the BIOS when adding new hardware. I remember when my Dad got a printer and serial card for his S100 bus system sometime around 1980. We spent hours making the necessary changes to CP/M and the BIOS so that it would work. We also had to wire up our own cable for the printer to make sure it matched the pin out for the serial card. It sure felt like an accomplishment when that darn printer actually worked.


I don't remember the source code being available. What was available was the BIOS (that you had to customize for your hardware), the boot loader to get stuff running, the CBIOS that did the disk reads and a cool program that let you patch your floppy drive parameters into your system.

I worked on a number of systems and getting the BIOS to work with new hardware was an amazing feeling. One of my last CP/M systems was the Zorba, it's claim to fame was the ability for it to emulate lots of different floppy formats. So you could move data from one format of a floppy to another. It was a huge win since the only other way to move data was via a serial connection.

The Zorba people would exchange formats as we figured out new ones.

The other cool thing "back in the day" was replacements for the Command Line Processor part of CP/M to allow some new commands to happen. Like Busybox but 40 years ago.

Now get off my lawn...


One of my last CP/M systems was the Zorba

That thing looks amazing as a machine, name and example of near-perfect market mistiming. I'd never heard of it.

https://en.wikipedia.org/wiki/Zorba_(computer)

most of the info seems to come from:

http://www.zorba.z80.de


Yea, it was the last (and best) of the luggable systems. It came out as the first of the MSDos lap computers arrived. You can still get working ones on EBay for about $500.


Out of curiosity, how did you end up with this beast at the time? According to that German site, only a few thousand were made and sold.


That doesn't sound right to me. There were config utilities for that sort of thing and even if not, that kind of change would take a small amount of disassembly - you could do it by hand in a pinch. How would you even compile CP/M's 'primordial' PL/M source?


I was about to write CP/M is at least essential for enjoying The Hitchhiker's Guide to the Galaxy as Infocom text adventure (like I did on the Atari ST with CP/M emulator), but then I learnt it was available on most other OSes at the time as well, including on Atari/TOS native.


It’s an intriguing subject for sure.

What’s missing to me here is “Why start with CP/M”?


Old computers never die - their users do!


Back in the day, a friend of mine had 3" disks for the ZX Spectrum +3 with CP/M.

So this is a possible way to try out CP/M on real hardware, after finding one in workable state.


You should still be able to find Amstrad PCW and CPC systems in working order, although the 3" drives will probably need replacement rubber bands by now.


Can you virtualize it? Is there a virtualization solution available that supports the Z80 architecture?


There are several virtual machines capable of running various versions of CP/M and a couple emulators of CP/M itself. (For example, https://github.com/jhallen/cpm )




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: