New application - DiskUtility

184 views
Skip to first unread message

Darrell Pelan

unread,
Mar 18, 2021, 3:30:10 PM3/18/21
to SEBHC
Hi,
I recently started using a Flash Floppy Gotek instead of the HxC and prefer it for soft sector formats since it uses IMG files natively. I'm currently using it on my H-89, Z-120, and Small Z80.

Disk Utility is designed to support using Flash Floppy or HxC flashed Gotek drives with Heathkit 1980 era computers. It supports the native disk formats using IMG files and allows you to extract and add files from your PC to the disk image file. It currently supports CP/M and MS-DOS FAT 12 formats. It can list files in the image, extract them, view CP/M files, insert files, and convert them to .IMD files to support the HxC Floppy Emulator program. It will also convert IMD files to IMG files.

Disk Utility can also create blank disk images in several CP/M and MS-DOS formats which you can use in a Flash Floppy or HxC flashed Gotek. 

Please let me know if you try the program and how it works for you. You can download the documentation and program from my website Heathkit files from Darrell.

Thanks,

  Darrell

Norberto Collado

unread,
Mar 19, 2021, 12:36:43 PM3/19/21
to se...@googlegroups.com

Very nice and will give it a spin this weekend.

 

I was wondering if we could take all the H17 “*.h8d” files, convert them to a single side soft sector format? This is to migrate to the soft sector format and away from the hard sector media.

 

Thanks,

Norberto

--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/c34a69f6-a00e-4449-98a9-e42211686797n%40googlegroups.com.

Darrell Pelan

unread,
Mar 19, 2021, 1:18:44 PM3/19/21
to SEBHC
Thanks. I'm looking for feedback on the different file formats.  I'm confident on the H8D, H37 800k and 640k. I'm doing more testing on the 40 track formats today. My initial testing indicates the Z-100 doesn't use the same scheme as the H-89. I formatted a physical floppy at 320k in the 89 and the Z100 reported 154k. I'll use IMD to get a look at the data this afternoon.

It won't take much to implement your suggestion about H8D conversion. I'll take a look at it today as well.

  Darrell

dwight

unread,
Mar 19, 2021, 4:06:58 PM3/19/21
to se...@googlegroups.com
H8D uses logical order of the sectors, not necessarily the physical order. H8D saves no sector header information. It is just the logical sector data. This way, if there is any physical interleaving it is not included in the H8D format files. This should make it easier to get to typical soft sectored disk without any implied interleaving. On soft sectored, any interleaving is usually done in the low level disk read/write software, because the typical floppy controller sees a sector miss as a read error.
 It makes more sense to do physical interleaving for a H89/8 hard sectored on the physical disk.
 I suspect most don't use interleaving but it can have significant improvement in speed of reads and writes. H17 always misses the next sequential read or write, as a minimum. This means sequential read/write take a complete rotation of the disk for each sequential sector read. If using BASIC data read operations, one would normally do 3to1 interleaving and for loading into RAM, such as loading a program, a 2to1 is optimal. If doing a lot of data reads in BASIC, it makes sense to do 3to1 for the entire disk. The speed difference for program loading between 2to1 and 3to1 is not that great or noticeable.
 There is no technical reason one couldn't have a disk with mixed interleaving. This would require a more complicated disk format method.
Dwight



From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Darrell Pelan <pel...@gmail.com>
Sent: Friday, March 19, 2021 10:18 AM
To: SEBHC <se...@googlegroups.com>
Subject: Re: [sebhc] New application - DiskUtility
 

Darrell Pelan

unread,
Mar 19, 2021, 5:13:07 PM3/19/21
to SEBHC
Dwight,

I respectfully disagree about your statement that H8D uses logical sectors for CP/M. I haven't spent anytime looking at the code for HDOS in the H8DUtility program, but all the code I wrote for CP/M formats uses an interleave of 4. For example if I use either H8DUtility or my Disk Utility program to extract BIOS.ASM from the CPM_2-2-04_DISTRIBUTION_3.H8D image, it looks fine in a text editor. The programs I've loaded into H8D images for use on my H89 all seem to work as well.

Since there is no track or sector information in the H8D file like an IMD file, I don't have another way to verify the interleave. I tried using the HxC Floppy Emulator to create an HFE file and then convert it to an IMD, but that resulted in a 1k crap file. 

