ATR

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Sample files)
 
(9 intermediate revisions by 5 users not shown)
Line 4: Line 4:
 
|extensions={{ext|atr}}
 
|extensions={{ext|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.
+
:''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 [http://pages.suddenlink.net/wa5bdu/index.htm Nick Kennedy] and is supported by most Atari emulators.
  
 
== Format ==
 
== Format ==
 
Files have a 16-byte header, followed by a raw sector-by-sector dump of the disk.
 
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 ==
 
== 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>
 
<p>'''Size of disk image''' ''<WORD>'': The size is expressed in "paragraphs". A paragraph is sixteen bytes, thus Size = Image size in bytes / 16.</p>
 
<p>'''Size of disk image''' ''<WORD>'': The size is expressed in "paragraphs". A paragraph is sixteen bytes, thus Size = Image size in bytes / 16.</p>
 
<p>'''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
 
<p>'''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.</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>'''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>'''5 SPARE header bytes''' ''(contain zeroes)''</p>
 +
 
 +
<p>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.</p>
  
 +
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 23: Line 38:
  
 
== Specifications ==
 
== Specifications ==
* [http://www.atarimax.com/jindroush.atari.org/afmtatr.html ATR File Format Description]
+
* [http://pages.suddenlink.net/wa5bdu/siofaq.htm#P Original ATR File Format Description]
 +
* [http://www.atarimax.com/jindroush.atari.org/afmtatr.html AtariMax extentions to the standard ATR format.] Note that not all software will recognize these extensions.
  
 
== Software ==
 
== Software ==
 
* [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]
 +
* {{Deark}}
 +
* [https://github.com/jhallen/atari-tools atari-tools]
  
 
== Sample files ==
 
== Sample files ==
Line 34: Line 53:
 
* http://www.mushca.com/f/atari/
 
* http://www.mushca.com/f/atari/
 
* ftp://ftp.pigwa.net/stuff/collections/Homesoft/
 
* ftp://ftp.pigwa.net/stuff/collections/Homesoft/
 +
* {{DexvertSamples|archive/atr}}
  
 
[[Category:Atari computers]]
 
[[Category:Atari computers]]

Latest revision as of 15:05, 28 December 2023

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

[edit] 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.

[edit] 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.

[edit] See also

[edit] Specifications

[edit] Software

[edit] Sample files

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox