Jump to content
mizapf

Need .hfe formatted by HFDC

Recommended Posts

 

HxC I have said that about 4 times, plus posted a video :)

Sorry, at work, so no time to look back, I really just glance, speed read and save the page for reference later.

  • Like 1

Share this post


Link to post
Share on other sites

Last night I tried repeatedly to format, in various ways, with various settings, setting the switches to various positions, and even tried the above settings that I used the night before to no avail. I then tried a CorComp controller and successfully formatted one, then went back to the HFDC and tried to read it, was successful, but then tried to format it and ran into the 'brick wall'. Kept getting the error message about media.

Share this post


Link to post
Share on other sites

Last night I tried repeatedly to format, in various ways, with various settings, setting the switches to various positions, and even tried the above settings that I used the night before to no avail. I then tried a CorComp controller and successfully formatted one, then went back to the HFDC and tried to read it, was successful, but then tried to format it and ran into the 'brick wall'. Kept getting the error message about media.

 

Same symptoms I had, except I went back with a the Myarc FDC which is not to be confused with the Myarc HFDC. The FDC formatted the image fine while the HFDC would not.

 

Beery

Share this post


Link to post
Share on other sites

i'm trying to figure out 'What changed' I was able to format one(at least to verify) with the settings shown in the picture above, but not last night...hmm..

Share this post


Link to post
Share on other sites

Here are Beery's Kyroflux images and converted HFE files for the HFDC formatted floppy.

 

I've also attached how track 0 (side 0 and 1) look in the HxC track explorer view. Side 0 has 17 sectors in it, and side 1 looks a wee bit strange. Jeff will have to chime in.

beery.zip

beery2.zip

post-22866-0-70009400-1526076557_thumb.jpg

post-22866-0-32806000-1526076566_thumb.jpg

  • Like 1

Share this post


Link to post
Share on other sites

This is what I get from my tool. But if that is actually a HFDC-formatted disk, which I won't doubt, it means that my implementation is correct: The data marks are all 0xF8, which normally means "deleted data" (instead of 0xFE). This is very likely a bug in the HFDC, a misinterpretation of the meaning of the bit in the command, or an error in the specification.

 

 

[email protected]:~/mame/ti/util> java AnalyseHFE beery.hfe 0 0 sect
Track analysis:
   Recording = MFM
   Sample rate = 249 kHz
0008: Gap 1 (562*4e)
023a: Sync (12*00)
0246: IDAM
      Track 0, head 0, sector 0, size 256
      Header CRC = c93d (OK)
