1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
|
.\" Man page generated from reStructuredText.
.
.
.nr rst2man-indent-level 0
.
.de1 rstReportMargin
\\$1 \\n[an-margin]
level \\n[rst2man-indent-level]
level margin: \\n[rst2man-indent\\n[rst2man-indent-level]]
-
\\n[rst2man-indent0]
\\n[rst2man-indent1]
\\n[rst2man-indent2]
..
.de1 INDENT
.\" .rstReportMargin pre:
. RS \\$1
. nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin]
. nr rst2man-indent-level +1
.\" .rstReportMargin post:
..
.de UNINDENT
. RE
.\" indent \\n[an-margin]
.\" old: \\n[rst2man-indent\\n[rst2man-indent-level]]
.nr rst2man-indent-level -1
.\" new: \\n[rst2man-indent\\n[rst2man-indent-level]]
.in \\n[rst2man-indent\\n[rst2man-indent-level]]u
..
.TH "ATR2XFD" 1 "2024-06-07" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
atr2xfd \- Convert an Atari 8-bit ATR disk image to a raw (XFD) image
.\" RST source for atr2xfd(1) man page. Convert with:
.
.\" rst2man.py atr2xfd.rst > atr2xfd.1
.
.\" rst2man.py comes from the SBo development/docutils package.
.
.SH SYNOPSIS
.sp
\fBatr2xfd\fP \fIinfile.atr\fP [\fIoutfile.xfd\fP]
.sp
\fBatrcheck\fP \fIinfile.atr\fP
.SH DESCRIPTION
.sp
\fBatr2xfd\fP strips the 16\-byte ATR header from an ATR image. While this
could be done with a command like:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
dd if=infile.atr outfile.xfd bs=16 skip=1
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
\&...**atr2xfd** first checks that its input is in fact an ATR file, then
checks the ATR header and reports any problems it may find.
.sp
\fBatrcheck\fP performs the same checks as \fBatr2xfd\fP, but doesn\(aqt actually
write an XFD image. In fact, \fBatrcheck\fP is a symbolic link to \fBatr2xfd\fP,
which changes its behaviour (simply doesn\(aqt write any output) when
called via the link. \fBatrcheck\fP also examines the boot sector of the ATR,
and attempts to detect which Atari DOS is on the image (if any).
.sp
Neither \fBatr2xfd\fP nor \fBatrcheck\fP take any options.
.SH NOTES
.sp
For both commands, you may use \fB\-\fP for \fBinfile\fP to read from
standard input. For \fBatr2xfd\fP, use \fB\-\fP for \fBoutfile\fP to write
to standard output. If a filename is supplied for \fBoutfile\fP, it will
always be used as\-is (no \fI\&.xfd\fP extension will be appended).
.sp
If outfile is omitted, it is constructed like so:
.INDENT 0.0
.IP \(bu 2
If reading from standard input, write to standard output.
.IP \(bu 2
If reading from a file whose name ends with an \fI\&.atr\fP or \fI\&.ATR\fP extension,
replace the extension with \fI\&.xfd\fP\&.
.IP \(bu 2
Otherwise, append \fI\&.xfd\fP to the input filename.
.UNINDENT
.SH EXAMPLES
.sp
Check an image:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ atrcheck dos_20s.atr
atrcheck: size is 5760 16\-byte paragraphs
atrcheck: sectors: 720, sector size: 128 bytes
atrcheck: dos_20s.atr is a standard SS/SD image, 90K
atrcheck: ATR image OK (no fatal errors).
[ exit status is 0 ]
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Check an image and convert to XFD:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ atr2xfd dos_20s.atr
atr2xfd: input \(aqdos_20s.atr\(aq, output \(aqdos_20s.xfd\(aq
atr2xfd: size is 5760 16\-byte paragraphs
atr2xfd: sectors: 720, sector size: 128 bytes
atr2xfd: dos_20s.atr is a standard SS/SD image, 90K
atr2xfd: ATR image OK (no fatal errors).
atr2xfd: XFD image OK, wrote 92160 bytes
[ exit status is 0 ]
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Attempt to use atrcheck with an XFD image:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ atrcheck dos_20s.xfd
atrcheck: (fatal) dos_20s.xfd looks like an XFD image, not an ATR
[ exit status is 2 ]
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Here, games001.atr is one of the old Yogi/Jellystone 1 meg images:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ atrcheck games001.atr
atrcheck: size is 65536 16\-byte paragraphs
atrcheck: sectors: 8192, sector size: 128 bytes
atrcheck: games001.atr is a high\-capacity floppy or hard disk image, SD
atrcheck: ATR image OK (no fatal errors).
[ exit status is 0 ]
.ft P
.fi
.UNINDENT
.UNINDENT
.sp
Here is an attempt to treat a non\-image file as an image:
.INDENT 0.0
.INDENT 3.5
.sp
.nf
.ft C
$ atrcheck /bin/ls
atrcheck: size is 5120 16\-byte paragraphs
atrcheck: (fatal) /bin/ls not an ATR file (no NICKATARI signature)!
[ exit status is 2 ]
.ft P
.fi
.UNINDENT
.UNINDENT
.SH EXIT STATUS
.sp
Exit status is zero for success, non\-zero for failure. Further,
exit status will be 1 for errors involving file I/O (file not found,
permissions, etc), and 2 for structural errors in the ATR file.
.SH COPYRIGHT
.sp
WTFPL. See \fI\%http://www.wtfpl.net/txt/copying/\fP for details.
.SH AUTHOR
.INDENT 0.0
.IP B. 3
Watson <\fI\%urchlay@slackware.uk\fP>; Urchlay on irc.libera.chat \fI##atari\fP\&.
.UNINDENT
.SH SEE ALSO
.sp
\fBa8eol\fP(1),
\fBa8utf8\fP(1),
\fBatr2xfd\fP(1),
\fBatrsize\fP(1),
\fBaxe\fP(1),
\fBblob2c\fP(1),
\fBblob2xex\fP(1),
\fBcart2xex\fP(1),
\fBdasm2atasm\fP(1),
\fBdumpbas\fP(1),
\fBf2toxex\fP(1),
\fBfenders\fP(1),
\fBprotbas\fP(1),
\fBrenumbas\fP(1),
\fBrom2cart\fP(1),
\fBunmac65\fP(1),
\fBunprotbas\fP(1),
\fBxexamine\fP(1),
\fBxexcat\fP(1),
\fBxexsplit\fP(1),
\fBxfd2atr\fP(1),
\fBxex\fP(5),
\fBatascii\fP(7).
.sp
Any good Atari 8\-bit book: \fIDe Re Atari\fP, \fIThe Atari BASIC Reference
Manual\fP, the \fIOS Users\(aq Guide\fP, \fIMapping the Atari\fP, etc.
.\" Generated by docutils manpage writer.
.
|