VOGONS


First post, by wary

User metadata
Rank Newbie
Rank
Newbie

Hi everyone,

I’d like to share Diskette Toolkit, a free and open-source (GPL-3.0) Windows tool for floppy disks from old computers: Atari ST, Amiga, PC, MSX, Mac, Amstrad PCW and more. It runs on Windows 7 SP1 and newer.

It backs up disks to images (.ST, .MSA, .IMG, .ADF…), writes images back with verification, formats disks for many systems and tests the surface with a live sector map. It also checks and safely repairs FAT file systems, makes boot disks and batch-backs up a whole box of disks into numbered images.

It works with a plain USB floppy drive for standard disks, an internal drive on an older PC with fdrawcmd.sys for extended formats, or a Greaseweazle for Amiga, Mac and flux backups of protected disks.

Drive diagnostics (speed, sensors, head cleaning) is currently in development.

Download and source: https://github.com/Warysek/DisketteToolkit

The code is written with AI help (Claude). I design the program and test every version on real hardware. Feedback and ideas are very welcome!

Reply 1 of 10, by wary

User metadata
Rank Newbie
Rank
Newbie

screenshot-diagnostics.png
Diskette Toolkit 0.9 is out. This release focuses on keeping old drives and disks alive, since neither is made any more.

What’s new:

Drive diagnostics (Greaseweazle, or an internal drive with fdrawcmd.sys): drive speed with a live gauge for turning the speed trimmer, a warm-up test (does the speed drift once the belt is warm?), sensor check (track 0, index, write protect), head to track 0 / 79 / sweep for cleaning and lubricating, step accuracy test, head cleaning with a cleaning disk, and a repeated track read that tells a dirty head from a damaged disk.
Flux histogram per track: sharp peaks mean a healthy track, blurred ones a fading one.
Rescue a bad disk: many retries per unreadable sector, and you can continue in another drive, which then reads only the missing sectors. At the end it tells you whether another drive can still help or the spot is gone for good (no magnetic signal left).
Rescue sectors from saved Greaseweazle flux (.scp) with a built-in MFM decoder. Captures of the same disk from several drives are combined into one image.
Every failed sector in the map shows why it failed, a read history tells a bad drive from a bad disk, and a write test gives the disk a grade A/B/C.
Safer Greaseweazle writes: USB bandwidth is checked before writing, so a write that would stop in the middle of a track is never started. The FAT check also leaves boot loaders and other non-FAT disks alone.

Tested on real hardware with a Greaseweazle V4.1 (NEC, Samsung and ALPS drives, HD and DD disks) and a Sony USB floppy drive. The fdrawcmd.sys diagnostics are not verified on real hardware yet, so feedback from anyone with an internal drive is very welcome.

A tip we found along the way: on some desktop PCs with an AMD AM5 board (B650/X670/X870) the USB controller feeds slow USB devices too slowly for Greaseweazle writes, while reading works fine. The built-in USB bandwidth test shows whether your port is fast enough.

Free and open source (GPL-3.0), Windows 7 SP1 and newer, no installation:
https://github.com/Warysek/DisketteTool ... ses/latest

Bug reports and ideas are welcome, either here or in GitHub Issues.

Reply 2 of 10, by wary

User metadata
Rank Newbie
Rank
Newbie

Hi all,

Diskette Toolkit 0.10 is out. It is a free Windows program (GPL-3.0) for reading, writing, formatting and testing floppies and disk images: Atari ST first, plus PC, Amiga, MSX, Mac and others. It works with USB floppy drives, internal drives (with fdrawcmd.sys) and Greaseweazle, and shows a live sector map while it works.

What's new in 0.10

  • Backup with a record – every backup writes a small text file next to the image: date, drive, how the disk was read, which sectors failed and why, and MD5 / SHA-1 / SHA-256. A backup with unread sectors is never saved under the normal name; it gets "(INCOMPLETE)" in the file name. New one-click Quick backup with no save dialog.
  • Images from the internet – images inside .zip open directly (no unpacking), and Amiga .dms (Disk Masher) opens like .adf, including the text in the archive. A damaged DMS loads with a warning listing the missing tracks.
  • Gotek USB stick wizard – copies images to the stick as DSKA0000_name.st…, converts .msa/.dim to .st and .dms to .adf, writes FF.CFG / IMG.CFG where needed and saves a printable slot list. For FlashFloppy.
  • Editing images – add and delete files in FAT12 images (.st, .msa, .dim, .img) by drag and drop, recover deleted files, save everything readable into a folder, and check a whole folder of images (including .zip) at once.
  • Report for forum – one button copies a short summary of your setup (program and Windows version, drives, controller type, Greaseweazle firmware, last result and log) to the clipboard, with your user name and PC name removed. Handy for bug reports here.

