DSK and DMK Image Utilities

This page contains DSK and DMK image utilities. Examples of such utilities would be:

Multi Utilities

TRS-80 Tool

The standalone version of this tool has expanded way beyond this function, so it is discussed on the Multi-Utilities Page.

From a disk features standpoint, the command line tool provides disk-image analysis, directory listings, file extraction, damaged-file recovery, sector inspection, and emulator-based testing for supported TRS-80 floppy images.

Supported Disk Image Formats

  • JV1 images: Reads the basic sector-data format commonly associated with Model I disks. JV1 does not preserve enough information for copy-protected disks.
  • JV3 images: Reads sector data and sector identification information, including mixed FM and MFM encoding on the same track. JV3 does not preserve enough information for copy-protected disks.
  • DMK images: Reads images containing more low-level disk information than JV1 or JV3, including some information between sectors.
  • DSK identification: Recognizes that .DSK is a generic extension that may contain JV1, JV3, or DMK data. The info command identifies the underlying format.
  • SCP flux images: Reads SuperCard Pro raw-flux floppy images.
  • HFE images: Reads version 1 HxC Floppy Emulator images, also used by Gotek drives. HFE support is read-only.
  • IMD images: Reads Dave Dunfield ImageDisk files, including images commonly used for Model II and other 8-inch disks. IMD support is read-only.
  • IMG extension: The documentation does not list .IMG as a supported format or describe general-purpose IMG support. Do not assume that an arbitrary IMG file is compatible.

Disk Identification and Cataloging

  • Image identification: Uses info to identify disk-image contents and recognized operating systems, including DOS versions where the disk provides that information.
  • Geometry reporting: Uses info --verbose to display additional disk information, such as floppy geometry.
  • Structured metadata: Uses info --json to export detailed file information for automated cataloging, regression testing, or other processing.
  • Directory listings: Uses dir to list files inside supported disk images, showing filesystem-appropriate details such as dates, file types, attributes, protection levels, or paths.
  • System-file listings: Uses dir --system to include normally hidden system files.
  • CP/M directory details: Shows file attributes and, when applicable, user numbers. Text-file sizes normally stop at the first Ctrl-Z; --cpm-records reports complete stored records instead.

Supported Disk Operating Systems and Filesystems

  • TRSDOS family: Reads documented Model I and Model III TRSDOS variants, including TRSDOS 2.0-2.3, 2.3B, 3.0, 1.2, 1.3, and Model I TRSDOS 2.7DD/2.8.
  • LDOS and LS-DOS: Reads LDOS 5.0-5.3, TRSDOS 6.0-6.2, and LS-DOS 6.3 disks.
  • Alternative DOS systems: Reads documented versions of DOSPLUS, NEWDOS, NEWDOS/80, MultiDOS, VTOS, UltraDOS, Percom DoubleDOS, RAPIDOS, and Model I Percom MicroDOS.
  • Model II operating systems: Reads Model II TRSDOS 1.x and 2.0, TRSDOS-II, and DOSPLUS II disks.
  • CP/M disks: Reads supported Model I, Model II, and Model 4 CP/M layouts, including Lifeboat, Montezuma Micro, Holmes Engineering, Digital Research CP/M Plus, and Model II standard 8-inch, Aton, and Pickles & Trout formats.
  • UCSD Pascal disks: Reads FMG UCSD Pascal disks for the Model I, including directory dates and file kinds.
  • Xenix tar disks: Reads supported Xenix disks containing tar archives, displaying Unix modes, owners, and file paths.
  • Disk configurations: Supports single- and double-sided disks and single-, double-, or mixed-density layouts within the documented format and filesystem coverage.