0250: Gap 2 (36*05)
0274: DDAM
0278: 48 46 44 43 46 4f 52 4d 41 54 05 a0 12 44 53 4b   HFDCFORMAT...DSK
      20 28 02 02 00 00 00 00 00 00 00 00 00 00 00 00    (..............
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 ff ff ff ff   ................
      ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff   ................
      Data CRC = a718 (OK)
037a: Gap 3 (31*e1)
0399: IDAM
      Track 0, head 0, sector 6, size 256
      Header CRC = 639b (OK)
03a3: Gap 2 (22*4e)
03b9: Sync (12*00)
03c5: DDAM
03c9: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
04cb: Gap 3 (20*4e)
04df: Sync (12*00)
04eb: IDAM
      Track 0, head 0, sector 12, size 256
      Header CRC = 8c50 (OK)
04f5: Gap 2 (22*4e)
050b: Sync (12*00)
0517: DDAM
051b: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
061d: Gap 3 (20*4e)
0631: Sync (12*00)
063d: IDAM
      Track 0, head 0, sector 1, size 256
      Header CRC = fa0c (OK)
0647: Gap 2 (36*f0)
066b: DDAM
066f: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00   ................
      Data CRC = a09a (OK)
0771: Gap 3 (31*14)
0790: IDAM
      Track 0, head 0, sector 7, size 256
      Header CRC = 50aa (OK)
079a: Gap 2 (22*4e)
07b0: Sync (12*00)
07bc: DDAM
07c0: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
08c2: Gap 3 (20*4e)
08d6: Sync (12*00)
08e2: IDAM
      Track 0, head 0, sector 13, size 256
      Header CRC = bf61 (OK)
08ec: Gap 2 (22*4e)
0902: Sync (12*00)
090e: DDAM
0912: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
0a14: Gap 3 (20*4e)
0a28: Sync (12*00)
0a34: IDAM
      Track 0, head 0, sector 2, size 256
      Header CRC = af5f (OK)
0a3e: Gap 2 (22*4e)
0a54: Sync (12*00)
0a60: DDAM
0a64: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
0b66: Gap 3 (20*4e)
0b7a: Sync (12*00)
0b86: IDAM
      Track 0, head 0, sector 8, size 256
      Header CRC = 4094 (OK)
0b90: Gap 2 (22*4e)
0ba6: Sync (12*00)
0bb2: DDAM
0bb6: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
0cb8: Gap 3 (20*4e)
0ccc: Sync (12*00)
0cd8: IDAM
      Track 0, head 0, sector 14, size 256
      Header CRC = ea32 (OK)
0ce2: Gap 2 (22*4e)
0cf8: Sync (12*00)
0d04: DDAM
0d08: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
0e0a: Gap 3 (20*4e)
0e1e: Sync (12*00)
0e2a: IDAM
      Track 0, head 0, sector 3, size 256
      Header CRC = 9c6e (OK)
0e34: Gap 2 (22*4e)
0e4a: Sync (12*00)
0e56: DDAM
0e5a: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
0f5c: Gap 3 (20*4e)
0f70: Sync (12*00)
0f7c: IDAM
      Track 0, head 0, sector 9, size 256
      Header CRC = 73a5 (OK)
0f86: Gap 2 (22*4e)
0f9c: Sync (12*00)
0fa8: DDAM
0fac: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
10ae: Gap 3 (20*4e)
10c2: Sync (12*00)
10ce: IDAM
      Track 0, head 0, sector 15, size 256
      Header CRC = d903 (OK)
10d8: Gap 2 (22*4e)
10ee: Sync (12*00)
10fa: DDAM
10fe: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
1200: Gap 3 (20*4e)
1214: Sync (12*00)
1220: IDAM
      Track 0, head 0, sector 4, size 256
      Header CRC = 05f9 (OK)
122a: Gap 2 (22*4e)
1240: Sync (12*00)
124c: DDAM
1250: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
1352: Gap 3 (20*4e)
1366: Sync (12*00)
1372: IDAM
      Track 0, head 0, sector 10, size 256
      Header CRC = 26f6 (OK)
137c: Gap 2 (22*4e)
1392: Sync (12*00)
139e: DDAM
13a2: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
14a4: Gap 3 (20*4e)
14b8: Sync (12*00)
14c4: IDAM
      Track 0, head 0, sector 16, size 256
      Header CRC = ca4e (OK)
14ce: Gap 2 (22*4e)
14e4: Sync (12*00)
14f0: DDAM
14f4: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
15f6: Gap 3 (20*4e)
160a: Sync (12*00)
1616: IDAM
      Track 0, head 0, sector 5, size 256
      Header CRC = 36c8 (OK)
1620: Gap 2 (22*4e)
1636: Sync (12*00)
1642: DDAM
1646: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      Data CRC = 399f (OK)
1748: Gap 3 (20*4e)
175c: Sync (12*00)
1768: IDAM
      Track 0, head 0, sector 11, size 256
      Header CRC = 15c7 (OK)
1772: Gap 2 (22*4e)
1788: Sync (12*00)
1794: DDAM
1798: e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5 e5   ................
      e5 e5 e5 e5 e5 e5 e5 e5 e5 e5                     ..........
  • Like 1

Share this post


Link to post
Share on other sites

Here are Beery's Kyroflux images and converted HFE files for the HFDC formatted floppy.

 

I've also attached how track 0 (side 0 and 1) look in the HxC track explorer view. Side 0 has 17 sectors in it, and side 1 looks a wee bit strange. Jeff will have to chime in.

 

I have fixed the KF Stream loader. this one was broken since a month.

 

The dump is fine :

 

HFDC1.png

 

 

But the bitrate is not quite 250000.

 

HFDC2.png

 

 

7.6us instead of 8us. And the lower part at 4us show something that look like an write compensation effect. unless the flux reversals on the disk are migrating...

  • Like 2

Share this post


Link to post
Share on other sites

 

I have fixed the KF Stream loader. this one was broken since a month.

 

The dump is fine :

 

HFDC1.png

 

 

But the bitrate is not quite 250000.

 

HFDC2.png

 

 

7.6us instead of 8us. And the lower part at 4us show something that look like an write compensation effect. unless the flux reversals on the disk are migrating...

The disk image above is a freshly written image; it only went through the postal system first before I read it with the Kyroflux. :-)

