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
geninfobitfield). - Info
- Metadata from the 56-byte archive header.
- Summary
- Outcome of unpacking or verifying an archive.
Enums§
- Disk
Type - 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
.dmsfile to a.adffile. - unpack_
to_ vec - Decompresses DMS data from a reader into a new ADF byte buffer.
Type Aliases§
- Result
- Convenient
Resultalias for falliblexdmsoperations.