Skip to main content

Crate xdms

Crate xdms 

Source
Expand description

Pure-Rust unpacker for DMS (Disk Masher System) Amiga disk archives.

DMS is the de-facto Amiga format for compressed copies of non-DOS disks (games, demos). This crate decompresses a .dms archive into a raw ADF disk image, which is what Amiga emulators consume.

It is a clean-room port of the public-domain C tool xDMS by André Rodrigues de la Rocha (maintained by Heikki Orsila). See the crate README for usage.

The crate is no_std + alloc when built with default-features = false; the default std feature adds the std::io-based API.

Structs§

DmsArchive
A DMS archive read from any std::io::Read.
GenInfo
Archive-wide “general info” flags (the C geninfo bitfield).
Info
Metadata from the 56-byte archive header.
Summary
Outcome of unpacking or verifying an archive.

Enums§

DiskType
Filesystem/format the archived disk holds (the C disktype).
Error
Everything that can go wrong while reading or decompressing a DMS archive.
Mode
Compression mode of a single track (the C cmode).

Functions§

unpack
Decompresses DMS data from a reader to a writer.
unpack_bytes
Decompresses an in-memory DMS archive into an ADF image.
unpack_file
Decompresses a .dms file to a .adf file.
unpack_to_vec
Decompresses DMS data from a reader into a new ADF byte buffer.

Type Aliases§

Result
Convenient Result alias for fallible xdms operations.