Download: https://github.com/Warysek/DisketteToolkit/releases/latest
No installation – unzip and run DisketteToolkit.exe. You can try it without any hardware with DisketteToolkit.exe --demo.

Testers wanted
Some of the new features are verified only in simulation so far: quick backup on a real drive, a .dms written with Greaseweazle and booted on a real Amiga, and the Gotek wizard on a real Gotek. If you try any of them, I'd be glad to hear how it went – here, or in GitHub Discussions: https://github.com/Warysek/DisketteToolkit/discussions (the "Report for forum" button makes it a single paste).

I design and test the program myself; the code is written with AI assistance (Claude).

Thanks,
Wary

Reply 3 of 10, by MarmotaArmy

User metadata
Rank Member
Rank
Member

Hello wary ,

Thanks for the program. Is there a chance to add support for IMD files?

Reply 4 of 10, by wary

User metadata
Rank Newbie
Rank
Newbie
MarmotaArmy wrote on 2026-11-10, 20:31:

Hello wary ,

Thanks for the program. Is there a chance to add support for IMD files?

Hi,

thanks! Yes, IMD (ImageDisk) is already on my list. The program reads IMD internally (Greaseweazle uses it when detecting a disk's format), so the next step is to open .imd files in the image window, convert them, and write them to a disk with Greaseweazle.

May I ask what you use IMD for - which computer or system the disks are from? And if you have a sample .imd file you can share (ideally one with some bad or deleted sectors), it would help me test it.

Wary

Reply 5 of 10, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

ImageDisk author here!

IMD was created to preserve/restore classic(pre-PC) floppy disks. These may have characteristics never seen on a PC, including:
- Single, Double, Mixed density tracks.
- differing sector sizes
- unusual track and/or sector numbering, interleave and spacing
- Probable more I can't think of right now (It's a 20+ year project)
To accomplish this, IMD "talks" to the PC floppy disk controller hardware (Nec765) directly and sometimes in somewhat non-standard and/or timing sensitive ways.
For this reason IMD runs under DOS (to be honest I've never gotten into Winblows development enough to dig into the "special" drivers and permissions that I'm sure would be needed - if even possible).

Modern PCs most often have Nec756 clones built into "chipsets" which may not have some non-PC used characteristic unimplemented, and external (to the FDC) factors can also differ (like the ability to handle single-density).

For this reason I created/include "TESTFDC" which helps identify exactly what floppy formats you particular PC can handle.

The "possible unique" characteristic of the diskettes and created images is why the .IMD image format exists - it contains metadata not available in typical "raw binary" images.

Full documentation of the .IMD file format is included in the ImageDisk distribution archive, and complete source code to IMD (and it's related utilities) is available.

Fewer and fewer users have DOS systems now ... my solution was to create a PCDOS bootable disk for running IMD (IMD doesn't make sense if you don't have a floppy disk) - this creates and runs form a RAMdisk, both to allow other floppies to be accessed, and to enable manipulation of large and/or multiple disk images, and I've provided several different means of getting images ON/OFF to other systems.

A good Windlows tool to accomplish similar functionally would be VERY useful to many users, I look forward to seeing how/where it goes!

https://dunfield.themindfactory.com ; "Daves Old Computers" ; SW dev addict best known:
ImageDisk: rd/wr ANY floppy PChw can ; Micro-C: compiler for DOS+ManySmallCPU ; DDLINK: simple/small filetransfer(w/o netSW)via Lan/Lpt/Com

Reply 6 of 10, by wary

User metadata
Rank Newbie
Rank
Newbie

Hi Dave,

thank you, that's a great explanation - and an honour to hear from the author of ImageDisk himself.

The Windows driver problem has a solution today: Diskette Toolkit uses fdrawcmd.sys by Simon Owen, a Windows driver that passes raw commands to the PC floppy controller (it supports FM as well as MFM, odd sector sizes, custom IDs and gaps). Timing-sensitive tricks are still limited on Windows, so for really unusual disks the program also works with a Greaseweazle, which reads the flux directly and does not depend on the PC's controller at all.

My plan for IMD:
1. open .imd images (file list where the file system is known, per-sector status: bad, deleted, unavailable), convert them, and write them to a disk;
2. later save backups as .imd, so the metadata you describe is kept;
3. a controller test in the spirit of TESTFDC, so users can see which formats their PC can handle.

Would you be willing to share your code with us for this? Diskette Toolkit is open source (GPL-3.0, on GitHub). It would help most with the IMD reading/writing and with the TESTFDC test formats - your 20+ years of experience with odd disks are in there. Of course with full credit to you in the program and its documentation, and under whatever terms you prefer. If you'd rather not, no problem at all - I'll work from the format description in the ImageDisk archive.

And if you have a few test images with the unusual cases (FM, mixed density, odd sector sizes or numbering), I'd be very grateful.

Thanks again,
Wary

Reply 7 of 10, by wbahnassi

User metadata
Rank Oldbie
Rank
Oldbie

I wouldn't trust inserting a non-write-protected floppy disk in a modern Windows machine.. if you care about preservation, that is...

Turbo XT 12MHz, EGA, MFM HDD
Intel 386 DX-33, Speedstar 24X, SB 1.5, FDDx3
Intel 486 DX2-66, CL5428 VLB, SBPro 2, 2x CD
IBM BlueLightning 100MHz, CL5428, SB16, 4x CD
Intel Pentium 90, Matrox Millenium 2, SB16, 4x CD
HP Z400, Xeon 3.46GHz, YMF-744, RTX2060

Reply 8 of 10, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
wary wrote on Yesterday, 19:19:

Would you be willing to share your code with us for this? Diskette Toolkit is open source (GPL-3.0, on GitHub). It would help most with the IMD reading/writing and with the TESTFDC test formats - your 20+ years of experience with odd disks are in there. Of course with full credit to you in the program and its documentation, and under whatever terms you prefer. If you'd rather not, no problem at all - I'll work from the format description in the ImageDisk archive.

I have always made the source code available, and encouraged others to use it. IMD was created to assist in the preservation of disks for/from classic systems and I have always made it and it's source available to others in the hopes that it may help in the creation of other tools which may accomplish this goal in different ways.

The "official" home of ImageDisk is "Daves Old Computer" -> "Download Software/Images" .. you will find ImageDisk itself, it's source code, and some (hopefully) useful/informative notes on connecting and modifying drives to enable preservation of more types of media (like 8" drives, and making 5.25" HD more compatible with some traditional and SD media types).

I'll warn you however that although most of the code is in 'C', it is NOT using a traditional PC vendors tools (like MS, Botland etc.) It is written using my own Micro-C/PC toolset, which has the C standard libraries, AND some additional/different libraries oriented toward PC/DOS specific extras.

It also uses a fair number of assembly language functions - to perform many of the "tricky" direct hardware access and timing critical operations.

The source distribution archive includes the sources to the various utilities I include with ImageDisk (including TESTFDC.C).

And if you have a few test images with the unusual cases (FM, mixed density, odd sector sizes or numbering), I'd be very grateful.

There are over 600 .IMD images within the "Software/Images" section of "Daves Old Computers". These are for many different classic systems and have formats of all kinds, including SD, DD and mixed, various sector sizes and number of sectors/track.

You can make use of my (included with IMD):

IMDA = ImageDisk Analyzer

IMDV = ImageDisk Viewer

To see details of what format a particular .IMD is in, and recommended drives to recreate it.

Last edited by DaveDDS on 2026-11-12, 03:13. Edited 1 time in total.

https://dunfield.themindfactory.com ; "Daves Old Computers" ; SW dev addict best known:
ImageDisk: rd/wr ANY floppy PChw can ; Micro-C: compiler for DOS+ManySmallCPU ; DDLINK: simple/small filetransfer(w/o netSW)via Lan/Lpt/Com

Reply 9 of 10, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
wbahnassi wrote on Yesterday, 21:31:

I wouldn't trust inserting a non-write-protected floppy disk in a modern Windows machine.. if you care about preservation, that is...

Agreed completely!
(oh... this disk doesn't appear to be properly formatted for the latest MS file system or for whatever background application happened to just check to see if it has a disk to access - since we know users are too stupid to know how to prepare a disk, we'll just do you a big favor and automatically format it for you! - aren't you glad you chose MS)

I've had Winblows just randomly decide to "do something" relating to and affecting whatever operation I'm trying to perform too many times!

An example: I made a DOS tool called DDLINK which can perform file/directory transfers over a serial, parallel or network connection (this is prob. the easiest way to get files on/off an IMD booted from floppy)

It works well for serial and network in DosBox and various PC emulators to run the host side.... I've done some work on making the LPT port available to these environments so that parallel connections could be used on the "modern" side... but I've never gotten it to work reliable - near as I can figure, Winblows like to "twiddle" the LPT signal bits from time to time (perhaps looking to see if a printer has been connected)
.. and as I've said many times before ... I've always been much more interested in "creating things" rather than "fighting with someone elses software" - so I've never gotten deep enough into Winblows system internals to spend significant time trying to resolve such issues ...

https://dunfield.themindfactory.com ; "Daves Old Computers" ; SW dev addict best known:
ImageDisk: rd/wr ANY floppy PChw can ; Micro-C: compiler for DOS+ManySmallCPU ; DDLINK: simple/small filetransfer(w/o netSW)via Lan/Lpt/Com

Reply 10 of 10, by MarmotaArmy

User metadata
Rank Member
Rank
Member

@DaveDDS

Thank you for always being so willing to share your work, answer questions, and being so positive