File Extraction and Recovery

  • File extraction: Uses extract to write the files inside a supported floppy image to an existing directory, for example trs80-tool extract in.dmk out.
  • System-file extraction: Uses --system to include system files that would otherwise be omitted.
  • Damaged-file recovery: Extracts files even when sectors are unreadable, have CRC errors, or directory entries are missing. Unreadable sectors are filled with zeros, and the extraction report describes the problems.
  • Damaged-file naming: Uses --mark-damaged to add [DAMAGED] to affected output filenames.
  • Lowercase filenames: Uses --lowercase to write extracted files with lowercase names.
  • Filename collision protection: Adds suffixes such as (2) rather than overwriting extracted files whose names differ only in case.
  • CP/M text handling: Removes padding after the first Ctrl-Z in recognized text files. Uses --cpm-records to retain complete 128-byte records instead.
  • UCSD Pascal text handling: Converts Pascal text files to plain text during extraction. Uses --ucsd-pascal-raw to retain their original on-disk representation.
  • Xenix directory preservation: Preserves paths from Xenix tar disks and creates the required output directories.
  • TRSDOS date preservation: The changelog documents retaining original dates when extracting files from TRSDOS disks.

Sector Inspection and Damage Analysis

  • Track-and-sector map: Uses sectors to display a table with tracks as rows and sectors as columns.
  • Sector status: Distinguishes single-density, double-density, deleted, missing, and CRC-error sectors, as well as positions containing no sector.
  • Sector contents: Uses sectors --contents to display sector data alongside the sector map.
  • Bad-sector reporting: Uses sectors --bad to list missing sectors and sectors with CRC errors.
  • Affected-file identification: Reports which file, if any, occupies each bad sector, helping determine whether damage affects a program, data file, or unused space.
  • Bad-sector contents: Combines --bad and --contents to inspect the contents of problematic sectors.
  • Recognition diagnostics: Uses --trace=floppy and --trace=base to expose diagnostic decisions when investigating an unrecognized or unusual image.

Disk-File Conversion and Program Analysis

  • Disk contents to cassette output: Expands supported floppy images into their contained files for conversion to cassette archives, including the documented DMK-to-WAV conversion.
  • Disk-to-cassette machine code: Converts disk-format .CMD programs into cassette-format .3BN files. Programs requiring disk services may still need adaptation.
  • BASIC text export: Converts extracted tokenized BASIC programs into readable .ASC files and supports tokenizing text BASIC into .BAS files.
  • Disk-program creation: Assembles Z80 source into standalone .CMD program files. This does not itself create a floppy image or insert the program into one.
  • Raw binary conversion: Converts .ROM and .BIN files to .CMD, with --start setting both load and execution addresses.
  • Machine-code disassembly: Disassembles extracted .CMD and supported .SYS files into assembly source or formatted listings, with optional entry points and code/data analysis controls.
  • Driver and overlay recognition: Detects program contents rather than relying only on filename extensions, allowing supported FLT, DVR, and OV? files to be treated like CMD files.
  • System-overlay analysis: Understands LDOS-style PDS files such as SYS6.SYS and SYS7.SYS, disassembling their overlays separately, and handles VTOS yanked-load blocks.
  • Boot-sector analysis: Recognizes supported .SYS files containing raw boot-sector dumps for use with info, hexdump, and disasm.
  • Annotated hexadecimal inspection: Uses hexdump to inspect extracted programs or supported boot-sector files, with optional expansion of repeated lines.

Disk Emulation and AI-Controlled Testing

  • Bootable-image testing: Starts the terminal emulator with a floppy image, for example trs80-tool run tdos13a.dsk.
  • Multiple mounted disks: Uses run --mount to mount several floppy images in consecutive drives starting at drive 0.
  • Persistent emulator writes: Where supported, changes made to a mounted floppy inside the emulator are written back to the underlying image file.
  • Write protection: Uses --write-protected to mount all floppy images read-only in the terminal emulator.
  • AI disk mounting: The MCP server provides mount_disk so an AI assistant can insert a disk image into a numbered drive without restarting the machine.
  • AI disk booting: The MCP reset tool retains mounted disks, allowing an assistant to reset the machine and boot from a newly mounted disk.
  • Automated disk-software testing: MCP tools let an assistant type DOS commands, inspect the screen and memory, step through code, and capture screenshots or video while testing disk-based software.