Share this post


Link to post
Share on other sites

OK, after all this. Does any of the information learned explain why a Myarc HFDC can not format successfully a Hxc Lotharek DS/DD disk image?

 

Did the Myarc Eprom DSR have a bug that impacts formatting an image file?

 

On the last note, did anyone ever have the source code for the Myarc HFDC eprom? I know we have the source for MDM5, but what about the source for the eprom?

Beery

Share this post


Link to post
Share on other sites

As a DS/DD diskette. The Kyroflux details Jon posted are from my diskette. I'm wondering if what Michael learned about the mixup in bits is potentially the cause for the Lotharek image not being able to be formatted. Or, if there was something else at issue.

Beery

Share this post


Link to post
Share on other sites

OK, after all this. Does any of the information learned explain why a Myarc HFDC can not format successfully a Hxc Lotharek DS/DD disk image?

 

Did the Myarc Eprom DSR have a bug that impacts formatting an image file?

 

On the last note, did anyone ever have the source code for the Myarc HFDC eprom? I know we have the source for MDM5, but what about the source for the eprom?

Beery

 

Source is available to the HFDC eprom though it might be version 12 which introduced a bug in some of the cluster calculations. That wouldn't matter for your formatting endeavor and I believe the format code is relatively self contained.

Share this post


Link to post
Share on other sites

 

Source is available to the HFDC eprom though it might be version 12 which introduced a bug in some of the cluster calculations. That wouldn't matter for your formatting endeavor and I believe the format code is relatively self contained.

 

Is the source on whtech? I looked a week or so ago, and did not see it.

Beery

Share this post


Link to post
Share on other sites

 

Is the source on whtech? I looked a week or so ago, and did not see it.

Beery

It used to be out there as a disk image. whtech could use a cleanup and imho, a structure that doesn't follow image types and emulators as a primary means of categorization. But I digress. I'll hunt it down for you.

Share this post


Link to post
Share on other sites

 

Is the source on whtech? I looked a week or so ago, and did not see it.

Beery

The attached source should be for V12 if the file "H12EPRMFIX" refers to the files on this disk image. The message originated on GEnie - maybe you have it in your archives? There is a noted problem with both the cluster allocations and floppy formatting, the latter may or may no be related to this thread...

 

 

 

 

Press <RETURN>?

 

GEnie MAI

L Page 200

GE Ma

il

 

1. Display Queue of GE Mail Letters

2. Read (List) GE Mail

3. Read (List) All Letters in your Ma

ilbox

4. Read (List) Letters From Specific

User

5. Read (List) Letters From Specific

Date

6. Compose and Send GE Mail Online

7. Upload a Text Letter

8. Search GE Mail Directory

9. GE Mail Command Mode

10. About GE Mail

