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
| Feature | Value |
|---|---|
| Full name | Amiga Disk Masher System image |
| File extension | .dms |
| MIME type | application/octet-stream |
| Format type | Compressed Amiga floppy-disk image (binary) |
| Developer | SDS Software (Disk Masher System) |
| Introduced | Early 1990s (Commodore Amiga) |
| Open standard | No — proprietary Amiga-scene format |
| Magic number | 44 4D 53 21 (ASCII DMS!) at offset 0 |
| Byte order | Big-endian (Motorola 68000) |
| Source disk | 3.5″ 880 KB Amiga floppy (all tracks captured) |
| Compression | DMS modes (none, simple, quick, medium, deep, heavy) |
| Decompresses to | .adf (raw 880 KB Amiga disk image) |
| Open with | WinUAE, Amiga Forever, FS-UAE, xDMS |
Other .dms uses | Exigen imaging, Domino MIDI, BYOND scripts (separate types) |
| Related extensions | .adf, .adz, .ipf, .lha, .lzx, .dsk |
| Specification | justsolve.archiveteam.org (Disk Masher System) |
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
- Just Solve the File Format Problem — Disk Masher System
- Wikipedia — Disk Masher System
- WinUAE — Amiga emulator
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.