Import/Export between DSK and PC Directory

TRSTools v1.13

Date:
Mar 21, 2016
Author:
Matthew Reed
Manual:

TRSTools is a Windows Explorer-like utility that makes it easier to work with virtual disk images.

For beginners and intermediate users, this is the only utility you will need on this entire page as it has all the functions of almost every program here. For advanced users, you might also want Diskmanip and DMK File Viewer/Editor v1.01.

Features Include:

  • Open an existing virtual disk image (including hard drives)
  • Create a new virtual disk image
  • Add files to or extract files from the disk image (with file dates preserved)
  • Integrated File Viewer to Preview files. Supported Views:
    • Text files, with any line ending
    • Tokenized Model III BASIC programs
    • Model III and Model 4 high-resolution images (/HR)
    • Model 4 compressed high-resolution images (/CHR)
    • Model 4 super-compressed high-resolution images (/SHR)
    • EDTASM source files
    • CMD program files, displayed as a Z80 disassembly
    • Binary files (which can be viewed as a hexadecimal dump)
    • MULTIDOS high-resolution images
  • Rename files
  • Delete files
  • Change the disk label and volume date
  • Drag and Drop support to and from Windows Explorer
  • Patch LDOS to Accept File Dates Beyond 2012 (v1.05)
  • Read-only support for Color Computer RSDOS disks (v1.06)
  • Read and Write support for NEWDOS/86 (v1.07)
  • Read and Write support for TRSDOS v2.7 and v2.8 (v1.08)
  • Display PDRIVE Information for NEWDOS/80 Disks (v1.08)
  • Read and write support for over thirty-two TRS-80 CP/M formats, including Holmes, Lobo, LNW, Radio Shack, and Montezuma Micro (v1.08)
  • Read FreHD Partitions (v1.13)
  • Read support for TRSDOS v2.3B (v1.13)

Development of this utility stopped some time ago, but there were a number of disk formats I determiend were not working, so please beware when using this utility on any of the following:

  • MultiDOS double sided disks.
  • TRSDOS v2.3b disks.
  • DosPlus 3.4A for the Model III.
  • NEWDOS/80 images with damage on Track 1.
  • TRSDOS v2.77D, particularly deleting files, as they may corrupt the image.
  • TRSDOS 1.3 disks with extra data in a reserved area of the directory.

TRSREAD and TRSWRITE

Name:
TRSREAD and TRSWRITE v4.35 (Windows CLI)
Date:
Mar 21, 2016
Author:
Matthew Reed
Manual:

TRSREAD and TRSWRITE are command line utilities which allow for the import and export of files to/from DSK and DMK images.

TRSREAD usage is TRSREAD [options] virtual disk [files] where the [options] are

-s - Include system files
-i - Include invisible files
-e - Extract files from virtual disk
-v - Display directory of virtual disk (default)
-o - Overwrite Existing Files
-p - Select Partition (New in v4.35)

TRSExtract v1.1

A native, dependency-free reader and extractor for TRS-80 Model I NEWDOS/80 and G-DOS floppy disk images (.dmk, .dsk). Lists directories and extracts files byte-for-byte, with no emulator, no Windows, and no external tools required — just Python 3.

Built for the preservation of an original TRS-80 Model I disk collection, and validated against authoritative TRSTools extractions across multiple disk geometries.

This repository also includes an optional SwiftUI wrapper that gives the tool a native drag-and-drop macOS interface (see the end of this README).

It can be found at https://github.com/Egbert-Azure/trsextract


Virtual Disk Kit-80 v1.6

Name:
Virtual Disk Kit-80 v1.6
Date:
Feb 1, 2013
Author:
Miguel Dutra
OS:
Windows

Intended to allow one to perform a series of operations (read, write, rename, delete etc.) on files stored in a TRS-80 virtual disk image.

  • Supports all known TRS-80 model I/III/4 Operating Systems, except CP/M
  • Display the directory of files from the disks
  • Extract files from the disks
  • Add new files to the disks
  • Rename existing disk files
  • Delete files
  • Show the contents of a file (Hex/ASCII dump)
  • Show the contents of an entire disk (Hex/ASCII dump)