11. Send (Upload) Attached Files

12. Receive (Download) Attached Files

13. Change GE Mail Directory Status

 

Enter #, <P>revious, or <H>elp? 5

 

This allows you to list your mail since

a specific date. Please enter a date

in YYMMDD format, or hit <RETURN> to ret

urn to the menu.

Enter date (YYMMDD)? 940116

 

No letters waiting

 

Item forwarded by BW.MILLER to T.TE

SCH1

 

Item 7781293 94/01/16

22:04

 

From: BW.MILLER

Beery W. Miller

 

To: BW.MILLER

Beery W. Miller

[email protected]@INET#

Internet Gateway

 

Sub: HFDC Bug

 

Brad, a user left me a message regarding

the HFDC bug that he found in V12

of the eprom. The fix and description i

s below:

 

GEmail

Item 0545699 94/01/1

6 19:56

 

From: [email protected]@INTERNET#

 

To: BW.MILLER

Beery W. Miller

 

Sub: HFDCC fix

 

From [email protected] Mon Jan 17 0

0:34:32 1994

Received: from wyrm.cc.uow.edu.au by re

lay2.geis.com with SMTP

(1.37.109.4/15.6) id AA18745; Mon, 17 J

an 94 00:34:32 GMT

Return-Path: <[email protected]>

Received: from ms-gw.uow.edu.au (ms-gw.

uow.edu.au [130.130.68.33]) by

wyrm.cc.

uow.edu.au (8.6.4/8.6.4) with SMTP id L

AA02412 for

<[email protected]>;

Mon, 17 Jan 1994 11:34:26 +1100

Message-Id: <[email protected]

.cc.uow.edu.au>

Date: 17 Jan 1994 11:32:53 U

From: "Geoff Trott" <[email protected]

u.au>

Subject: HFDCC fix

To: "Beery Miller" <[email protected]

s.com>

 

Myarc Hard and Floppy Disk Controller Card Bug

by Geoff Trott

 

I identified a bug in the HFDCC DSR in its handling of fractured files on floppy disks some time ago. Itried to find the problem by disassembling the DSR ROMs and examining the code but this was always going to be a long job. In the meantime, Rolf and I sent some money to Beery Miller to help with his buy out of the software from Myarc and asked him if there were the sources for the HFDCC. In due time he sent three disks, one of which contained the desired sources. A fter a bit of work, I managed to assemble a version which agreed with the contents of my EPROM (version 12) and then started to look for likely spots for the bug, with the benefit of names and comments.

 

I found the problem rather quickly in the first page of the DSR. The way Myarc did the HFDCC, was to have addresses >4000 to >4FBF for the DSR (just less than 4 Kby tes), >4FC0 to >4FFF for memory mapped I/O, and >5000 to >5FFF for paged RAM in the DSR address space. The DSR code is 16 Kbytes large and so is made up of four 4 Kbyte pages and resides in a 27128 EPROM. In the first page, there are routines for deleting files. As part of these, the routines must read the file control block (FCB) and identify the sectors that are in use by the file. If the file is fragmented, they must pick out the correct sectors to be freed in the bitmap in sector 0 (the vo lume information block).

When a file is re-written, as in the editor, it must do this by first deleting the file and then writin g the file to the sectors which are freed up in the bitmap by the delete process. If the wrong sectors are freed in the delete process, real problems arise with fragmented files, as data is written into sectors which are still in use by other files ( the reason files are fragmented in the first place is because there are other files in the way). This is where the problemwas. In fact there were two problems and its behaviour was far worse than I had originally thought. The fix was quite easy and I will show you with the actual code extract below. (This is located in a file called WIND3/S on the disk I received, near the end of the file.)

 

ATTOP MOV @@FNLOCF(R3),@@STRTSR saveptr to first FCB

ATTOP1

MOV R9,R6 get ptr inR6

ABS @@WDSFIL

