• Please review our updated Terms and Rules here

Looking for a replica of the original CP/M 2.2 8 inch disk

smp

Veteran Member
Joined
Oct 4, 2011
Messages
1,727
Location
Bedford, NH, USA
Hello all,

Over the past year, I acquired a good working IMSAI chassis with front panel and 2 MHz 8080 processor board. I built the S-100 SIO Board designed and offered by the good folks over at S100Computers.com. I acquired a CompuPro RAM-17 board on eBay, and it also is working perfectly.

I also have taken the source code that was originally the IMSAI Self-Contained System, and stripped out the text editor and the assembler, leaving a small system monitor that can ENTR bytes into memory, DUMP memory to the screen, and EXEC starting at a given address.

Back in the spring, I purchased a Versafloppy II floppy disk interface card from Herb Johnson. Recently, now that I believe that I have a solid reliable 8080 system running, I added a BOOT command into my system monitor from code I scrounged up along the way. At present, I have the code load sector 00 into memory and then restart the monitor, rather than jump to the code it just loaded, for testing.

This past weekend, I dug out an old dual 8 inch drive box that I have had stored for the past decade or more, checked out the power supplies and attached the big old ribbon cable to my floppy interface card.

When I put an 8 inch disk into the drive, the BOOT command code lights the light on the disk drive, properly completes and restarts the monitor program without an error indication. When I take a look, the first 128 bytes of memory are now filled with 00H (this is not a CP/M disk, it's just an 8 inch data disk from somewhere).

All this progress! Now I need an actual CP/M disk...

I fully realize that there is no "standard" CP/M disk, and one must do a number of customizations to integrate CP/M with the actual system. I have all of the original DRI manuals, including the CP/M Alteration Guide that contains all the steps in the modification process, as well as all the exapmle code snippets that I will need to start with and expand upon. As well, I may be able to make use of Versafloppy code available from Herb Johnson's web site.

Since my system is completely my own, I know I cannot go out and find a "system disk" for it. However, I also have not been able to find anyone offering an 8 inch disk that replicates the original one that would have come in the CP/M 2.2 package.

Does anyone know where I can go to purchase a replica of the original CP/M 2.2 8 inch disk, so I can then follow the steps in the CP/M Alteration Guide and bring up my own system from scratch?

Any other advice?

Thanks, in advance, for your patience and response.
smp
 
Most of what DRI distributed was "OEM Redistribution" versions of CP/M 2.2. I probably have one kicking around here somewhere. These are a bit different from the usual "CP/M System Disks" that individual vendors passed out to customers. For one, it includes directions for DRI-required serialization.

But you don't need an "DRI original"--you just need something in A1 format with a CP/M system on it. You don't have an Intel MDS anyway to run the DRI version.

I trust that you've read Dave Dunfield's excellent guide. I think it parallels your situation very closely.
---
Postscript: I do have an original DRI OEM redistribution floppy for CP/M 2.2. I note that there seems to be a lack of such an image anywhere on the web. Anyone hosting a web site care for an image before I put the thing back in the file?
 
Last edited:
Hello again, Chuck,

Thank you very much for your response.

Yes, indeed, I have read (and read, and read again) the article that you mention. I believe that I am currently at Step 3: Build and properly locate in memory a CP/M CBIOS and cold-start boot loader that matches the system hardware configuration and provides the essential hardware drivers for the CP/M BDOS.

The thing is, I need a CP/M disk, preferably CP/M 2.2, that contains the actual CP/M system, plus all the accessories that would have come with a "normal" system disk, like the editor, the assembler, PIP, etc.

As I have indicated in other posts, I do not have a significant amount of computer equipment to work with. Here is what I have. My main computer is a 15" MacBook Pro. I also have a dell Mini 10 netbook that has only USB ports (this one works great for downloading code into my Apple Iic Plus via a USB-RS232 adapter!). Finally, I have a Dell Latitude D610 laptop that has the old RS232 and Parallel ports, along with a couple of USB ports, where I use Hyper-Terminal as the terminal for my S-100 system. This laptop has a CDROM drive, but no floppy disk drive.

So, any advice you may have would be greatly appreciated. How can I go about getting "something in A1 format with a CP/M system on it?"

Thanks very much for your patience with me.
smp
 
...But you don't need an "DRI original"--you just need something in A1 format with a CP/M system on it.
Dumb question: what's "A1 format"?

I trust that you've read Dave Dunfield's excellent guide. I think it parallels your situation very closely.
I think that's Rich Cini's account of his trials and tribulations; ISTR that I even had a tiny part in that.

But speaking of Dave maybe his CPT utility could come in handy:
http://www.classiccmp.org/dunfield/img/index.htm
It lets you create a disk from an image over the serial port.

Good luck; you'll have lots of fun!
 
Dumb question: what's "A1 format"?

Back in the bad old days of CP/M formats distributed though places such as Lifeboat, "A1" was the code for SSSD 8", 26x128 SPT, etc. MDS-800 distribution floppy format as described in the System Alteration Guide; what OEMs got CP/M from DRI on. Supposedly, most 8"CP/M systems could read it, even as a "foreign" format. About the closest thing to "universal" that CP/M had. You'll note that 22Disk calls it A1 format as well.

Note that A1 format also has logical interleaving of 6:1; most vendor CP/M systems used interleaves quite a bit lower than that. Some used more than one interleave; boot tracks were sometimes done at 1:1 because they were often done as a multi-sector read--getting a system rebooted fast was important. A few interleaved the directory tracks at 2:1 or 3:1 because you're mostly doing a quick search, so processing is minimal. Some systems with lots of memory just read a track at a time and handled the remainder of the track reads out of a buffer. Some wrote a track at a time as well--though that seemed to me living dangerously. Most used sector sizes larger than 128, so also incorporated blocking/deblocking routines.

But except for the way they were recorded on disk and how they were configured for a given memory size, the basic "guts" of a CP/M system never changed. BDOS and CCP were the same for everyone.

However, note that MOVCPM is tied to a given BDOS/CCP via serial number. If you attempt to mix and match, you'll get the dreaded "Synchronization error" when you try to MOVCPM again.
 
Okay, here's an IMD of the CP/M 2.2 OEM redistribution disk that I have.

Note that this is not the bootable system disk, but rather the material for OEMs to create their own distros. This particular one comes from friends at Sorcim--this is the disk that they used to create a CP/M 2.2 distro for Compupro (Bill Godbout's outfit). Users never got to see this stuff, usually.

I think I've also got an MDS-800 SSSD boot disk image somewhere.

Anyway, enjoy.
 

Attachments

  • CPM22RED.ZIP
    47.3 KB · Views: 15
Okay, here's an IMD of the CP/M 2.2
...
I think I've also got an MDS-800 SSSD boot disk image somewhere.

Anyway, enjoy.

I have been looking for a disk image of CP/M 2.2 to boot in an Intel 8080 emulator that I have written.
I remember, back in the day, that the CP/M 2.2 came on an 8 inch floppy SSSD that was created to be booted on the MDS system. I had to write my own BIOS and Boot Loader to use it on a different machine, with its specific disk controller and serial/parallel ports.
This seems it would be what I am looking for. Have you located it?
 
Thankyou, but I am really only interested in finding CP/M. I did some work in setting up one MP/M system in the past. I did not really ever feel that even with a 4 MHz Z80, there was extra CPU horsepower to spare to divide among multiple users. For this project, I am trying to preserve a bit of history of the first "Personal Computing", by recreating a CP/M setup. I am not trying to re-create the hardware, as it probably could be considered "museum pieces", but I am trying to create an emulator. If you could locate the CP/M disk, I would greatly appreciate it. My emulator actually seems to work, and I have a copy of CP/M from a Xerox 820 running on it, but it was not a clean copy of the system disk that I started with, and MOVCPM dies with "SYNCHRONIZATION ERROR".



C:\Vince\Emu8080>java Emu8080 bootable.cpm -boot
Intel 8080 emulator, Version 1.00.00
Vincent P. Remmers

Volume A File Name = <bootable.cpm>
Opening Volume A
Reading boot sector from Volume A
Beginning emulation
CP/M Version 2.2
Vincent P. Remmers

A>dir
dir
A: ASM COM : BIOS ASM : CBIOS ASM : DDT COM
A: DEBLOCK ASM : DISKDEF LIB : DUMP ASM : DUMP COM
A: ED COM : EXITCPM COM : LOAD COM : MOVCPM COM
A: PIP COM : STAT COM : SUBMIT COM : SYSGEN COM
A: XSUB COM
A>MOVCPM
MOVCPM
Constructing Xerox 60k CP/M vers 2.2
SYNCRONIZATION ERROREmulation ended due to HLT instruction at 903
Closing Volume A
Successful.

C:\Vince\Emu8080>


Vince
 
The "Synchronization error" comes about because the serial number in the copy of MOVCPM that you have does not match the one in the BDOS that booted the system. It's entirely possible to patch the check out.
 
I'll look for the CP/M one for the MDS. If not, I know I do have one that boots MP/M II on the MDS, will that do?

I would greatly appreciate it. I had setup an MP/M system, but I did not see the point in sharing the CPU power of a Z80 at 4MHz between multiple users. I have created an Intel 8080 emulator that I will use to boot the CP/M Oerating system. I am attempting th preserve history of the first "Personal Computing". I was not trying to re-create the actual hardware, as it would probably almost be considered "Museum Pieces". My emulator is working, and I have it booting a CP/M system from a Xerox 820, however the disk I started with was not a clean startup disk, in that I feel the serial numbers are mis-matched. When I attempt to use MOVCPM, I get "SYNCHRONIZATION ERROR".

Below is an example of it running:


C:\Vince\Emu8080>java Emu8080 bootable.cpm -boot
Intel 8080 emulator, Version 1.00.00
Vincent P. Remmers

Volume A File Name = <bootable.cpm>
Opening Volume A
Reading boot sector from Volume A
Beginning emulation
CP/M Version 2.2
Vincent P. Remmers

A>stat *.*
stat *.*

Recs Bytes Ext Acc
64 8k 1 R/W A:ASM.COM
105 14k 1 R/W A:BIOS.ASM
105 14k 1 R/W A:CBIOS.ASM
38 5k 1 R/W A:DDT.COM
80 10k 1 R/W A:DEBLOCK.ASM
49 7k 1 R/W A:DISKDEF.LIB
33 5k 1 R/W A:DUMP.ASM
4 1k 1 R/W A:DUMP.COM
52 7k 1 R/W A:ED.COM
1 1k 1 R/W A:EXITCPM.COM
14 2k 1 R/W A:LOAD.COM
76 10k 1 R/W A:MOVCPM.COM
58 8k 1 R/W A:pIP.COM
41 6k 1 R/W A:STAT.COM
10 2k 1 R/W A:SUBMIT.COM
8 1k 1 R/W A:SYSGEN.COM
6 1k 1 R/W A:XSUB.COM
Bytes Remaining On A: 139k

A>movcpm
movcpm
Constructing Xerox 60k CP/M vers 2.2
SYNCRONIZATION ERROREmulation ended due to HLT instruction at 903
Closing Volume A
Successful.

C:\Vince\Emu8080>

 
Hi All;
Back when I was trying to get a working CPM on my system, I had some long chats with many of the fellows here, If I remember it was Chuck and a few others.. THANKS ! Anyway, what I did was Serially Load CPM into my machine at the various addresses for each of the parts of CPM, (BIOS,Bdos, etc.), (I had to modify, with my HEX editor, some of the files), but Once I had a Bios that matched my equipment.. I could Put in a Blank disk in and Write CPM to it.. And work my way thru the different programs, saving each to a disk after serially loading them, after a certain point I had enough on the disk, that I didn't need to serially load in every program.. I think I had a memory Board, possibly a Bios problem, as after a little while, I had to reload everything.. But, before that I could read my Diskettes.. But, I would let that discourage you, Just load a basic system up, and write it to Your Blank Diskette.. I Started out with the Tarbell CPM Ver 2.2, and modified it with my Hex Editor, Until it matched what I had.. I know its slow, but it seems to get you there, with a bootable Diskette..
THANK YOU Marty
 
I just saw this thread and have a sad story.

A co-worker of mine has an 8-inch floppy in his cube, labeled "CP/M". That sounds great and all, but there's a push-pin THROUGH the disk. It might have worked before he did that...

Clay
 
I know this is a now ancient thread, however I've found the original DRI Single Density image as distributed for default MDS-800 configuration. It's here:


If you unzip and look under:

1997/sydex/cpm22

There’s a Teledisk image:

cpm22dri.td0

I can confirm it does work as I have an MDS-800 and a modified ZX-200A Disk Controller modified to boot single density floppies.

Hopefuly someone might find this helpful :)
 
Hi Martynv,

I could not find this floppy anywhere. Then, thanks, even if it's a bit late !
:)

