This is the second part of my CP/M manual recreation project. After recreating the CP/M User’s Guide first, this is now the Programmer’s Guide.
As with the first part, I based my recreation on the OCRed versions on the OCRed version of the CP/M Programmers’s Guide.
Files
CP/M Programmers’s Guide (interactive PDF with hyperlinks for online reading)
CP/M Programmers’s Guide (print-ready version with crop marks)
Changes
Since I now had the page styles and paragraph styles from the User’s Guide, I tried to reuse them wherever possible. The most obvious changes to the original printed version are:
- Page format: My original manual seems to be printed in 6" x 9" (152,4mm x 228,6mm). Living in Germany I chose the more common DIN A5 (148mm x 210mm) format. This should be close enough.
- Page numbering: It is impossible to keep the page numbering the same as in the original.
- Fixed errors: I removed a text reference to section 2.5 at the end of section 1 because there is not section 2.5.
I also had to change the wording of some BDOS function name references. e.g. In the text they’re referenced as "Search" and "Search Next" while the official function names are "Search for First" and "Search for Next". I had to use the official names in order for InDesign’s cross-reference functionality to work. - Minor text adjustments: In section 2.3.3 the text refers to the FCB structure on the next page. My layout placed the structure right below that text, so I changed the text accordingly.
- Code samples: The code in section 4 was a mess in the OCRed file. I recreated the code samples on a CP/M system, and then took the PRN files generated by MAC and pasted them into this guide. (I lower-cased everything because unlike in the original guide, MAC outputs everything in upper case)
- Index entries: I fixed some errors in the index that occured to me. A few index entries seemed to point to pages that had nothing to do with index entry. Others seemed to point to the wrong page (+/- 2 pages). And finally there were some missing index entries for command options/modifiers. I added those where I noticed they were missing.