Regards,

  Darrell

Darrell Pelan

unread,
Mar 19, 2021, 7:05:06 PM3/19/21
to SEBHC
I checked the H8DUtility code and the code counts on the sectors being sequential with no interleave for HDOS images. Something to consider when meeting Norberto's request.

dwight

unread,
Mar 19, 2021, 10:03:52 PM3/19/21
to se...@googlegroups.com
 I don't see any point of disagreement.
 HDOS original disk and original formatting was just sequential, no interleaving. My original code included the ability to set different interleaving, when writing. I never looked at CP/M disk for their original interleaving, physical or logical.
 I don't know what Les' later code had for interleaving.
 I do recall looking at CP/M disk to understand how it dealt with the first track but that is all I looked at. I must admit, I just assumed it had no interleaving.
Dwight


From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Darrell Pelan <pel...@gmail.com>
Sent: Friday, March 19, 2021 4:05 PM

Darrell Pelan

unread,
Mar 21, 2021, 10:50:26 PM3/21/21
to SEBHC
I found some gold in my stack of floppies with a dual format Eliza game from Software Toolworks. I was able to use IMD to make an image and test the settings for the Flash Floppy Gotek. Since the HDOS H8D files are already in IMG format all you have to do is change the extension to IMG and use the following parameters with a Flash Floppy Gotek 
##################################################
[::102400]
cyls = 40
heads = 1
interleave = 3
secs = 10
bps = 256
mode=fm

I'll need to write code to convert the CP/M H8D images to IMG to remove the interleave. It won't take a lot of effort to make the change.

  Darrell
On Friday, March 19, 2021 at 12:36:43 PM UTC-4 Norby wrote:

Darrell Pelan

unread,
Mar 24, 2021, 11:10:08 PM3/24/21
to SEBHC
Version 1.1 is now available on my website, Disk Image Utility ver 1.1. I added a conversion for H8D files to IMG so the image can be used with a soft sector controller with a Flash Floppy Gotek. Both HDOS and CP/M conversions are supported.

  Darrell
On Friday, March 19, 2021 at 12:36:43 PM UTC-4 Norby wrote:

George Farris

unread,
Mar 25, 2021, 12:29:26 PM3/25/21
to se...@googlegroups.com
Hi Darrell,

Had a look at your site, would you provide source code for your Heathkit utilities?

George

Mike Enkelis

unread,
Mar 25, 2021, 1:15:52 PM3/25/21
to se...@googlegroups.com

Testing with image: CPM_2-2-03_Bios80.h8d

Disk Utility 1.0: viewed image contents correctly.

Disk Utility 1.1: Unable to view image contents (Could not determine CP/M Disk type)

 

Testing with image: 448-412A_Z37.h8d

Disk Utility 1.0: Unable to view image contents (Unhandled exception)

Disk Utility 1.1: Unable to view image contents (Could not determine CP/M Disk type)

 

OS: Windows 10 PRO

Version: 20H2

Build:  19042.870

Darrell Pelan

unread,
Mar 25, 2021, 1:18:00 PM3/25/21
to SEBHC
Hi George,

I'll add the source code in a few days. I wanted some feedback first.

  Darrell

Darrell Pelan

unread,
Mar 25, 2021, 2:14:22 PM3/25/21
to SEBHC
Hi Mike,

Thanks! I added version 1.1a to correct the CP/M H8D directory file listing and to identify a disk is HDOS. Still no support for a HDOS directory, but at least it doesn't crash. The 448-412A disk you tested is actually an HDOS disk.

  Darrell

Mike Enkelis

unread,
Mar 25, 2021, 3:12:41 PM3/25/21
to se...@googlegroups.com

Much better, but not 100%.

What’s up with the last line of the directory display?

Darrell Pelan

unread,
Mar 25, 2021, 4:09:52 PM3/25/21
to SEBHC
I believe the file image is corrupt. The funky file name is at 0x27e0 in the image. The value should be 0xe5, not a series of 0xf2

Mike Enkelis

unread,
Mar 25, 2021, 4:17:26 PM3/25/21
to se...@googlegroups.com
Thanks, that would make sense, as a different CP/M image is displayed correctly.


