2025-10-12 03:59:52 +01:00
2025-12-13 17:28:48 +00:00
2025-12-01 12:55:48 +00:00
2025-12-10 08:45:15 +00:00
2025-07-31 09:50:10 +01:00
2022-09-16 15:52:41 +01:00
2025-10-11 14:06:30 +01:00
2024-04-30 15:51:47 +01:00
2019-03-16 17:40:39 +00:00

libaaruformat

C implementation of Aaru file format.

The target is to be able to compile it with a normal C (C89 compliant) compiler.

There are no external dependencies.

cmake is not a hard dependency, it's merely for the ease of using IDEs (specifically CLion).

Currently supported features:

  • AaruFormat V1 images reading (writing will never be implemented)
  • AaruFormat V2 images reading and writing
  • LZMA compression
  • Claunia Subchannel Transform
  • Optical disc tracks
  • XML metadata retrieval (writing will never be implemented)
  • JSON metadata retrieval and writing
  • Hashing while writing (MD5, SHA1, SHA256, SpamSum and BLAKE3)
  • Deduplication
  • Tape file and partitions
  • Dump hardware lists
  • Currently on sync (as of October 2025) with Aaru's media type list
  • CHS geometry retrieval and setting
  • Metadata
  • Unit testing
  • Automatic generation of API documentation
  • It is to all effects feature parity with C#

Things still to be implemented that are already in the C# version:

  • Automatic media type generation from C# enumeration
  • Nuget package for linking with Aaru

Things to be implemented not in the C# version (maybe):

  • Compile for Dreamcast (KallistiOS preferibly)
  • Compile for PlayStation Portable
  • Compile for Wii
  • Compile for Wii U
  • Compile for PlayStation 2
  • Compile for PlayStation 3
  • Snapshots
  • Parent images
  • Data positioning measurements
Description
C implementation of Aaru file format.
Readme LGPL-2.1 63 MiB
Languages
C 92.9%
C++ 5.9%
CMake 1.1%
Shell 0.1%