ATR

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
m (Header Structure)
(2 intermediate revisions by 2 users not shown)
Line 10: Line 10:
  
 
== Header Structure ==
 
== Header Structure ==
There is a 16 byte header with the following information ''(WORDs are in [http://en.wikipedia.org/wiki/Endianness little endian] format)'':
+
There is a 16 byte header with the following information ''(WORDs are in [[Endianness|little endian]] format)'':
  
 
<p>'''Identification''' ''<WORD>'': ($9602). This word is the 16 bit sum of the individual ASCII values of the string of bytes: "NICKATARI".</p>
 
<p>'''Identification''' ''<WORD>'': ($9602). This word is the 16 bit sum of the individual ASCII values of the string of bytes: "NICKATARI".</p>
Line 17: Line 17:
 
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 [http://www.virtualdub.org/altirra.html Altirra] and [https://sourceforge.net/projects/aspeqt/ AspeQt] can make use of the 512 byte sectors in ATR files.</p>
 
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 [http://www.virtualdub.org/altirra.html Altirra] and [https://sourceforge.net/projects/aspeqt/ AspeQt] can make use of the 512 byte sectors in ATR files.</p>
 
<p>'''High part of size''' ''<WORD>'': in paragraphs ''(added by REV 3.00)''</p>
 
<p>'''High part of size''' ''<WORD>'': in paragraphs ''(added by REV 3.00)''</p>
<p>'''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.</p>
+
<p>'''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.</p>
 
<p>'''1st bad sector''' ''<WORD>'': The 10th and 11th bytes of the header is a word which contains the number of the first bad sector.</p>  
 
<p>'''1st bad sector''' ''<WORD>'': The 10th and 11th bytes of the header is a word which contains the number of the first bad sector.</p>  
 
<p>'''5 SPARE header bytes''' ''(contain zeroes)''</p>
 
<p>'''5 SPARE header bytes''' ''(contain zeroes)''</p>
Line 24: Line 24:
  
 
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.
 
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 ==
 
== See also ==
Line 38: Line 36:
 
* [http://www.hcrburk.de/amanager.html Atari-FileManagement] (Old windows binary. Still works on Windows 7, but only barely.)
 
* [http://www.hcrburk.de/amanager.html Atari-FileManagement] (Old windows binary. Still works on Windows 7, but only barely.)
 
* [http://www.atarimax.com/jindroush.atari.org/asoft.html Adir] (Untested MS-DOS binary &amp; source code.)
 
* [http://www.atarimax.com/jindroush.atari.org/asoft.html Adir] (Untested MS-DOS binary &amp; source code.)
 +
* [[Konvertor]]
 
* [http://cd.textfiles.com/suzybatari2/8_bit/sio2pc/ SIO2PC]
 
* [http://cd.textfiles.com/suzybatari2/8_bit/sio2pc/ SIO2PC]
  

Revision as of 16:53, 21 June 2017

File Format
Name ATR
Ontology
Extension(s) .atr
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.

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