From: se...@googlegroups.com <se...@googlegroups.com> on behalf of Darrell Pelan <pel...@gmail.com>
Sent: Thursday, March 25, 2021 1:09:52 PM
To: SEBHC <se...@googlegroups.com>

Darrell Pelan

unread,
Dec 17, 2021, 12:19:08 AM12/17/21
to SEBHC
HI,

I updated the Disk Image Utility program to correct a couple of issues converting H8D images to a soft sector IMG file. The code defaulted to two heads and didn't write the disk ID at byte 5 for a soft sector disk. I also modified the FF.CFG file for Flash Floppy Goteks to remove the rate and interleave parameters so the new images are read correctly.

  Darrell

Darrell Pelan

unread,
Dec 17, 2021, 7:56:13 AM12/17/21
to se...@googlegroups.com
The software is posted on the SEBHC site https://sebhc.github.io/sebhc/software/Utilities/DiskImageUtility1.1d.zip in the Software section under Utilities SEBHC. Code is on Github. Both attached images started as H8D files. You will need to use the Disk Image Utility to convert the IMG file to IMD to use with the HxC Gotek.

   Darrell

--
You received this message because you are subscribed to a topic in the Google Groups "SEBHC" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sebhc/V3ItUCD7kVs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/06d262dc-4ac1-4e65-8200-216783787cb3n%40googlegroups.com.
HDOS20BOOTSY37.IMG
CPM03_37.IMG

Joseph Travis

unread,
Dec 18, 2021, 3:35:28 PM12/18/21
to se...@googlegroups.com
Greetings Darrell,

I used the link you provided to download the files and run the new DIU.  I selected a .h8d file in a folder on my computer and all the buttons on the screen remain grayed out (a little confusing).  I went ahead and pressed H8D Convert, a small dialog box popped up saying "1 File Converted" however, the display never updated to show the file.  The article you wrote for Z100 Lifeline touches on what the DIU can do but doesn't really explain how.  Is there any documentation that explains how to use the utility?  Thank you very much!

Regards,
Joe Travis n6ypc


On Fri, Dec 17, 2021 at 12:19 AM Darrell Pelan <pel...@gmail.com> wrote:
--
You received this message because you are subscribed to the Google Groups "SEBHC" group.
To unsubscribe from this group and stop receiving emails from it, send an email to sebhc+un...@googlegroups.com.

Darrell Pelan

unread,
Dec 18, 2021, 4:49:25 PM12/18/21
to SEBHC
Hi Joe,

Thanks for using the program and pointing out documentation might be helpful. After any operation that generates new files, you need to click Folder, then Ok to rescan the directory. New files should then appear in the file list. I've updated the zip file with the Word doc and attached it here. Please let me know if you find any issues.

  Darrell

Disk Utility 1.1d.docx

Norberto Collado

unread,
Dec 18, 2021, 5:45:39 PM12/18/21
to se...@googlegroups.com

Very nice!

 

Can you add the following sentence to the updated doc file?

 

You can download the documentation and program from my website Heathkit files from D

 

Thanks,

Norberto

 

From: "se...@googlegroups.com" <se...@googlegroups.com> on behalf of Darrell Pelan <pel...@gmail.com>


Reply-To: "se...@googlegroups.com" <se...@googlegroups.com>
Date: Saturday, December 18, 2021 at 1:49 PM
To: "se...@googlegroups.com" <se...@googlegroups.com>

Darrell Pelan

unread,
Dec 18, 2021, 6:16:24 PM12/18/21
to SEBHC
The current doc file is the zip file on the SEBHC website. I can update my website, but wanted to move the program to the official group site. I looked but didn't find the reference. Can you point me in the right direction?

Thanks,

  Darrell

Darrell Pelan

unread,
Dec 18, 2021, 6:23:27 PM12/18/21
to SEBHC
Thanks! Perhaps, I misunderstood your request. I've updated my website and SEBHC with the current code and documentation. Did you want the add in the Word doc?

  Darrell

On Saturday, December 18, 2021 at 5:45:39 PM UTC-5 Norby wrote:

Joseph Travis

unread,
Dec 19, 2021, 2:15:55 PM12/19/21
to se...@googlegroups.com
Darrell,

