gslick
Veteran Member
Ok, I finally got most of this working. I must have done something wrong when I created a new CP/M floppy on my HP-86B and then dumped the sectors to take a look. I think I used the 3.5-inch drive on my 9133H and maybe that ended up creating a double sided floppy and I only dumped the sectors from one side assuming the physical format would be the same as with the 9121 3.5-inch format. Maybe that's why I couldn't find the CP/M directory when I dumped the raw sectors.
I went back to the original Teledisk image format I downloaded from hpmuseum.net HP87CPM.TD0. Then I used ImageDisk TD02IMD.COM to convert that to HP87CPM.IMD.
C:\ImageDisk\TD02IMD.COM HP87CPM.TD0
TD 1.5 5.25-96 LD MFM D-step, 2 sides 29/10/2003 11:46:21
HP87 CP/M SYSTEM
32/1: CRC error (bad sector)
33/1: Duplicate sector numbers
33/1: CRC error (bad sector)
34/1: CRC error (bad sector)
72 tracks, 1134 sectors converted.
Then I used ImageDisk IMDU.COM to convert the ImageDisk format image file to a raw sector file, while excluding the extra two tracks which I don't believe contain valid data. This resulted in a 270,336 byte HP87CPM.DSK image file.
C:\ImageDisk\IMDU.COM HP87CPM.IMD HP87CPM.DSK /B X=33,34
IMageDisk Utility 1.18 / Mar 07 2012
IMD TD 1.5 5.25-96 LD MFM D-step, 2 sides 29/10/2003 11:46:21
HP87 CP/M SYSTEM
Assuming 1:1 for Binary output
0/0 250 kbps DD 16x256
33/1 250 kbps DD 31x256
34/0 250 kbps DD 16x256
34/1 250 kbps DD 15x256
70 tracks(35/35), 1134 sectors (907 Compressed, 4 Bad)
Then with that HP87CPM.DSK disk image file I could use Cpmtools 2.9 http://www.cpm8680.com/cpmtools/index.htm to access the contents of the CP/M file system contained in that disk image file.
Here is a new entry I added in my local copy of cpmtools diskdefs. I think these values are correct for the HP 86B CP/M:
diskdef hp87cpm
seclen 256
tracks 66
sectrk 16
blocksize 1024
maxdir 128
skew 0
boottrk 3
os 2.2
end
C:\cpmtools>cpmls -f hp87cpm -l HP87CPM.DSK
0:
-rwxrwxrwx 8192 Dec 31 1969 asm.com
-rwxrwxrwx 4864 Dec 31 1969 ddt.com
-rw-rw-rw- 4224 Dec 31 1969 dump.asm
-rwxrwxrwx 512 Dec 31 1969 dump.com
-rwxrwxrwx 6656 Dec 31 1969 ed.com
-rwxrwxrwx 2944 Dec 31 1969 format.com
-rwxrwxrwx 1792 Dec 31 1969 load.com
-rwxrwxrwx 7424 Dec 31 1969 pip.com
-rwxrwxrwx 5248 Dec 31 1969 stat.com
-rwxrwxrwx 1280 Dec 31 1969 submit.com
-rwxrwxrwx 768 Dec 31 1969 xsub.com
You can use cpmcp to copy files from and to the disk image.
C:\cpmtools>cpmcp -f hp87cpm HP87CPM.DSK 0:dump.asm dump.asm
C:\cpmtools>type dump.asm
; FILE DUMP PROGRAM, READS AN INPUT FILE AND PRINTS IN HEX
;
; COPYRIGHT (C) 1975, 1976, 1977, 1978
; DIGITAL RESEARCH
; BOX 579, PACIFIC GROVE
; CALIFORNIA, 93950
;
I also finally got an old Windows XP system setup with HPDrive to emulate HPIB disks and was able to boot the HP 86B CP/M from the HP87CPM.DSK file loaded in a emulated drive.
HPDrive uses 286,720 byte files for this floppy disk size so I added back 16KB of 0xDB fill bytes to the end of the 270,336 byte HP87CPM.DSK image file to make up for the 2 tracks that I stripped off earlier.
I was also able to use cpmcp to copy a file into the disk image and then with that image loaded in HPDrive the new file showed up as expected when accessing that emulated disk from the real HP 86B system.
I wasn't able to use the format command on the HP 86B system to create a new CP/M disk on an emulated HPDrive disk. Something doesn't seem quite right with the emulated formatting operations on the HPDrive system and it fails with an error. The plain HP 86B INITIALIZE command also fails on an emulated HPDrive disk.
-Glen
I went back to the original Teledisk image format I downloaded from hpmuseum.net HP87CPM.TD0. Then I used ImageDisk TD02IMD.COM to convert that to HP87CPM.IMD.
C:\ImageDisk\TD02IMD.COM HP87CPM.TD0
TD 1.5 5.25-96 LD MFM D-step, 2 sides 29/10/2003 11:46:21
HP87 CP/M SYSTEM
32/1: CRC error (bad sector)
33/1: Duplicate sector numbers
33/1: CRC error (bad sector)
34/1: CRC error (bad sector)
72 tracks, 1134 sectors converted.
Then I used ImageDisk IMDU.COM to convert the ImageDisk format image file to a raw sector file, while excluding the extra two tracks which I don't believe contain valid data. This resulted in a 270,336 byte HP87CPM.DSK image file.
C:\ImageDisk\IMDU.COM HP87CPM.IMD HP87CPM.DSK /B X=33,34
IMageDisk Utility 1.18 / Mar 07 2012
IMD TD 1.5 5.25-96 LD MFM D-step, 2 sides 29/10/2003 11:46:21
HP87 CP/M SYSTEM
Assuming 1:1 for Binary output
0/0 250 kbps DD 16x256
33/1 250 kbps DD 31x256
34/0 250 kbps DD 16x256
34/1 250 kbps DD 15x256
70 tracks(35/35), 1134 sectors (907 Compressed, 4 Bad)
Then with that HP87CPM.DSK disk image file I could use Cpmtools 2.9 http://www.cpm8680.com/cpmtools/index.htm to access the contents of the CP/M file system contained in that disk image file.
Here is a new entry I added in my local copy of cpmtools diskdefs. I think these values are correct for the HP 86B CP/M:
diskdef hp87cpm
seclen 256
tracks 66
sectrk 16
blocksize 1024
maxdir 128
skew 0
boottrk 3
os 2.2
end
C:\cpmtools>cpmls -f hp87cpm -l HP87CPM.DSK
0:
-rwxrwxrwx 8192 Dec 31 1969 asm.com
-rwxrwxrwx 4864 Dec 31 1969 ddt.com
-rw-rw-rw- 4224 Dec 31 1969 dump.asm
-rwxrwxrwx 512 Dec 31 1969 dump.com
-rwxrwxrwx 6656 Dec 31 1969 ed.com
-rwxrwxrwx 2944 Dec 31 1969 format.com
-rwxrwxrwx 1792 Dec 31 1969 load.com
-rwxrwxrwx 7424 Dec 31 1969 pip.com
-rwxrwxrwx 5248 Dec 31 1969 stat.com
-rwxrwxrwx 1280 Dec 31 1969 submit.com
-rwxrwxrwx 768 Dec 31 1969 xsub.com
You can use cpmcp to copy files from and to the disk image.
C:\cpmtools>cpmcp -f hp87cpm HP87CPM.DSK 0:dump.asm dump.asm
C:\cpmtools>type dump.asm
; FILE DUMP PROGRAM, READS AN INPUT FILE AND PRINTS IN HEX
;
; COPYRIGHT (C) 1975, 1976, 1977, 1978
; DIGITAL RESEARCH
; BOX 579, PACIFIC GROVE
; CALIFORNIA, 93950
;
I also finally got an old Windows XP system setup with HPDrive to emulate HPIB disks and was able to boot the HP 86B CP/M from the HP87CPM.DSK file loaded in a emulated drive.
HPDrive uses 286,720 byte files for this floppy disk size so I added back 16KB of 0xDB fill bytes to the end of the 270,336 byte HP87CPM.DSK image file to make up for the 2 tracks that I stripped off earlier.
I was also able to use cpmcp to copy a file into the disk image and then with that image loaded in HPDrive the new file showed up as expected when accessing that emulated disk from the real HP 86B system.
I wasn't able to use the format command on the HP 86B system to create a new CP/M disk on an emulated HPDrive disk. Something doesn't seem quite right with the emulated formatting operations on the HPDrive system and it fails with an error. The plain HP 86B INITIALIZE command also fails on an emulated HPDrive disk.
-Glen