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
|
.\" 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 "XFD2ATR" 1 "2024-06-07" "0.2.1" "Urchlay's Atari 8-bit Tools"
.SH NAME
xfd2atr \- Convert an Atari 8-bit XFD (raw) disk image to an ATR image.
.\" RST source for xfd2atr(1) man page. Convert with:
.
.\" rst2man.py xfd2atr.rst > xfd2atr.1
.
.\" rst2man.py comes from the SBo development/docutils package.
.
.SH SYNOPSIS
.sp
\fIxfd2atr\fP [\fI\-sd\fP] \fIinfile.xfd\fP [\fIoutfile.atr\fP]
.SH DESCRIPTION
.sp
\fBxfd2atr\fP generates and adds a 16\-byte ATR header to an XFD
image. If no \fB\-s\fP or \fB\-d\fP options are given, xfd2atr tries to
guess the density based on the file size.
.SH OPTIONS
.INDENT 0.0
.TP
.B \-s
Assume the image uses single density (128\-byte) sectors, instead
of trying to guess the density from the file size.
.TP
.B \-d
Assume the image uses double density (256\-byte) sectors, instead
of trying to guess the density from the file size.
.UNINDENT
.SH NOTES
.sp
You may use \fB\-\fP for \fIinfile\fP to read from standard input and/or
\fB\-\fP for \fIoutfile\fP to write to standard output. If a filename is
supplied for \fIoutfile\fP, it will always be used as\-is (no \fI\&.atr\fP
extension will be appended).
.sp
If \fIoutfile\fP is omitted, it is constructed like so:
.INDENT 0.0
.INDENT 3.5
.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\&.xfd\fP or \fI\&.XFD\fP
extension, replace the extension with \fI\&.atr\fP\&.
.IP \(bu 2
Otherwise, append \fI\&.atr\fP to the input filename.
.UNINDENT
.UNINDENT
.UNINDENT
.sp
Since XFD images are raw dumps with no header or structure, it\(aqs
impossible to know the correct density (bytes/sector) for a given
image for certain.
.sp
However, no known Atari\-compatible disk format uses other than 128
or 256 bytes per sector (or possibly 512, for some hard disk images,
but \fBxfd2atr\fP doesn\(aqt support these). This means any file that isn\(aqt a
multiple of 128 bytes in size will be rejected.
.sp
Likewise, no known format uses an odd number of sectors, and
it\(aqs assumed that all double\-density images will begin with 3
single\-density boot sectors (true of all floppy images you\(aqre
ever likely to run across; may not be true of hard disk images).
.sp
Given these assumptions, \fBxfd2atr\fP is able to make an educated
guess about the correct sector size and count to use for the ATR
header it generates. If it guesses wrong, the resulting ATR image
will be unusable; if this happens, re\-run \fBxfd2atr\fP and force the
density with \fB\-s\fP or \fB\-d\fP\&.
.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 XFD 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.
.
|