Note: Requires "libgcc_s_dw2-1.dll" (not included)

Commands:

-l - List directory (default)
-r - Read files
-w - Write files
-n - Rename files
-k - Delete files
-f - Dump file contents
-d - Dump disk contents

Virtual Floppy Disk Manager v1.7

Name:
Virtual Floppy Disk Manager v1.7
Date:
Mar 24, 2016
Author:
Miguel Dutra
OS:
Windows

This is a small utility which allows you to access virtual TRS-80 DSK/DMK images at a file level, as if they were normal PC disks. A virtual TRS-80 disk is actually a PC file encoded with information extracted from a real TRS-80 floppy, in order to preserve its content and also to enable its use with TRS-80 emulators.

The TRS-80 Virtual Disk Manager shows the file name, size, date and attributes of each directory item, supports reading both .DSK and .DMK image files, and allows exporting TRS-80 files to the Windows file system.

Only read support is implemented.


VREAD and VWRITE

Name:
VREAD and VWRITE v1.0 (Windows)
Date:
1993
Site:
http://www.vavasour.ca/jeff/trs80.html#model1

VREAD and VWRITE were the first DSK import/export utilities, packaged by Jeff Vavasour with his Model I emulator. These utilities cannot process only single density DSK files.


Emulator File Read and Copy

Date:
1996
Author:
Phil Ereaut (RIP)

This program reads DSK files, and displays the disk filenames in a list box. Clicking on a file, allows the file to be saved to a PC folder. It can be used just to view the Files on a DSK/DMK, if you dont want to copy the files.

It doesn't always work, but it has definitely helped me extract files from DSK images which the emulator would not recognize.


X/CMD

Name:
X/CMD for David Keil's Emulator
Date:
Apr 20, 2001
Author:
Knut Roll-Lund

Transfer utility for David Keil's emulator between the emulator and DOS

Virtual Disk Image Format Converters

These utilities will convert from one virtual format to another.

HxC Floppy Emulator

Name:
HxC Floppy Emulator
Date:
April 2025
Author:
Jean-Fran?ois DEL NERO
OS:
Windows and Mac

HxC makes a line of hardware floppy drive emulators that are quite popular. Included in their support downloads is HxCFloppyEmulator, which includes functions to load, convert (including batch processing), browse, and modify disk images. Features include:

  • Loading a raw disk image, specifying the bitrate, rps, number of tracks, sector id start, interleave, etc.
  • Batch converting disk images, specifying the target file format.
  • Disk Browser (not for TRS-80 disks)
  • Export into many file formats, including those for the TRS-80: HFE, IMG, JV3, DMK
  • Track Analyzer which shows a graphic representation of the disk, along with information.

As a side note, the Track Analyzer has a feature which allows you to "swap sides" and erase sides. This was especially useful for disks which were written using certain software which mounted a double sided drive as two different drive numbers. It took a lot of people a lot of time to try to figure out what was going on with those disks, and once it was determined what was happening, it was this software that allowed extraction of the second side as its own DMK image!

Also, older versions of this utility had a bug which prevented the program from accurately creating DMK images. The author advised that this has been corrected. If you do run into trouble, please reach out with the images so that further development can be made.


DiskManip

Name:
DiskManip v1.0.6.41
Date:
Oct 11, 2012
Author:
Aaron Brockbank
OS:
Windows

