ATR

From Just Solve the File Format Problem
Revision as of 14:40, 17 December 2020 by Jsummers (Talk | contribs)

Jump to: navigation, search
File Format
Name ATR
Ontology
Extension(s) .atr
For another "ATR" format, see ATR (ZX Spectrum).

ATR is an Atari floppy disk image format associated with SIO2PC, a product that connects Atari and PC computers. It was created by Nick Kennedy and is supported by most Atari emulators.

Contents

Format

Files have a 16-byte header, followed by a raw sector-by-sector dump of the disk.

Single density images are 92,176 bytes long.

Enhanced density images are 133,136 bytes long.

Double density images are 183,952 bytes long.

Header Structure

There is a 16 byte header with the following information (WORDs are in little endian format):

Identification <WORD>: ($9602). This word is the 16 bit sum of the individual ASCII values of the string of bytes: "NICKATARI".

Size of disk image <WORD>: The size is expressed in "paragraphs". A paragraph is sixteen bytes, thus Size = Image size in bytes / 16.

Sector size <WORD>: 128 ($80) or 256 ($100) bytes per sector. Note that the original documentation only specifies two sector sizes, in practice however there is also sector size 512 ($200). 512 byte sectors were introduced by SpartaDOS X, and are sometimes used to create large ATR images. Some Atari Emulators and Peripheral emulators such as Altirra and AspeQt can make use of the 512 byte sectors in ATR files.

High part of size <WORD>: in paragraphs (added by REV 3.00)

Disk flags <BYTE>: Flags such as copy protection and write protect. The 9th byte of the header contains information in individual bits. Bit 4 = 1 means the disk image is treated as copy protected (has bad sectors). Bit 5 = 1 means the disk is write protected.

1st bad sector <WORD>: The 10th and 11th bytes of the header is a word which contains the number of the first bad sector.

5 SPARE header bytes (contain zeroes)

After the header comes the disk image. This is just a continuous string of bytes, with the first 128 bytes being the contents of disk sector 1, the second being sector 2, etc. The first 3 sectors of an Atari disk must be 128 bytes long even if the rest of the sectors are 256 bytes or more.

Note that not all software will recognize or use the 1st bad sector header data, and some software do not follow the "first 3 sectors must be 128 bytes long" rule.

See also

Specifications

Software

Sample files

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox