Sustainability of Digital Formats: Planning for Library of Congress Collections |
|
![]() |
|
Introduction | Sustainability Factors | Content Categories | Format Descriptions | Contact |
Full name | A2R Apple II Flux Disk Image |
---|---|
Description |
A2R is a chunk-based file binary format for storing flux data created by John K. Morris as part of the Applesauce project. Specification version 3.x (in use as of 2025) states: "The A2R format began life as the container format for raw flux images as recorded by the Applesauce hardware and software. The A2R format has evolved a few times since I [John K. Morris] originally started work on Applesauce, and is now more of a generic flux format that is compatible with disk imagers and tools other than Applesauce. It is a simple format, but contains many advantages over other flux formats such as being extensible, content-independent, allows a variable number of captures per-track, supports hard sectored disks, and is able to contain complex metadata." As Tyler Thorsted writes in his article A2R / MOOF / WOZ, A2R can "contain all the small nuances of the original floppy, this includes recording any copy protection or other creative methods used by software vendors throughout the years...Once the full raw flux data has been captured that data can be interpreted as a disk image" using the Applesauce software. A2R's file header structure starts with first 8 bytes containing the ASCII file signature/magic number (A2R2 or A2R3 depending on the version). This is followed with an intentionally blank space and LF CR LF (line breaks - that file translators sometimes unnecessarily try to convert). After the header comes a sequence of chunks which each contain information about the disk image. Using chunks allows for the A2R disk format to provide forward compatibility as chunks can be added to the specification. Chunks each have a Chunk ID, Chunk Size and then Chunk Data. The header is followed by the required INFO chunk, as it is in all Applesauce files. The INFO chunk contains "fundamental information about the contained image. The data of the ‘INFO’ chunk begins at byte 20 of the file and is 60 bytes long (pad "chunk with zeros to full length)." INFO chunk data includes Disk Type (5.25 or 3.5), if the floppy disk is write protected, and the "creator" field documents the name of software that created the WOZ file among other details. The INFO chunk is followed by one or more Raw Capture/RWCP chunk(s) which contains raw data streams as captured during the imaging process. Optional chunks include one ore more Solved Flux Streams/SLVD chunk(s) which "contains flux stream that have been solved, which means that there are no extra flux transitions and that the data is a perfect loop (single rotation) of the track contents. This track data is also appropriate for use with emulators." Also optional is the ‘META’ chunk which contains metadata for the disk image including name/title of the product, publisher, version, copyright date, language and more. There are also options for documenting the disk imaging process with contributor (Name of the person who imaged the disk) and image_date (ISO8601 date of the imaging). Samples of A2R files can be found via the Internet Archive. |
Production phase | Middle-state. |
Relationship to other formats | |
Affinity to | MOOF, MOOF Disk Image. Like WOZ, MOOF is a Macintosh floppy disk image format designed for use with Applesauce, the Macintosh floppy drive controller. The MOOF and WOZ formats encode different metadata. |
Affinity to | WOZ, WOZ Disk Image. WOZ is a chunk-based binary Macintosh floppy disk image format designed for use with Applesauce, the Macintosh floppy drive controller. The MOOF and WOZ formats encode different metadata. |
LC experience or existing holdings | None |
---|---|
LC preference | The Library of Congress has not yet expressed any format preference for disk image files in its Recommended Formats Statement. |
Disclosure | Full and open specification. Comments welcome. |
---|---|
Documentation |
There are three main versions and one known minor release of the A2R specification but the compilers of this resource were not able to locate documentation for version 1x. See History for information about the different releases.
Comments welcome, especially about additional version documentation. |
Adoption |
Created and supported by Applesauce. A number of sample libraries exist as well as many hardware and software emulators. Several open source options are available including a2woz to process A2R files to WOZ files (active as of 2025) and a2rchery (seems to be inactive since 2018). |
Licensing and patents | Unknown. Related formats for the Applesauce project MOOF and WOZ, also authored by John K. Morris, are in the public domain so this might also follow that pattern but it is not specified for A2R. Comments welcome. |
Transparency | Dependent upon algorithms and tools to read. |
Self-documentation |
According to the published specifications, the format utilizes a chunk-based, binary format designed for future-proof expandability. Technical and descriptive metadata are stored in the INFO chunk. The chunk is versioned to allow for adding additional metadata in the future. Accessibility Support Support for accessibility features for is unknown and undocumented. However, the structured and consistent chunk based format including some provenance and descriptive embedded data in the META chunk could potentially be helpful. |
External dependencies | Requires emulator software for use. |
Technical protection considerations | None. |
Tag | Value | Note |
---|---|---|
Filename extension | a2r |
Not defined in specification but in common use and listed in ArchivesTeam A2R disk image. Comments welcome. |
Magic numbers | ASCII: A2R2 Hex: 41 32 52 32 |
For version 2 of the specification. The ASCII string ‘A2R2’ (0x32523241). The final character in this string is the major version number of the A2R specification which this file conforms. |
Magic numbers | ASCII: A2R3 Hex: 41 32 52 33 |
For version 3 of the specification. The ASCII string ‘A2R3’ (0x33523241). The final character in this string is the major version number of the A2R specification which this file conforms. |
Other | See note. | No NARA File Format Preservation Plan ID entry as of February 2025. |
Pronom PUID | See note. | PRONOM has no corresponding entry as of February 2025. |
Wikidata Title ID | Q105857558 |
See https://www.wikidata.org/wiki/Q105857558 for A2R disk image (v1). |
Wikidata Title ID | Q105857518 |
See https://www.wikidata.org/wiki/Q105857518 for A2R disk image (v2). |
Wikidata Title ID | Q128123326 |
See https://www.wikidata.org/wiki/Q128123326 for A2R disk image (v3). |
General | Specification version 3 says that "the A2R format began life as the container format for raw flux images as recorded by the Applesauce hardware and software. The A2R format has evolved a few times since I [author John K. Morris] originally started work on Applesauce, and is now more of a generic flux format that is compatible with disk imagers and tools other than Applesauce." |
---|---|
History |
There are two main versions of the A2R specification and one documented minor release. See Documentation and Format Specifications for links.
The compilers of this resource were unable to find documentation for version 1. Comments welcome. Specification version 3 is not backwards compatible earlier versions. Specification version 2.0.1 states that "if you need to convert earlier A2R files to the current version, it can be done with the Applesauce software." Changes for version 3 are significant and include the removal of the STRM chunk and introduction of the RWCP chunk which contains raw data streams as captured during the imaging process as well as the optional SLVD Chunk – Solved Flux Streams which "contains flux stream that have been solved, which means that there are no extra flux transitions and that the data is a perfect loop (single rotation) of the track contents. This track data is also appropriate for use with emulators. This chunk is completely optional and can also exist in A2R files that contain RWCP chunks. The format of the flux data is the same packed data format that is used for timing and xtiming in RWCP chunks." Specification version 2.0.1 includes a high level change log from version 2.0. These "some cleanup for 3.5 disks and Macintosh support" including in the STRM and META chunks. |
|