This is a utility that converts from TD0 (Teledisk) or IMD (ImageDisk) to DMK Format. Features include:

  • Convert TD0, IMD, D88, and DMK Images to DMK and D88
  • Identify virtual disk errors (Note: Exports CRC and BadID sectors as read, doesn't attempt to 'fix' nor 'repair' them)
  • DMK Repair (automatically merge good tracks/sectors from two different DMK images into one fixed image)
  • Import real Double Density (NO SD) disks into DMK and D88 formats using the built in floppy disk controller (install fdinstall beforehand)
  • Display directory of Model II disks (TRSDOS 1.2 and 2.0, LS-DOS 6.3.1 and DOSPLUS II A.00)

ImageDisk

Name:
ImageDisk v1.18
Date:
Mar 7, 2012
Author:
Dave Dunfield
OS:
DOS

While this is a complete ImageDisk package, it includes utilities which will convert from BIN (Binary), DMK (TRS-80 Standard), and TD0 (TeleDisk) to IMG.


CW2DMK

Name:
Date:
Dec 14, 2011
Author:
Tim Mann
Site:
http://www.tim-mann.org/catweasel.html

Will convert between DSK and DMK formats under Windows (current release within the CW2DMK package cannot run in x64 Windows).

DSK/DMK Display Utilities

DMKDump

Date:
2022
Author:
Quentin Barnes
OS:
DOS / LINUX x64 / Windows x64 / Windows x32

Display the sectors of a DMK image in both hex and ASCII.


DMK File Viewer/Editor

Date:
Mar 16, 2014
Author:
OS:
Windows

A small DMK file editor/viewer which is also able to compare two different DMK files. Works on tracks and sectors only and does not deal with file name or directories. Handles mixed density disks and displays both single-density and double-density sectors, even if they have the same sector numbers.

Displays the CRC for each sector and indicates whether the CRC is bad or not. If you edit a sector the CRC is automatically updated (and corrected). Of course you have to know what you are doing when modifying disk sectors, especially when they contain program files. Can edit using either hexadecimal or ASCII input.


CP/M Disk Directory

Date:
Jul 6, 2007
Author:
OS:
Windows / Linux

Will display the contents of a CP/M DSK image.

Linux USAGE: ./dskdir MMCPM231.DSK


File/Sector Display

Date:
Feb 1, 2009
Author:
Phil Ereaut (RIP)
OS:
Windows

Mode 1:

This program reads .DSK and DMK files, and displays the disk parameters, such as, Type of Emulator file, No of sides, Density, Tracks, Dual density, Tracks start at sector 1, etc. For Newdos disks, it will show the Pdrive paramters of the disk.

You can step through, and view the sector information, and the sector density for Dual Density disks. Stepping a Newdos disk, the present lump will be displayed Clicking the directory button, will display the start of the directory. Stepping through the directory sectors will show the File names in the directory, and also in colour, the bytes, that show where the files are located on the disk.

Mode 2: Sector display

This mode displays the sector, numbers and Density, on each track, in numerical order, or in the actual interleave order. It also shows the sectors with differing Data address marks. Handy to see the tracks densities, and no. of sectors. On most disks, this can show the Directory sectors, but some early disks have weird combinations of data address marks.

Mode 3: Hex Editor

Will display the Hex and Ascii bytes of any file. This was a for myself, to have a look at the funny files that could not be read by the program. I left it in, as it may be handy for someone. For Emulator Dmk, and JV files, it shows the headers, Blocks, Idams, etc, in different colours to easily identify the set up of these files.

DSK/DMK Analysis Utilities

DMKCHK

Date:
2022
Author:
Quentin Barnes
OS:
DOS / LINUX x64 / Windows x64 / Rasperry Pi

Will scan a DMK image and report back any sectors which are bad. A "bad sector" is one that its stored data CRC doesn't match its computed data CRC.


PDRIVE Finder

Name:
Date:
2009
Author:
Phil Ereaut (RIP)
OS:
Windows

Will display the PDRIVE settings of any DSK or DMK image which was "formatted" by NEWDOS/80.

NOTE: TRSTools will also do this.


File Type/Format Finder

Date:
Feb 1, 2009
Author:
Phil Ereaut (RIP)
OS:
Windows

This utility analyzes DSK and DMK files and shows filename, DOS, PDRIVES, Tracks, Density, Sides, Sec/Cyl and SPG. Will also note where Track Sectors start at 1.