The original DRI 8" floppy disk is the one referenced by the CPM alteration guide and this is the one that I guess we are supposed to use when porting CPM to a new machine.

I looked at its content and it is consistent with what I was expecting:
  • system tracks
  • some useful tools to create the BIOS (ED.COM, ASM.COM)
  • tools to regenerate CPM (MOVCPM.COM, SYSGEN.COM)
  • some BIOS assembly code examples.
ASM.COM
CBIOS.ASM
DEBLOCK.ASM
DUMP.ASM
ED.COM
MOVCPM.COM
STAT.COM
SYSGEN.COM
BIOS.ASM
DDT.COM
DISKDEF.LIB
DUMP.COM
LOAD.COM
PIP.COM
SUBMIT.COM
XSUB.COM

BIOS.ASM is for the MDS-800 as expected:
; MDS-800 I/O Drivers for CP/M 2.2
; (four drive single density version)
;
; Version 2.2 February, 1980
 
Last edited:
Another necro-post on this. The image in the Maslin archive comes from yours truly--and I probably still have the disk in my collection. And yes--Intel MDS was the DRI distribution standard. That extended even to products like MP/M, which is a bit funny, considering that the standard MDS-800 has two serial ports, but while one is RS232C, the other is current-loop. So those are your two consoles. And no banked memory. The point was that it was enough to get you started.
 
So is A1 floppy format the same as the IBM 3740 8" SSSD77 26x128, ie both names are synonymous? or they used different formats, eg track marking or gaps, etc.
 
Back
Top