This Web page last updated Sept 6 2017, revised July 20 2012; note on SYSGEN added Feb 23 2017.
The CP/M operating systems have an embedded serial number, which is detected by some CP/M software. It provides license, version, and serial number for a specific original distribution or diskette. It's also of historic interest in determining the age of that particular distribution. The following was provided to me by Jeff Shook on Feb and Mar 2008, and is copyrighted by him, and is used with his permission. Edits by me are in []'s. . - Herb Johnson
The home page for my history of Digital Research, CP/M, and related work is at this link. Contact information for me is at the end of this Web page. - Herb Johnson
[The 6 byte] serial numbers in CP/M 1.3 through 2.2 system images, can be found in the system image in the boot tracks, in MOVCPM.COM or RELOC.COM or in the running system.
[In the] CCP command table, the serial number is the six bytes following "USER". Some systems don't have the USER command so there it follows "REN ".
001030 05 C2 F2 D8 EB 22 88 D6 E1 01 0B 00 23 7E FE 3F .ÂòØë"ˆÖá...#~þ? 001040 C2 09 D9 04 0D C2 01 D9 78 B7 C9 44 49 52 20 45  Ù.Â.Ùx·ÉDIR E 001050 52 41 20 54 59 50 45 53 41 56 45 52 45 4E 20 55 RA TYPESAVEREN U 001060 53 45 52 10 16 01 00 08 BD 21 10 D9 0E 00 79 FE SER.....½!.Ù..yþ 001070 06 D0 11 CE DD 06 04 1A BE C2 4F D9 13 23 05 C2 .Ð.ÎÝ...¾ÂOÙ.#.Â
[At the] start of BDOS, scroll down until there is a gap filled with 00. At the end of the 00s will be the 6 byte serial number followed by a JMP instruction, hex C3.
001520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 001530 00 00 00 00 00 00 00 00 00 00 00 00 01 10 16 01 ................ 001540 00 08 BD C3 11 DE 99 DE A5 DE AB DE B1 DE EB 22 ..½Ã.Þ™Þ¥Þ«Þ±Þë" 001550 43 E1 EB 7B 32 D6 EB 21 00 00 22 45 E1 39 22 0F Cáë{2Öë!.."Eá9". 001560 E1 31 41 E1 AF 32 E0 EB 32 DE EB 21 74 EB E5 79 á1Aá¯2àë2Þë!tëåy
["10 16 01 00 08 BD" is the serial number in both.]
The example above doesn't fall on neat xx00 [or page] boundaries because it was taken directly from an IMD file whose header length was not an even multiple of 16. [If the system is examined in memory or as correctly loaded into DDT, then the CCP and BDOS will start at "page" boundaries. Read the DRI manuals for details.]
Serial number in MOVCPM: You can either disable the check for serial number in MOVCPM, or you can change the embedded's CP/M S/N to match. But various MOVCPM's may have various coding; so I suggest you find the serial number, by finding it in the boot tracks as above, then look for it in SYSGEN.
The CP/M 2.2 generic MOVCPM patches to disable the CALLs to check the serial numbers are below. But again - your MOVCPM may be different!
ddt d:movcpm.com DDT VERS 2.2 NEXT PC 2700 0100 -s234 0234 C2 0 0235 5A 0 0236 02 0 0237 02 . -s2cb 02CB C2 0 02CC 5A 0 02CD 02 0 02CE 23 . -i64 *
Note from Herb Johnson: The start of the CCP and the BDOS on the boot tracks of a CP/M bootable diskette, is always at the beginning of a sector because that CP/M code is relocated at 256 byte intervals, and sectors are "always" a size of a multiple of 128 bytes. There is a CP/M-80 program called "DU.COM", or disk utility. It allows any CP/M system to look at disks by sector. You can use it to read raw file data in hexidecimal, and boot tracks as well. Almost any archive of early "shareware" CP/M programs will have DU.COM. - Herb Johnson
byte content 00 Mfg code 01 CP/M version, 0 = 1.3, 0x0e = 1.4, 0x14 = 2.0, 0x16 = 2.2 02 Some versions use this as high byte of Mfg code 03-05 Serial number - MSB first
Jeff reported: mfg hex dec DRI 0x00 0 Digital Research Inc. DSI 0x01 1 Digital Systems Inc. LeCroy 0xAA 170 CCS 0xB3 179 California Computer Systems SDS 0xBB 187 SD Systems XEROX 0x09 9 Xerox ???
As reported by Jeff Mar 2008 unless noted.
notation Files ending in .IMD are from Dave Dunfields site. Files ending in .CPT are from vgdisks.zip. Source unkown. Files starting with 4 digit number are from [Jeff Shook] archives. The 6 byte serial numbers are located in the CCP following the command table and at the start of the BDOS. Items preceded by * have known serial #. Serial # -------- Archive name--------- CP/M OEM and version manuf ver manuf serial # * 00 0E 00 00 05 0A 1409\MOVCPM.COM Digital Research CP/M 1.4 serial 0-1290 (50AH=1290) 00 0E 00 00 05 C1 9601\CPM14.COM Tarbell CP/M 1.4 * 00 14 00 00 07 30 1407\MOVCPM.COM DOSC CP/M 2.0 s/n 2-0-1840 (730H=1840) * 01 00 00 00 00 6A 1410\CPM16J.COM Digital Systems CP/M 16K Version DSI-3.5 Ser # 1-140 (6AH=106???) 02 16 00 00 11 01 x820\X820-1.IMD XEROX 820 CP/M 2.2 0E 0E 00 00 13 4A nscos\C145_54.IMD LifeBoat CP/M 1.45 NorthStar DD 0E 16 00 00 05 80 nscos\C223A_24.IMD LifeBoat CP/M 2.2 NorthStar 10 16 01 00 08 BD cpcp22\CCPM22.IMD Compupro CP/M 2.2 10 16 01 00 07 57 cpro8588\DISK2.IMD Compupro CP/M 2.2 14 16 00 00 01 81 cromcpm\CRCPM48.IMD Cromemco CP/M 2.2 14 16 00 00 06 97 9603\CPM.COM Tarbell CP/M 2.2 14 16 00 00 06 98 9605\CPM.COM Tarbell CP/M 2.2 1F 14 00 00 05 E3 vgdisks\VG01.CPT Vector Graphics CP/M 2.10 1F 16 00 00 19 82 vgdisks\VG03.CPT 1F 16 00 00 11 1F vgdisks\VG09.CPT VECTOR GRAPHIC 56K CP/M - VERSION 2.20 1F 0E 00 00 00 F0 vgdisks\VG13.CPT Vector Graphic 47k CP/M %1.42 26 16 01 00 00 00 x820iicp\X820IICP.IMD XEROX 820ii CP/M 2.2 29 0E 00 00 05 14 vgdisks\VG04.CPT CP/M ON VECTOR MZ 46K VERSION 1.411 29 16 00 00 01 21 vgdisks\VG07.CPT CP/M2 on Micropolis 24K Vers 2.20B (C) 1980 Lifeboat Associates 29 16 00 00 01 0A vgdisks\VG17.CPT CP/M2 on Micropolis 56K Vers 2.20B (C) 1980 Lifeboat Associates 8B 16 02 00 42 5E kayproii\KAYPRO1.IMD KAYPRO CP/M 2.2 8D 16 00 00 02 8C bigboard\BB1.IMD Ferguson BigBoard CP/M 2.2 8D 16 00 00 02 8C bigboard\BB2.IMD " A3 16 00 00 17 9A t80m2sys\CPM22.IMD TRS80 CP/M 2.2 AA 14 00 00 00 BE 1408\MOVCPM.COM LeCroy CP/M 2.0 * B3 14 00 00 02 2C 1404\MOVCCS20.COM CCS CP/M 2.0 sn 179-00556 (B3H=179, 22CH=556) * B3 16 00 00 0C 1F 1403\MOVCPM.COM CCS CP/M 2.2 for CCS 2422 s/n 179-3103 * BB 16 00 00 02 5C 1405\MOVCPM.COM JADE Computer Products CP/M 2.2 s/n 2-187-00604 (BBH=187, 25CH=604) E3 16 00 00 33 04 nscos\N2212.IMD Northstar CP/M 2.2 Release 2.2 [The following seem to have 2 byte Mfg codes] * 10 16 01 00 0B 9F cpcm22a\CPROCP22.IMD Compupro/Gifford CP/M 2.2 s/n 272-2975 (110H=272, B9FH=2975) * 67 16 02 00 00 8D 2208\CPM.SYS Advanced Digital Corp. CPM 2.2 SN # 615-00141 (0267H = 615, 8DH=141)
00 16 00 00 00 00 zorba\ZORBA1.IMD ZORBA CP/M 2.2 (BDOS 00 00 00 00 00 00) 02 02 12 0B 26 7A 01sdsys\O1CPMS.IMD Osborne 1 SD CP/M 2.2 s/n 05300950 03 16 03 00 A3 B5 01ddsys\O1CPM.IMD Osborne 1 DD 09 59 00 00 07 89 XEROX 1800 CP/M 2.2 CD 16 09 00 4E 6E n1100\N1100CPM.IMD Nabu 1100 CP/M 2.2
76 16 00 00 7D 7B (Kobe) NEC PC-8001 CP/M 2.2 Copyright (C) by Digital Research / NEC' 76 16 00 00 4E DB (Kobe) disk "JRT Pascal v3.0 (JRT Systems)" 56K "CP/M Version 2.2 (PC8001/8801 -2w)" C3 16 00 00 00 E5 (kobe) disk "Nevada COBOL rev2.1 (Ellis Computing)" "Digital Research / Microsoftware Associates, 1982.6" B8 16 03 00 7D 19 (kobe) disks "FORTRAN-80 (Microsoft)" and "Nevada FORTRAN v3.0 (MOD 0)" 2F 16 01 00 00 1F (besso) MICRO Design of Genova, Italy from Vector International N.V in Belgium (single density) 2F 16 01 00 00 08 (besso) MICRO Design of Genova, Italy from Vector International N.V in Belgium (double density or update) ?? Licensed to NEC Corporation, "56K CP/M for the PC-8801MK2"
Neo Kobe reports on July 2012: "NEC PC-8001 software, which happens to have a CP/M 2.2 version. Checking the disk image with a hex editor shows the 6 mfg/serial bytes in the CCP command table are: 76 16 00 00 7D 7B....in the start of the image [is]: '56K CP/M Version 2.2 (for NEC PC-8001) Copyright (C) by Digital Research / NEC'." Kobe provided other serial numbers as shown above. His sources were diskette images made available by Japanese owners of CP/M systems. - Herb
Salvatore Besso of Italy, Sept 2017: "The local vendor was the now defunct "MICRO design" located in Genova, Italy; they signed an agreement with Vector International N.V. located in Leuveen, Belgium (that was the European distributor of Digital Research for the time being). This agreement allowed "MICRO design" to serialize and sell CP/M copies in Italy. And so I bought it, circa 1981, but I'm not sure about the exact year." He later noted the vendor sent an update disk from CP/M 2.2 to 2.25.
Single density 5.25" copy reads 2F 16 01 00 00 1F
Double density 5.25" copy reads 2F 16 01 00 00 08
Contact information:
Copyright © 2017 Herb Johnson. COntent by Jeffrey W. Shook copyrighted as noted