Richard,
The process isn't hard, but you need to know a bit about the TD0 file you are going to work with.
The SYDEX Software Teledisk's file can be viewed with any HEX Editor to see if it's Normal (TD) or
Advanced (td) compression by the text in the Header. Byte 5 is supposed to clue you into the version
that created the TD0 file. But, I typically fine 15 in those bytes for Version 1.5. It seems to not display
exactly what it should. For the file you referenced it is Normal Compression and maybe Version 1.5 ???.
John Elliott's libdsk has "dskid" and "dskscan" available to tell you more about the TD0 file. You can
use "man dskid" and "man dskscan". "dskscan -types" and "dskscan -formats" will tell you what formats
are defined in the /home/usr/.libdskrc file. (You can add as many as you want.)q
Here is what I got for your TD0 file:
[code]$ dskid -type tele WORD125.TD0
WORD125.TD0:
Driver: TeleDisk file driver
Sidedness: Alt
Cylinders: 70
Heads: 1
Sectors: 17
First sector: 0
Sector size: 256
Data rate: SD
Record mode: MFM
Complement: No
R/W gap: 0x2a
Format gap: 0x52
Drive status: 0x20
Comment: [2006-09-26T16:52:18] WORD/125 FOR HP 120 AND 125 [/code]
Notice that it is 70 tracks, 1 side, 256 bytes per sector, 17 sectors per track, First sector number is ZERO,
it's MFM, and not complemented Data. Right away the 17 sectors per track seem VERY ODD as most are
even numbers for sectors above 10. Creating a dump of the sectors lets you see that a random sector is
missing from the TD0 file. That alerts you to the possibility of a corrupt image because of hardware problems.
[code]$ dskid -type tele WORD125.TD0 > WORD125.TXT
$ gedit WORD125.TXT[/code]
Here are the missing sectors: [code]
Cylinder 0 Head 0:
Data rate: 250
Encoding: mfm
Cyl 00 Head 0 Sec 0 size 256
Cyl 00 Head 0 Sec 8 size 256
Cyl 00 Head 0 Sec 3 size 256
Cyl 00 Head 0 Sec 11 size 256
Cyl 00 Head 0 Sec 6 size 256
Cyl 00 Head 0 Sec 14 size 256
Cyl 00 Head 0 Sec 1 size 256
Cyl 00 Head 0 Sec 9 size 256
Cyl 00 Head 0 Sec 4 size 256
Cyl 00 Head 0 Sec 12 size 256
Cyl 00 Head 0 Sec 7 size 256
Cyl 00 Head 0 Sec 15 size 256
Cyl 00 Head 0 Sec 2 size 256
Cyl 00 Head 0 Sec 10 size 256
Cyl 00 Head 0 Sec 5 size 256
Cyl 00 Head 0 Sec 13 size 256
Cyl 00 Head 0 Sec 17 size 128
Cylinder 0 Head 1:
Found nothing
Cylinder 1 Head 0:
Data rate: 250
Encoding: mfm
Cyl 01 Head 0 Sec 7 size 256
Cyl 01 Head 0 Sec 15 size 256
Cyl 01 Head 0 Sec 2 size 256
Cyl 01 Head 0 Sec 10 size 256
Cyl 01 Head 0 Sec 5 size 256
Cyl 01 Head 0 Sec 13 size 256
Cyl 01 Head 0 Sec 0 size 256
Cyl 01 Head 0 Sec 8 size 256
Cyl 01 Head 0 Sec 3 size 256
Cyl 01 Head 0 Sec 11 size 256
Cyl 01 Head 0 Sec 6 size 256
Cyl 01 Head 0 Sec 14 size 256
Cyl 01 Head 0 Sec 1 size 256
Cyl 01 Head 0 Sec 9 size 256
Cyl 01 Head 0 Sec 4 size 256
Cyl 01 Head 0 Sec 12 size 256
Cyl 01 Head 0 Sec 17 size 128
Cylinder 1 Head 1:
Found nothing
Cylinder 2 Head 0:
Data rate: 250
Encoding: mfm
Cyl 02 Head 0 Sec 6 size 256
Cyl 02 Head 0 Sec 14 size 256
Cyl 02 Head 0 Sec 1 size 256
Cyl 02 Head 0 Sec 9 size 256
Cyl 02 Head 0 Sec 4 size 256
Cyl 02 Head 0 Sec 12 size 256
Cyl 02 Head 0 Sec 7 size 256
Cyl 02 Head 0 Sec 15 size 256
Cyl 02 Head 0 Sec 2 size 256
Cyl 02 Head 0 Sec 10 size 256
Cyl 02 Head 0 Sec 5 size 256
Cyl 02 Head 0 Sec 13 size 256
Cyl 02 Head 0 Sec 0 size 256
Cyl 02 Head 0 Sec 8 size 256
Cyl 02 Head 0 Sec 3 size 256
Cyl 02 Head 0 Sec 11 size 256
Cyl 02 Head 0 Sec 17 size 128
Cylinder 2 Head 1:
Found nothing
Cylinder 3 Head 0:
Data rate: 250
Encoding: mfm
Cyl 03 Head 0 Sec 5 size 256
Cyl 03 Head 0 Sec 13 size 256
Cyl 03 Head 0 Sec 0 size 256
Cyl 03 Head 0 Sec 8 size 256
Cyl 03 Head 0 Sec 3 size 256
Cyl 03 Head 0 Sec 11 size 256
Cyl 03 Head 0 Sec 6 size 256
Cyl 03 Head 0 Sec 14 size 256
Cyl 03 Head 0 Sec 1 size 256
Cyl 03 Head 0 Sec 9 size 256
Cyl 03 Head 0 Sec 4 size 256
Cyl 03 Head 0 Sec 12 size 256
Cyl 03 Head 0 Sec 7 size 256
Cyl 03 Head 0 Sec 15 size 256
Cyl 03 Head 0 Sec 2 size 256
Cyl 03 Head 0 Sec 10 size 256
Cyl 03 Head 0 Sec 17 size 128
Cylinder 3 Head 1:
[/code]
So, It appears that this TD0 was read with faulty Hardware. No sector 16 for any Track.
Internet searches for HP software located a second copy named 100-word.td0 (.imd and .bin)
[url]https://oldcomputers-ddns.org/public/pub/archiv/maslin/masl-dsk/imd/index.html[/url]
Perhaps this is a good copy, and dskid should be used to verify it's status.
HP125 Diskdefs are located at: [url]https://oldcomputers-ddns.org/public/pub/archiv/maslin/masl-dsk/images-97/hp/index.html[/url]
I've grabbed those 22DISK definitions and conjured up cpmtools and libdsk definitions (altered 22DISK no comma 2 places)
[code]
BEGIN HEW1 Hewlett-Packard HP86/87/120/125 - DSDD 48 tpi 5.25" - 256x16 DENSITY MFM LOW
CYLINDERS 40 SIDES 2 SECTORS 16 256 SKEW 4
SIDE1 0 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
SIDE2 1 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
ORDER SIDES
BSH 3 BLM 7 EXM 0 DSM 251 DRM 127 AL0 0F0H AL1 0 OFS 3
END
# HEW1 Hewlett-Packard HP86/87/120/125 - DSDD 48 tpi 5.25" - 256x16
diskdef hew1
seclen 256
tracks 80
sectrk 16
secbase 0
blocksize 1024
maxdir 128
skew 1
boottrk 3
os 2.2
end
[hew1]
description = HEW1 Hewlett-Packard HP86/87/120/125 - DSDD 48 tpi 5.25" - 256x16
sides = alt
cylinders = 80
heads = 2
secsize = 256
sectors = 16
secbase = 0
datarate = DD
BEGIN HEW3 Hewlett Packard HP 125 - SSDD 3.5" - 256 x 16
DENSITY MFM LOW
CYLINDERS 66 SIDES 1 SECTORS 16 256 SKEW 6
SIDE1 0 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
label hew3
BSH 3 BLM 7 EXM 0 DSM 251 DRM 127 AL0 0F0H AL1 0 OFS 3
END
# HEW3 Hewlett Packard HP 125 - SSDD 3.5" - 256 x 16
diskdef hew3
seclen 256
tracks 70
sectrk 16
secbase 0
blocksize 1024
maxdir 128
skew 1
boottrk 2
os 2.2
end
[hew3]
description = HEW3 Hewlett Packard HP 125 - SSDD 3.5" - 256 x 16
cylinders = 66
heads = 1
secsize = 256
sectors = 16
secbase = 0
[/code]
Now you have a starting point for the cpmtools and libdsk definitions.
Larry
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 307 |
Nodes: | 16 (2 / 14) |
Uptime: | 67:23:59 |
Calls: | 6,915 |
Files: | 12,379 |
Messages: | 5,431,811 |