Thanks for the documentation! I'll carefully read through it.  I forgot to mention another issue I'm having with the program, when I press the File List button, I get an error dialog (photo attached) for most of the files I select.  One other comment, you should change the button properties so they appear normal (not grayed out) to avoid confusion.  When an item is grayed out, it is an indication that the selection is currently unavailable.

Regards,
Joe Travis n6ypc


DIU Filelist Error.jpg

pel...@gmail.com

unread,
Dec 19, 2021, 2:48:14 PM12/19/21
to se...@googlegroups.com

Hi Joe,

 

Please try the new version 1.1d and let me know if you get the same error.

 

Thanks,

 

  Darrell

--
You received this message because you are subscribed to a topic in the Google Groups "SEBHC" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sebhc/V3ItUCD7kVs/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sebhc+un...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sebhc/CAGQDgBD2_%3DYTmqokR0epsy7R_fBgOnXWNSzUo1NNeyxsFhUA9A%40mail.gmail.com.

Darrell Pelan

unread,
Dec 19, 2021, 3:56:22 PM12/19/21
to SEBHC
Hi Joe,

That must be a version 1.1c IMG file. It doesn't have the correct disk ID at byte 5. Version 1.1c doesn't handle it well. Version 1.1d corrected the disk ID byte at location 5 in the first sector and added some error checking if the file didn't have the right ID. I was able to replicate the error with 1.1c. Ver 1.1d handled it much better.

  Darrell

Joseph Travis

unread,
Dec 20, 2021, 2:15:57 PM12/20/21
to se...@googlegroups.com
Hi Darrell,

I downloaded the latest version from your website and it appears to work correctly now, thank you.  I read through your documentation and have a few comments regarding it and the program operation (reminder these are comments / suggestions, not criticisms):

1. I suggest changing the name of the program executable and documentation files from Disk Utility to Disk Image Utility to be consistent and clarify what the program is/does (also avoids confusion with earlier works in CPM and DOS).
2. Documentation, p3, Windows, Disk Image List: You can change the target directory using the "b button." ??
3. Documentation, p3, Windows, File List: The File List shows the files in the selected images "when the File List button."  ??
4. I selected an H8D file and wanted to create an IMG file.  I pressed the IMD/IMG Convert button and a dialog box states: "0 files converted. No need to convert 1 H8D files. They are supported by HxCFloppy"  (however, myself and others use FlashFloppy).  I then pressed H8D Convert to SS and the dialog box states: "1 Files Converted".  Why not have just one "Convert" button?  The selected file type is already known (or derived). The conversion choices (if any) can then be determined / selected.
5. When an operation creates/modifies/deletes files, the program should automatically refresh the display instead of forcing the user to do it manually.
6. Create an Empty File:  I think it would simplify things if the choices were in the form of a List Ring instead of several individual buttons.
7. Can you add H8D choices to support 40T 2S and 80T 2S as these formats are supported by CPM and HDOS?

I'll continue to explore and play with the program and let you know if I uncover any other issues.  I look forward to trying this out with my H/Z-100 when I receive another Gotek drive.  BTW - Will this support the CPM-85/86 formats?  Thank you for all of your hard work!

Regards,
Joe Travis n6ypc





Darrell Pelan

unread,
Dec 20, 2021, 4:52:00 PM12/20/21
to SEBHC
Hi Joe,

Thanks for using the program and your thoughtful comments. I'll discuss by number below.

1. Consistency is always good. The first time I tried to change the Visual Studio project name, it didn't go well which left me remembering to change the .exe name. As you can tell, I don't always remember. Good news is that the name change seemed to work today.

2, 3 The updated text follows. Hopefully, this is clearer.

"The Disk Image List shows the disk images in the target directory. Disk Image Utility starts in the last target directory used by the program. You can change the target directory using the Folder button.

 The File List box shows the files in the images currently selected in the Disk Image List box when you click the File List button. If no images are selected, all file images are processed. CP/M file lists show the user area and status flags for each file. MS-DOS files show the flags, date and time for each file. Sub-Directories are only supported one level deep. Files in a sub directory of a sub directory will not display and cannot be extracted."

