TotalImage - a better disk image editor

Apologies if this is not the correct category for this.

Many of you are probably familiar with WinImage, the handy disk image editor that's been with us since the early 90s (yes, it's actually that old). It gets the job done in many situations, but it also has some not so insignificant flaws (bugs, lack of certain features, not open-source, etc.). This led a few of us to start working on an alternative that hopes to address some of these drawbacks. We call it TotalImage and it's free and open-source, so anyone can contribute. We hope to eventually support many different types of media (floppy disks, hard disks, optical discs, superfloppies), image container formats (simple sector dumps like IMG/IMA, VHD, TeleDisk, etc.), disk geometries and formats (everything from standard PC floppy formats to 8" disks, PC-98 disks, DOS 1.x disks with no BPB, etc.), file systems (FAT variants, NTFS, ISO9600, etc.) and partitioning schemes (MBR, GPT, PC-98 partition table, etc.).

Of course it will take some time before we implement all that, but we feel it's time we put the work we've done so far to the test. So we decided to release an alpha version to get some early feedback and adjust our plans if neccessary. This alpha version only has read-only functionaly, so you cannot create new images or modify existing ones. But you can open existing images, see their contents and various info about the image, as well as extract contents. The following is currently supported for reading:
  • Plain sector images (IMG/IMA, ISO), Microsoft VHD (fixed-size and dynamic only for now), T98-Next images (NHD), WinImage compressed images (IMZ) and Anex86 images (FDI, HDI)
  • Standard PC-compatible floppy geometries (360k, 720k, 1.44MB, etc.), as well as 8" 250k and 1.22MB disks, DOS 1.x disks with no BPB (usually 160k/320k), Microsoft DMF (both 1024- and 2048-byte clusters)
  • FAT12, FAT16, FAT32, ISO 9660 and High Sierra file systems
  • LFN extensions for FAT and Joliet for ISO 9660
  • MBR and GPT partitioning schemes
Here's a few feature highlights we wanted to point out in this release:
  • It can open DOS 1.x-formatted floppy disk images, which don't have a BPB, without any modifications and with ease.
  • It can open High Sierra CD images just like an ISO 9660 image, so those late 80s and early 90s images no longer require special care.
  • It has a rich Image Information dialog with just about everything you want to know about the image.
  • When dealing with hard disk images with more than one partition, switching between supported partitions is as simple as it gets - simply select the partition from the drop-down list in the toolbar, no need to close and reload the whole image.
  • It has quick toggles in the menu for showing deleted and hidden files on FAT file systems, so you can display them only when you want to.
  • Lastly, it can display all sizes in bytes or it can automatically convert to the appropriate decimal or binary unit (e.g. 1.15 MB, 66.32 KiB) depending on your settings. The final output is then formatted according to your system locale.
We expect to add support for additional containers, file systems, etc. and other features in future previews, then polish this up for the final 1.0 release. Of course more will follow after that. You can head over to our GitHub repository to take a look. TotalImage is developed on the .NET platform using C# and Windows Forms, and currently targets the .NET 7.0 runtime. It runs on Windows 7 SP1, 8.1, 10 and 11. Other operating systems such as Linux or macOS are not supported yet, but we are already investigating ways to bring TotalImage to those of you not using Windows as well.

If you have any comments, questions, suggestions about the project, we kindly ask you to open an issue on the repository. We also operate a Discord server for this project, where we discuss development and related topics. We anticipated some questions you may have after reading this post, so here's a brief FAQ:

Q: There's already <insert program> that does a similar thing, so why make TotalImage?
A: It's true there's already plenty of various tools out there that can perform a variety of disk image-related things. However, in our opinion none of those tools offers a comprehensive, integrated set of features for a variety of users with a decent graphical user interface. WinImage comes closest to that idea in our opinion, but falls short due to the issues mentioned at the start of this post. That's why we want to address some of its shortcomings in TotalImage.

Q: Will TotalImage support <insert feature>?
A: Of course we wish to support as many types of images as possible, so that you no longer need 10 separate tools and potentially problematic conversions to handle your collection. However, not all of this can be achieved at once. That's why we want to focus on getting decent support for various PC disk images first before potentially moving onto other platforms as well. Keep an eye on the releases page on the repository, as we expect to continuously add support for more things.

Q: Can TotalImage dump physical disks as well?
A: The alpha version does not have this capability. Right now we are committed to implementing a decent framework for handling existing disk images and creating new ones from scratch. But we will look into dumping physical disks and how we could perhaps implement that functionality at some point in the future, once the foundations are in place.

Q: Will TotalImage support operating systems other than Windows?
A: We're aware that not everyone who might find this tool useful uses Windows, so we're considering various options to bring TotalImage to those of you as well. When there's a solution available, we'll announce it.

Q: I have a thing I'd like to implement/contribute, how do I do it?
A: Go over to our repository on GitHub and get the source code, implement your changes, then submit a pull request for us to review. If your changes are approved and merged, you'll be added to the contributors list. Please familiarize yourself with the license, coding style and UI before making pull requests.

Comments

Sign In or Register to comment.