JEQ ATTOP2

BLWP @@GETVIB

JEQ FRSER0 error

AI R6,CLUSTR R6 containsaddress of byte

CLR R10 R10 is thesize to date

LI R5,76 76 clusters maximum

FNTPR1 MOVB *R6+,R1 get firsttwo nibbles

SWPB R1

MOVB *R6+,R1 put thirdnibble in front

MOVB R1,R2 save first nibble of number

ANDI R1,>0FFF get AU number

<..missing information - probably during a log save to disk..>

lar when doing a backup with DM5. It isa bit slow for single density disks, but they are smaller in size anyway. This was changed by changing a byte in the programmer's memory at >2088 from >04 to >07. It is interesting that page 1 uses addresses >2000 to >2FFF in the EPROM while page 2 uses addresses >1000 to >1FFF. A mixup between software and hardware, I guess.

 

When programmed and put in the card, the new DSR worked as well as I wanted, handling fractured files correctly and formatting

with the desired interlace. I realise that not many of our members have Myarc Hard and Floppy Disk Controller Cards but I

hope they have found something of inter est in the explanation. For those that do have HFDCCs and would like a copy of the new EPROM (version 13), if they can get a blank EPROM (27C128 or27C256) to me at the next meeting or by mail I will be able to program it for them. I will be sending this to Beery Miller for him to distribute for others and the sa me conditions will hold for people overseas, except I will expe ct something to cover the cost of the postage.

 

 

hfdceprm.dsk

  • Like 2

Share this post


Link to post
Share on other sites

(I missed my edit window. Doh! This issue probably deserves a new thread if anyone pursues it)

Edit: I reviewed the full routine Geoff references. At first glance it seems that deleting (which also happens during some saves) will almost always free the wrong sectors, resulting in file corruption when the HFDC is used in a TI system. My H11 and H14 dumps seem to have this same code, so another set of eyes and/or testing would be helpful as I find it strange the issue hasn't been more prevalent. Maybe there are fixed variants out there? I don't know...

 

 

 

* added comments 5-16-2018
       CLR  R10
       LI   R5,76     *max clusters per FDR
FNTPR1 MOVB *R6+,R1   *get starting sector from cluster nibbles
       SWPB R1
       MOVB *R6+,R1
       MOVB R1,R2
       ANDI R1,>0FFF  *mask  (note: maximum sector # 4095; no high density support)
       JEQ  DONCLS
       SWPB R2
       MOVB *R6+,R2   *get the highest logical sector offset (sector count) from the other nibbles
       SRL  R2,4      *shift (and mask) to >0fff
*
* The next two lines of code reference R10.  The DSR clears R10 before entering the cluster loop.
* FRBITM uses R1 as the starting sector number, and R2 as the count. So do we need to remove the
* next two lines?
*
FNTPR2 S    R10,R2    ** error?
       MOV  R2,R10    ** error?
       BLWP @FRBITM  
       DEC  R5
       JNE  FNTPR1
* NOW FREE UP THE FDR SECTOR ITSELF IF DELETE

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Wow, 24 years ago when those comments were written. I have no recollection of those details. With just about everything on the Geneve in the master DSR, it would have really only been an issue on the TI-99/4A.

 

Beery

Share this post


Link to post
Share on other sites

Wow, 24 years ago when those comments were written. I have no recollection of those details. With just about everything on the Geneve in the master DSR, it would have really only been an issue on the TI-99/4A.

 

Beery

 

Yea, I think I confirmed this is an issue by using the same test I wrote for the HFDC cluster allocation problem testing. Once fractures are introduced, the DSR will free incorrect sectors from the bitmap. I deleted one of the two 'intertwined' files from my test, and then rewrote the file and the 2nd got corrupted. The MDOS DSR did not appear to exhibit this problem.

 

There also seems to be a calculation error in that the first cluster's total sector count is one less than it should be. More research is needed.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...