4. This is going to take some additional thinking. Originally, I wrote DIU to support soft sector formats. The IMD/IMG converts files between the two image formats. If I included H8D, I would need to ask which format you wanted (IMD or IMG) or just assume IMG only. In batch mode, the question would need to be asked for each file. Another consideration is going from IMG to H8D. Is there a need to go back to H8D?

5. Agreed. I've made the change.

6. I'm not sure what a List Ring is. Is it a drop box?

7. This one also requires some discussion.  a 40T 2s equates to 204,800 bytes which is different from the standard Heath disk IDs for soft sector. I don't think a CP/M system would know what to do with the disk. The 80T 2s is 409,600 which by size matches a 40T 2s but with five 1,024 byte sectors. It would be interesting to convert a 80T 2s H8D disk, change byte 5 to 0x67 and see if the data survives. It might work since the IMG file doesn't have any interleave and DIU processes the H8D by file size. DIU doesn't support the larger H8D formats now for file lists or extraction. As I was thinking more, the location of the directory also needs to be considered. DIU depends on the disk ID byte to determine what type of disk image is being processed. Since H8D files don't use a disk ID, DIU defaults to this format if all else fails. It then assumes 40T, 1 head, 10 sectors at 256 bytes. I could add some code to check for file size and make the appropriate adjustments. How much need is there to support the larger formats?

I don't remember if I tried CP/M 86 or not. The CP/M 85 works, so there is a good chance.

Thanks again,

  Darrell

Joseph Travis

unread,
Dec 20, 2021, 8:01:27 PM12/20/21
to se...@googlegroups.com
Hi Darrell, 

Responding to your questions:

4.  If an H8D is selected, the choices are IMD or IMG.  If an IMD file is selected, the choices are IMG or H8D, etc.  H8D file type sizes can be selected by the user or determined by the IMD or IMG file size.  I can see a desire to keep H8D as long as people use floppy disks.  I hope that H8DUtility would also support the other HS floppy images (40T 2S and 80T 2S).

6. There are a few different styles of list rings, one or two buttons (on the right side).  It would show just one selection until you click on it, then it would drop down the list or if you click on it's buttons, would scroll one selection at a time.  I thought it would clean up the appearance and make it a little easier for the user.

7. The 40T 2S and 80T 2S formats are recognized by CP/M with LLL BIOS and HDOS 3 (HDOS 2 as well with the proper SY.DVD)  The cool thing is that the 40T formats can be read by the 80T drives.  My H8 and H89s all have 80T drives, hard and soft sector.

BTW - I verified CPM-85/86 disks can be read on an H89 with Heath/Zenith CP/M 2.2X03.

Regards,
Joe


Darrell Pelan

unread,
Dec 20, 2021, 9:39:00 PM12/20/21
to SEBHC
Hi Joe,

Version 1.1e is available on my website. I've made the following changes:
  • Added list refresh after images are created
  • Added disk definitions for LLL 40T 2s and 80T 2s - Now able to read directories
  • Added check for 0x1A in text files in view function

Aren't the LLL formats hard sector only? If so, they will need to be mapped to a soft sector format in order to convert them. I was able to extract a file from CPM_HRUN_BASCOM80_2S80T with the code changes I made. The best way to deal with LLL formats might be to extract the files you want and then add them to a soft sector image.

  Darrell

Joseph Travis

unread,
Dec 21, 2021, 10:16:38 AM12/21/21
to se...@googlegroups.com
Good Morning Darrell,

I downloaded the update and played with it a little bit.  My comments / suggestions below:

* I selected an H8D file, pressed File List, pressed H8D Convert to SS, after the IMG file was created a dialog box appeared, I pressed OK, the dialog box went away, the Disk Image List is updated and the file that had been selected is now deselected.  Selected file(s) should remain selected after an operation.

* You should get rid of the File List button and automatically display the File List whenever a file (or files) is selected.  It shouldn't be a manual operation and would tend to make the program a little more intuitive to the user.

* I understand the intent of the program is to benefit Gotek users however, I believe it is equally important to be able to convert in both directions which is why I asked about supporting the other hard sector formats.

Thanks again for your efforts!  I wish you and your family a Merry Christmas!

Regards,
Joe Travis n6ypc



Reply all
Reply to author
Forward
0 new messages