DMS File Documentation


Summary

A .dms file is an Amiga Disk Masher System image, a compressed snapshot of a Commodore Amiga floppy disk used to archive and share Amiga software. Its MIME type is application/octet-stream. You open it with an Amiga emulator: Amiga Forever or WinUAE on Windows, FS-UAE on Mac and Linux. The cleanest route is to decompress the .dms to a plain .adf disk image with the free xDMS tool, then mount that in the emulator. The .dms extension is reused by a few unrelated programs, so if the file does not start with DMS! it is something else.

Technical details

FeatureValue
Full nameAmiga Disk Masher System image
File extension.dms
MIME typeapplication/octet-stream
Format typeCompressed Amiga floppy-disk image (binary)
DeveloperSDS Software (Disk Masher System)
IntroducedEarly 1990s (Commodore Amiga)
Open standardNo — proprietary Amiga-scene format
Magic number44 4D 53 21 (ASCII DMS!) at offset 0
Byte orderBig-endian (Motorola 68000)
Source disk3.5″ 880 KB Amiga floppy (all tracks captured)
CompressionDMS modes (none, simple, quick, medium, deep, heavy)
Decompresses to.adf (raw 880 KB Amiga disk image)
Open withWinUAE, Amiga Forever, FS-UAE, xDMS
Other .dms usesExigen imaging, Domino MIDI, BYOND scripts (separate types)
Related extensions.adf, .adz, .ipf, .lha, .lzx, .dsk
Specificationjustsolve.archiveteam.org (Disk Masher System)
File signature (magic bytes)
44 4D 53 21

Offset 0, 4 bytes. In ASCII this reads DMS! and marks an Amiga Disk Masher System image. A fixed-size information header follows, recording the track range, the compression mode, the original disk geometry and checksums, ahead of the compressed track data. Unrelated .dms files from other programs do not carry this marker, so checking for DMS! confirms the file really is an Amiga disk image.

What is a DMS file?

DMS stands for Disk Masher System, a compression tool and file format from the early 1990s for the Commodore Amiga, written by SDS Software. A .dms file is a compressed image of an entire Amiga floppy disk, the 3.5-inch 880 KB disk, captured track by track. Unlike an ordinary file copy, it preserves the whole low-level disk, including boot blocks and the unusual custom track layouts that copy-protected software used, so a disk could be archived and shared as one compact file.

DMS was hugely popular in the Amiga scene for distributing games and software over bulletin board systems, and you still find .dms files in Amiga preservation archives today. An Amiga DMS file always begins with the ASCII marker DMS!. That signature matters, because the short .dms extension has been reused by unrelated programs, a discontinued document-imaging system, the Domino MIDI editor, and BYOND’s Dream Maker scripts, which are separate file types identified by their origin. If your file does not start with DMS!, it is not an Amiga disk image and the rest of this page does not apply to it.

The DMS! header and what it records

After the four-byte DMS! marker at offset 0 comes a fixed information header describing the archived disk. Amiga data is big-endian (the Motorola 68000 byte order), so multi-byte fields read most-significant-byte first. The header records the range of tracks stored, the compression mode used, the geometry of the original disk, and checksums that let a decompressor verify integrity. Following the header, the disk is stored as a sequence of compressed tracks, each with its own small track header giving its number and packed length, so a reader can walk track by track and rebuild the disk in order.

The DMS compression modes

DMS did not use one algorithm but a set of selectable modes of increasing strength, chosen when the image was created. The common names are None (store only), Simple (run-length), Quick, Medium, Deep and Heavy, with the stronger modes layering more aggressive dictionary and entropy compression on top of the basic scheme. The mode is recorded in the header so the decompressor knows how to unpack each track. This is why a generic unzip tool cannot read a .dms: it is not a ZIP or a standard archive but an Amiga-specific disk-compression format, and only a DMS-aware tool understands its track structure and modes.

Decompressing to ADF, the universal Amiga disk image

The natural first step with an Amiga DMS is to decompress it to a plain .adf (Amiga Disk File), the uncompressed, universally mountable form of the same 880 KB floppy. The small command-line tool xDMS does this:

xdms u disk.dms        # unpack disk.dms to disk.adf

The resulting .adf is a raw byte-for-byte image of the disk that every Amiga emulator reads, and some tools can even browse its files directly. Treating the format as a rename to a generic disk image (.img) is roughly equivalent, though .adf is the proper Amiga term. Re-zipping a .dms is pointless: it is already compressed, and a ZIP tool cannot see the disk inside, so decompress to .adf rather than trying to unzip the .dms.

Running the disk in an Amiga emulator

To actually run the Amiga software the disk contains, you need an Amiga emulator, because the code is 68000 machine code for AmigaOS, not for a PC. On Windows, WinUAE is the standard free emulator; add the .dms (or its decompressed .adf) as a floppy-disk image and boot the emulated Amiga. Amiga Forever, Cloanto’s commercial package, bundles the emulator with legally licensed Kickstart ROMs and Workbench, which is the simplest legal way to get a working system. On modern Macs and Linux, FS-UAE fills the same role: mount the .adf and boot. Booting from the disk reproduces the original Amiga exactly as the floppy would have started it on real hardware.

References