I’m a new user to the MFM reader/emulator board and I’ve got many questions. I'll start with the first few. I have experience with floppy disk
imaging and data extraction, but this is the first time I try on hard
disks.
Currently, I'm trying to read and decode a ST-506 hard disk that is controlled by a Xebec 1410 in the
computer. The computer can support multiple OS like CPM and Prologue and
I’m trying to figure out what is on this disk (access fails from the computer).
Apparently, this disk has many issues and the automatic analysis doesn’t work.
My understanding is that in this situation, the approach is to :
I first did a raw read (I have previously calibrated the hard disk to 3600 RPM) :
mfm_read --drive 1 --transitions_file transitions-micral9050
Since the automatic analysis was failing, I did try the analysis on
specific sectors and I finally got a working sector (cylinder 2 and head
2):
$ mfm_util --tran transitions-micral9050 --ana=0,2
Original decode arguments: --heads 4 --cylinders 153 --sector_length 512 --retries 50,4 --drive 1
Primary transition period 210 ns, should be around 200
Found matching format Xebec_104527_C0_256B: good count difference -7
First logical sector 31
Number of heads 4 number of sectors 32 first sector 0
Interleave (not checked): 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31
The found
Xebec_104527_C0_256B is consistent with the actual controller.
First questions:
I did try to reread the disk with the right parameters. Strangely,
for this Xebec format, mfm_read forces me to still use the analyze mode.
What is the reason for this ?
Fortunately, now that I found a good track, I could tell mfm_read to look at this track.
sudo /opt/mfm/mfm/mfm_read --analyze=0,2 --retries 50,4 --drive 1
--format Xebec_104527_C0_256B --sectors 32,0 --heads 4 --cylinders 153
--header_crc 0x0,0xa00805,32,2 --data_crc 0x0,0xa00805,32,2
--sector_length 256 --tran transitions-micral9050 --extracted_data_file
micral9050.img |& tee micral9050.txt
What is strange is that the --retries option seems to operate only for
track 0. There doesn't seem to be any retry for other tracks.
I get errors for other tracks and it goes very fast, errors like this:
Bad sectors on cylinder 147 head 3: 0H 1H 2H 3H 4H
5H 6H 7H 8H 9H 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 20H 21H 22H 23H
24H 25H 26H 27H 28H 29H 30H 31H
Retries failed cyl 148 head 0
For example, if I set --retry 500,4 the process is slow on track 0
but still goes very fast for the rest of the hard disk (like when I just
request the transition file)
Am I missing something ?
At the end, I get this report:
Found cyl 0 to 53, head 0 to 3, sector 0 to 31
Expected cyls 153 doesn't match cyls found 54
Expected 19584 sectors got 69 good sectors, 19427 bad header, 88 bad data
0 sectors marked bad or spare
99 sectors corrected with ECC. Max bits in burst corrected 2
Track read time in ms min 24.069375 max 1106.281833 avg 65.199323
What does it mean that it found 54 cylinders ?
William Stillwell
Thanks David for this information. I'm going to investigate the half step mode.
I did try to reread the disk with the right parameters. Strangely, for this Xebec format, mfm_read forces me to still use the analyse mode.
What is the reason for this ?
Fortunately, now that I found a good track, I could tell mfm_read to look at this track.
sudo /opt/mfm/mfm/mfm_read --analyze=0,2 --retries 50,4 --drive 1 --format Xebec_104527_C0_256B --sectors 32,0 --heads 4 --cylinders 153 --header_crc 0x0,0xa00805,32,2 --data_crc 0x0,0xa00805,32,2 --sector_length 256 --tran transitions-micral9050 --extracted_data_file micral9050.img |& tee micral9050.txt
What is strange is that the --retries option seems to operate only for track 0. There doesn't seem to be any retry for other tracks.
I get errors for other tracks and it goes very fast, errors like this:
Bad sectors on cylinder 147 head 3: 0H 1H 2H 3H 4H 5H 6H 7H 8H 9H 10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 20H 21H 22H 23H 24H 25H 26H 27H 28H 29H 30H 31H
Retries failed cyl 148 head 0
For example, if I set --retry 500,4 the process is slow on track 0 but still goes very fast for the rest of the hard disk (like with I just request the transition file)
Am I missing something ?
At the end, I get this report:
Found cyl 0 to 53, head 0 to 3, sector 0 to 31
Expected cyls 153 doesn't match cyls found 54
Expected 19584 sectors got 69 good sectors, 19427 bad header, 88 bad data
0 sectors marked bad or spare
99 sectors corrected with ECC. Max bits in burst corrected 2
Track read time in ms min 24.069375 max 1106.281833 avg 65.199323
What does it mean that it found 54 cylinders ?
--
You received this message because you are subscribed to the Google Groups "MFM Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mfm-discuss...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mfm-discuss/0f13a21b-b3e2-4306-99c9-ff4d55437727n%40googlegroups.com.