\newcommand{\goodcd}{\includegraphics[width=15mm]{icons/good-cd.png}}
\newcommand{\badcd}{\includegraphics[width=16mm]{icons/bad-cd.png}}
\newcommand{\badcdone}{\includegraphics[width=19mm]{icons/bad-cd1.png}}
\newcommand{\goodimage}{\includegraphics[width=13mm]{icons/good-image.png}}
\newcommand{\goodimagetwo}{\includegraphics[width=13mm]{icons/good-image2.png}}
\newcommand{\badimage}{\includegraphics[width=15mm]{icons/bad-image.png}}
\newcommand{\oldcd}{\includegraphics[width=15mm]{icons/old-cd.png}}
\newcommand{\oldimage}{\includegraphics[width=15mm]{icons/old-image.png}}
\newcommand{\augmentedcd}{\includegraphics[width=15mm]{icons/augmented-cd.png}}
\newcommand{\eccfile}{\includegraphics[width=13mm]{icons/ecc-file.png}}
\newcommand{\backupone}{\includegraphics[width=18mm]{icons/backup1.png}}
\newcommand{\backuptwo}{\includegraphics[width=19mm]{icons/backup2.png}}
\newcommand{\rightarr}{\includegraphics[width=11mm]{icons/right-arrow.png}}
\newcommand{\downarr}{\includegraphics[height=11mm]{icons/down-arrow.png}}
\newcommand{\downforkarr}{\includegraphics[height=11mm]{icons/down-fork-arrow.png}}
\newcommand{\rdiagarr}{\includegraphics[height=9mm]{icons/rdiag-arrow.png}}
\newcommand{\ldiagarr}{\includegraphics[height=9mm]{icons/ldiag-arrow.png}}
\newcommand{\joinarr}{\includegraphics[height=11mm]{icons/join-arrow.png}}

\newcommand{\slotin}{\includegraphics[height=17mm]{icons/slot-in.png}}
\newcommand{\filemanager}{\includegraphics[height=20mm]{icons/filemanager.png}}
\newcommand{\selectdrive}{\includegraphics[height=10mm]{icons/select-drive.png}}
\newcommand{\selectimage}{\includegraphics[height=8.5mm]{icons/select-image.png}}
\newcommand{\selectecc}{\includegraphics[height=8.5mm]{icons/select-ecc.png}}
\newcommand{\scanicon}{\includegraphics[height=13mm]{icons/scan-icon.png}}
\newcommand{\readicon}{\includegraphics[height=13mm]{icons/read-icon.png}}
\newcommand{\createicon}{\includegraphics[height=13mm]{icons/create-icon.png}}
\newcommand{\fixicon}{\includegraphics[height=13mm]{icons/fix-icon.png}}
\newcommand{\verifyicon}{\includegraphics[height=13mm]{icons/verify-icon.png}}
\newcommand{\stopicon}{\includegraphics[height=13mm]{icons/stop-icon.png}}
\newcommand{\logicon}{\includegraphics[height=6mm]{icons/log-icon.png}}

\section{Typical applications - HowTos}
\label{howtos}

dvdisaster is a complex tool which would require a book of a few hundred pages
to cover all of its features. Since we are currently lacking the resources for
doing such a book (and you might be short on reading time also) we will take
a different approach in this section. First we demonstrate how the different functions
of dvdisaster work together. Then we describe common tasks and provide
step by step instructions for solving them. In most cases following these steps
will be all you need to do. At the end of each instruction set a discussion
of further configuration options is included for advanced users.

\subsection{Symbols used in this document}

Working with dvdisaster requires certain combinations of optical media,
media images and error correction data. Check out the following symbols to
find out what you will need for the respective tasks:

\paragraph{Medium} (a CD for example):

\bigskip

\begin{tabular}{ccl}
  \begin{minipage}{20mm}
  \centerline{\goodcd}
  \end{minipage}
  &
  \begin{minipage}{20mm}
  \centerline{\badcd}
  \end{minipage}
  &
  \begin{minipage}{93mm}
  These symbols indicate whether processing a medium is part of the
  respective task, and if the medium needs to be completely error free or may already be damaged. 
  \end{minipage}\\
  & & \\

  good medium & bad medium & \\
  ({\bf no} read errors) & ({\bf with} read errors) & \\
\end{tabular}

\paragraph{Medium image} (ISO image of a medium stored on the hard disk):

\bigskip

\begin{tabular}{ccl}
  \begin{minipage}{20mm}
  \centerline{\goodimage}
  \end{minipage}
  &
  \begin{minipage}{20mm}
  \centerline{\badimage}
  \end{minipage}
  &
  \begin{minipage}{93mm}
    Some functions do not work directly with the medium, but with an ISO image
    on hard disk instead. Depending on the condition of the respective medium the
    image may be complete or incomplete.
  \end{minipage}\\
  & & \\

  complete image & incomplete image & \\
  (made from  & (made from & \\
  good medium) & bad medium) & \\
\end{tabular}

\paragraph{Error correction data}\quad

\bigskip

\begin{tabular}{ccl}
  \begin{minipage}{20mm}
  \centerline{\augmentedcd}
  \end{minipage}
  &
  \begin{minipage}{20mm}
  \centerline{\eccfile}
  \end{minipage}
  &
  \begin{minipage}{93mm}
    Recovering media images by using error correction data is the
    key feature of dvdisaster. These symbols show whether error
    correction data is required.
  \end{minipage}\\
  & & \\

  Medium containing & Separate error& \\
  error correction data   & correction file & \\
\end{tabular}


\subsection{The big picture - understanding dvdisaster}

In this sub section we are getting a basic understanding
of dvdisaster:

\begin{itemize}
\item It is important to understand that dvdisaster works similar
  to a \tlnk{bigpicture-backup}{conventional backup} in some
  regards, but that there are also important differences.
\item The general
  \tlnk{bigpicture-ecc}{idea of the error correction} is explained.
\item Jane demonstrates the
  \tlnk{bigpicture-goodusage}{proper usage of dvdisaster}.
  She will create error correction data in advance and is
  therefore able to recover all data when her media become defective.
\item However you should \tlnk{bigpicture-badusage}{not follow the way}
  of Joe. He does not use error correction data and finds out that
  his defective media are not recoverable even after multiple
  reading passes. As a consequence he loses data from a defective medium.
\end{itemize}

Of course these stories are purely fictional and any similarities with existing persons or situations are purely conincidental. 

\subsubsection{A comparison of dvdisaster with conventional backup}
\label{bigpicture-backup}

dvdisaster stores data on optical discs in a way that the data
is fully recoverable even after the medium has developed some read errors.
The method employed in dvdisaster uses less storage space (or additional media)
than a full backup would do. Before using dvdisaster it is important to
understand the similarities and differences between dvdisaster and a
conventional (full) backup.

\bigskip

Let's first consider how a conventional backup scheme works:

\bigskip

\begin{tabular}{cccl}
  \begin{minipage}{20mm}
  \centerline{\backupone}
  \end{minipage}
  &
  \begin{minipage}{12mm}
  \centerline{Copy}\par
  \centerline{\rightarr}
  \end{minipage}
  &
  \begin{minipage}{20mm}
  \centerline{\backuptwo}
  \end{minipage}
  &
  \begin{minipage}{92mm}
    An existing medium (1) is copied onto a backup medium (2).
  \end{minipage}\\

  \begin{minipage}{20mm}
  \centerline{\downarr}
  \end{minipage}
  &
  &
  \begin{minipage}{20mm}
  \centerline{\downarr}
  \end{minipage}
  & \\[4mm]

  \begin{minipage}{20mm}
  \centerline{\badcdone}
  \end{minipage}
  &
  &
  \begin{minipage}{20mm}
  \centerline{\backuptwo}
  \end{minipage}
  &
  \begin{minipage}{92mm}
    If any one of the two media is damaged afterwards,
    we still have an intact medium left.
  \end{minipage}\\
\end{tabular}

\bigskip

There are actually some cases where it is important to keep a
second copy of an optical disc: One medium might get lost,
burst while spinning in the drive, or it may be destroyed due
to mishandling. However such cases of complete data loss are
rare as long as optical media are handled properly.

\smallskip

It is more likely that the medium starts to gradually lose data
after a few years - a nearly unavoidable aging process.
When the medium is regularly used (or scanned for defects)
the data loss will typically be noticed after 5\% to 10\% of
the medium have already become unreadable. At this point
the medium is unusable as a whole, but maybe 90\% of
it is still readable. {\em On the other hand a full backup copy
of the medium is not required; we simply need a method for
recovering the missing 10\% of data.}

\smallskip

This is where dvdisaster comes into play. Consider this:

\bigskip

\begin{tabular}{cccl}
  \begin{minipage}{20mm}
  \centerline{\goodcd}
  \end{minipage}
  &
  \begin{minipage}{12mm}
    \centerline{Create}\par
    \centerline{\rightarr}\par
    \centerline{ECC}
  \end{minipage}
  &
  \begin{minipage}{20mm}
  \centerline{\eccfile}
  \end{minipage}
  &
  \begin{minipage}{92mm}
    This time we do not make a full backup. dvdisaster is used
    to create error correction data (``ECC'') which can recover
    up to 20\% of a degraded medium. The value of 20\% was
    chosen to have a safety margin over the expected data loss
    of 5-10\%. 
  \end{minipage}\\

  \begin{minipage}{20mm}
  \centerline{\downarr}
  \end{minipage}
  &
  &
  \begin{minipage}{20mm}
  \centerline{\downarr}
  \end{minipage}
  & \\[4mm]

  \begin{minipage}{20mm}
  \centerline{\badcd}
  \end{minipage}
  &
  &
  \begin{minipage}{20mm}
  \centerline{\eccfile}
  \end{minipage}
  &
  \begin{minipage}{92mm}
    Wenn the medium fails at a later time, its contents are
    recovered from its still readable parts and from the
    error correction data.
  \end{minipage}\\[8mm]

  \begin{minipage}{20mm}
  \mbox{80\%\rdiagarr}
  \end{minipage}
  &
  &
  \begin{minipage}{20mm}
  \mbox{\ldiagarr20\%}
  \end{minipage}
  &
  \begin{minipage}{92mm}
    For a successful recovery at least 80\% of the data must
    still be readable from the medium, and the remaining 20\% are
    recalculated from the error correction data.
  \end{minipage}\\[7mm]

  \multicolumn{3}{c}{\begin{minipage}{20mm}\centerline{\goodimage}\end{minipage}}
  &
  \begin{minipage}{92mm}
  The completely recovered data is now available as an ISO image
  on the hard drive (the medium remains defective as physical
  data loss is irrevocable).
  \end{minipage}\\[8mm]

  \multicolumn{3}{c}{\begin{minipage}{20mm}\centerline{\downarr}\end{minipage}}
  &
  \begin{minipage}{92mm}
    Write the image to a blank medium using your favourite
    optical disc authoring software.
  \end{minipage}\\[6mm]

  \multicolumn{3}{c}{\begin{minipage}{20mm}\centerline{\goodcd}\end{minipage}}
  &
  \begin{minipage}{92mm}
  You now have a new error-free medium.
  \end{minipage}\\
\end{tabular}

\bigskip

As you have seen the data recovery took more steps then
doing a conventional backup and restore. So let's summarize the pros
and cons of dvdisaster compared with conventional backup:

\bigskip

\paragraph{Advantages}\quad 	

\begin{itemize}
\item dvdisaster uses less storage. When using error correction
  data with a 20\% recovery capability, protecting 5 media
  requires only one additional medium for the ECC data.
\item  Since all media will eventually age and start losing data in
  similar places (typically in the outermost region),
  doing a 1:1 copy might not help at all. Both copies may turn
  out defective in the same places after a few years.
\end{itemize}

\paragraph{Similarities}\quad

\begin{itemize}
\item Both backup copies and error correction data must
  be created before the master disc fails. You can't create
  them from an already defective medium.
\end{itemize}

\paragraph{Disadvantages}

\begin{itemize}
\item If the recovery capability of the error correction
  data is exceeded (or the medium gets lost), no data
  can be recovered! Especially take note that error
  correction data with a repair rate of 20\% together
  with a 75\% readable medium does not result
  in 95\% recovery. In that case, nothing beyond the 75\% readable
  data from the medium can be recovered.
\end{itemize}

Some of these points are also discussed in
\tlnk{overview-backup}{Error correction data vs. full backup} in the
``Overview'' section, from a slightly different view point.

\subsubsection{The idea behind the error correction}
\label{bigpicture-ecc}

\bigskip

\begin{tabular}{cccl}
    \begin{minipage}{20mm}
  \centerline{\badcd}
  \end{minipage}
  &
  &
  \begin{minipage}{20mm}
  \centerline{\eccfile}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    The example from the previous page told us how dvdisaster
    reconstructs data by using the still readable parts
    of the medium together with the error correction data.
  \end{minipage}\\[8mm]

  \begin{minipage}{20mm}
  \mbox{80\%\rdiagarr}
  \end{minipage}
  &
  &
  \begin{minipage}{20mm}
  \mbox{\ldiagarr20\%}
  \end{minipage}
  & \\[-3mm]

  \multicolumn{3}{c}{\begin{minipage}{20mm}\centerline{\goodimage}\end{minipage}}
  &
  \begin{minipage}{104mm}
    In order to get the most out of dvdisaster a basic
    understanding of the error correction method is helpful.
    And while we are at it we can refute a misunderstanding we
    sometimes hear - the error correction data is not simply a
    copy of the last 20\% data sectors. That'd really be a cheap shot ;-)
  \end{minipage}\\[8mm]
\end{tabular}

\paragraph{Example: Anna's desk drawer PIN}\quad

Anna has got a desk whose drawers can only be opened after entering
the numbers "8 6 2 3" into a code lock. Since the drawers
do not contain any sensitive information she decides
to note down the numbers directly on the desktop:

\bigskip

\includegraphics[height=11mm]{figures/pin.pdf}

Anna is cautious and expects one of the numbers to become
unreadable by accidentally pouring ink over it.
Therefore she also notes down the sum of the four
numbers (the ``+'' and ``='' signs have only be added
for clarity):

\bigskip

\includegraphics[height=12mm]{figures/pin-sum.pdf}

After a while one of the numbers indeed gets covered by an ink spot:

\bigskip

\includegraphics[height=13mm]{figures/pin-ink.pdf}

But this is not a problem as Anna can re-calculate the missing number x by rearranging the still readable parts of the equation:

\medskip

\verb|8 + x + 2 + 3 = 19|, \quad hence

\smallskip

\verb|x = 19 - 8 - 2 - 3|, \quad and therefore \verb|x = 6|.

\bigskip

It is easily seen that any one of the original five numbers
can be recovered from the remaining four.
The example also demonstrates some important properties
of the error correction: 

\bigskip

\begin{tabular}{cl}
\begin{minipage}{0.40\textwidth}
  \includegraphics[height=28mm]{icons/ecc-example.png}
\end{minipage}
  &
\begin{minipage}{0.56\textwidth}
  For a given set of data (e.g. the numbers ``8 6 2 3'') additional
  error correction data (e.g. the sum ``19'') can be created so
  that a lost datum can be re-calculated from the remaining data.

  \smallskip
  
  The same principle is used in dvdisaster; the protected sequence
  of numbers is nothing else than the ISO image of an optical disc.
\end{minipage}
\end{tabular}

\bigskip

The concept of {\bf redundancy} can be explained as follows:

\begin{itemize}
\item  One ``error correction number'' is calculated for four input
  numbers. 1 of 4 (or 1/4) relates to a redundancy of 25\%.
\item  From one error correction number we can re-calculate exactly
  one missing number, or at most 25\% of data. The redundancy
  is equivalent to the maximum capacity of the error correction.
\item  Additional storage required for the error correction data is
  also determined by the redundancy (again, 25\% in the example).
\end{itemize}

dvdisaster uses the term of redundancy accordingly.
In addition please observe that

\begin{itemize}
\item  no data can be recovered when the data loss exceeds the
  redundancy (the equation in the example can not be solved for
  two or more unknowns).
\item the error correction data must be calculated at a
  point in time where all data is still present / readable.
\end{itemize}
  
The above shown example does not generalize into an error correction
scheme for recovering more than one missing data value. To do so a
more powerful equation system is needed which can be solved for more
than one missing value. dvdisaster uses a Reed-Solomon code which
does have such properties; however the required math is usually
not taught in school. Interested readers are therefore referred
to the respective books in coding theory. 

\newpage
\subsubsection{Using dvdisaster the right way}
\label{bigpicture-goodusage}

Let's demonstrate how Jane uses dvdisaster.

\bigskip

\begin{tabular}{rccl}
  10. Feb. 2009 &
  \begin{minipage}{16mm}\centerline{\goodcd}\end{minipage} &
  &
  \begin{minipage}{88mm}
    Jane creates a new CD with important data.
  \end{minipage}\\[8mm]

  &
  \begin{minipage}{16mm}\centerline{\goodcd}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\eccfile}\end{minipage}  &
  \begin{minipage}{88mm}
    To protect the CD from data loss she creates
    \tlnk{howto-eccfile}{error correction data} with dvdisaster.
    She keeps both kinds of data for later usage.
  \end{minipage}\\[8mm]
  \hline

14. May 2010 &
  \begin{minipage}{16mm}\centerline{\goodcd}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\eccfile}\end{minipage}  &
  \begin{minipage}{88mm}
    \vspace*{3mm}
    Jane knows that during daily use not all data of
    her CD might be accessed. So after a year has passed
    she \tlnk{howto-scan}{scans the CD for read errors} to make sure that
    it has not developed any defects in seldom used data regions.
    However after one year the CD is still perfectly readable.
    \vspace*{3mm}
  \end{minipage}\\[8mm]
  \hline

19. Aug 2012 &
  \begin{minipage}{16mm}\centerline{\badcd}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\eccfile}\end{minipage}  &
  \begin{minipage}{88mm}
    \vspace*{3mm}
    Two more years have passed and Jane notices that
    some data on the CD is no longer readable.
    A \tlnk{howto-scan}{scan for read errors} confirms
    that the CD has become defective due to aging.
  \end{minipage}\\[8mm]

  \tlnk{howto-recover-read}{read} &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  &
  \\[8mm]

  &
  \begin{minipage}{16mm}\centerline{\badimage}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\eccfile}\end{minipage}  &
  \begin{minipage}{88mm}
    \vspace*{3mm}
    Jane uses dvdisaster
    to \tlnk{howto-recover-read}{read as much sectors as possible} from
      the defective CD into an ISO image.
  \end{minipage}\\[8mm]

  \tlnk{howto-recover-fix}{reconstruct} &
  \multicolumn{2}{c}{\begin{minipage}{32mm}\hspace*{5mm}\joinarr\end{minipage}} &
  \\[8mm]

  &
  \begin{minipage}{16mm}\centerline{\goodimage}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\eccfile}\end{minipage}  &
  \begin{minipage}{88mm}
    By using the error correction data
    Jane \tlnk{howto-recover-fix}{recovers the missing parts} in
    the ISO image. 
  \end{minipage}\\[8mm]

  Write new CD&
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  &
  \\[8mm]

  &
  \begin{minipage}{16mm}\centerline{\goodcd}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\eccfile}\end{minipage}  &
  \begin{minipage}{88mm}
    Jane writes a new CD from the recovered ISO image.
    She keeps the error correction data for the new CD
    as it may also become defective in the future.
  \end{minipage}\\[8mm]
\end{tabular}

\newpage
\subsubsection{Using dvdisaster the wrong way}
\label{bigpicture-badusage}

Joe bets on his media keeping their content without additional protection.

\bigskip

\begin{tabular}{rccl}
  10. Feb. 2009 &
  \begin{minipage}{16mm}\centerline{\goodcd}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\goodcd}\end{minipage} &
  \begin{minipage}{88mm}
    Joe creates two CDs containing important data.
    But he does not make any provisions against data loss on those media.
  \end{minipage}\\[8mm]

  \hline
  
  \vspace*{3mm}
  14. May. 2010 &
  \begin{minipage}{16mm}
    \vspace*{3mm}
    \centerline{\goodcd}\end{minipage} &
  \begin{minipage}{16mm}
    \vspace*{3mm}
    \centerline{\goodcd}\end{minipage} &
  \begin{minipage}{88mm}
    Joe uses his CDs regularly. After one year they are
    still perfectly readable.
  \end{minipage}\\[4mm]

  \hline

  \vspace*{3mm}
  19. Aug. 2012 &
  \begin{minipage}{16mm}
    \vspace*{3mm}
    \centerline{\badcd}\end{minipage} &
  \begin{minipage}{16mm}
    \vspace*{3mm}
    \centerline{\goodcd}\end{minipage} &
  \begin{minipage}{88mm}
    After two more years Joe notices that some data
    on one CD is no longer readable.
  \end{minipage}\\[-1mm]

  \tlnk{howto-scan}{scan} &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  \\[-1mm]

  20. Aug. 2012 &
  \begin{minipage}{16mm}
    \centerline{\badcd}\end{minipage} &
  \begin{minipage}{16mm}
    \centerline{\badcd}\end{minipage} &
  \begin{minipage}{88mm}
    Joe downloads dvdisaster and performs
    a \tlnk{howto-scan}{read error scan}.
    He finds out that the CD contains 25000 unreadable sectors.
    A scan of the second CD reveals that it has developed 1500
    unreadable sectors gone unnoticed so far. 
  \end{minipage}\\[-2mm]

  \tlnk{howto-recover}{reading} &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  \\[5mm]

  21. Aug. 2012 &
  \begin{minipage}{16mm}
    \centerline{\badimage}\end{minipage} &
  \begin{minipage}{16mm}
    \centerline{\badimage}\end{minipage} &
  \begin{minipage}{88mm}
    Joe uses dvdisaster to read as much sectors as
    possible from the defective media. But since he
    does not have error correction data there is no way
    of recalculating the unreadable sectors.
  \end{minipage}\\[6mm]

  \begin{minipage}{20mm}
    many reading attempts
  \end{minipage}
    &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  \\[-10mm]

  05. Sep. 2012 &
  \begin{minipage}{16mm}
    \centerline{\badimage}\end{minipage} &
  \begin{minipage}{16mm}
    \centerline{\goodimage}\end{minipage} &
  \begin{minipage}{88mm}
    Joe takes advantage of dvdisaster's feature to complete images
    through multiple reading passes. He moves the defective images
    to several computers to perform reading attempts with
    different drives. After two weeks of trying at least all
    missing sectors from the second CD have been read. However
    on the first CD still 21000 sectors remain unreadable by any
    drive he tried.
  \end{minipage}\\[-4mm]

  \begin{minipage}{25mm}
    only one CD recovered
  \end{minipage}
    &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  \begin{minipage}{16mm}\centerline{\downarr}\end{minipage} &
  \\[-2mm]

  06. Sep. 2012 &
  \begin{minipage}{16mm}
    \centerline{\badcd}\end{minipage} &
  \begin{minipage}{16mm}
    \centerline{\goodcd}\end{minipage} &
  \begin{minipage}{88mm}
    Joe dismisses the first CD as unrecoverable and
    considers himself lucky to have a complete image
    from the second CD again. However if he had created
    error correction data in time, he'd probably\footnotemark
    saved two weeks of reading attempts and recovered
    the contents from both CDs.
  \end{minipage}\\[8mm]
\end{tabular}

\footnotetext{The
  error correction assumes a typical aging process. If the CD
  gets severely damaged it becomes unrecoverable even with
  error correction data. Do not rely on dvdisaster alone
  for protecting important data; instead employ additional
  measures like creating additional copies on different types of media.}

\newpage

\subsection{Scanning media for errors}
\label{howto-scan}

\begin{tabular}{lll}
  \multicolumn{2}{l}{\bf Task} &
  The medium is scanned for unreadable sectors. \\[10mm]

  \multicolumn{2}{l}{\bf Required:} & \\[3mm]

  \begin{minipage}{15mm}
    \goodcd
  \end{minipage} &

  \begin{minipage}{15mm}
    \badcd
  \end{minipage} &

  A medium in any state (good or containing read errors) \\[10mm]

  \begin{minipage}{15mm}
    \eccfile
  \end{minipage} &
  &
  \begin{minipage}{110mm}
  If error correction data is available additional tests are
  carried out. However scanning will also work without error correction
  data.
  \end{minipage}
  \\[13mm]

  \multicolumn{2}{l}{\bf What to do:} &
  \tlnk{howto-scan-basic-settings}{1. Configure basic settings} \\[2mm]

  & &
  \tlnk{howto-scan-walkthrough}{2. Scan the medium} \\[2mm]

  & &
  \tlnk{howto-scan-interpret}{3. Interpret the results} \\[10mm]


  \multicolumn{2}{l}{\bf Related functions:} &
  \tlnk{howto-recover-read}{Reading of damaged media} and \\[2mm]

  & &
  \tlnk{howto-recover-fix}{recovering images} \\[2mm]
\end{tabular}

\vspace{10mm}

\subsubsection{Basic settings}
\label{howto-scan-basic-settings}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/global-prefs-invoke.png}}
\caption{Opening the configuration dialog.}  
\label{howto-scan-open-preferences}
\end{figure}

The relevant tabs are described on the next pages. They are
found in the configuration dialog.
Open the dialog by selecting the symbol marked green in the
screen shot ( \begin{minipage}{8mm}\includegraphics{icons/prefs-icon.png}\end{minipage}, see figure \ref{howto-scan-open-preferences}).
The symbol may look different due to the symbol theme you are using.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/scan-prefs-image.png}}
\caption{The ``Image'' tab.}  
\label{howto-scan-prefs-image}
\end{figure}

\paragraph{Error correction data recognization.} If you
are sure that your medium contains embedded RS02 or RS03 error
correction data, activate the respective items (marked yellow).
Using the error correction (ecc) data will improve scanning results,
but searching for non existing ecc data will cost several minutes.

\paragraph{Image properties.} Selecting the proper
method for determining the image size is important.
Make sure that ``Ignore image size recorded in ISO/UDF file system''
(marked red) is switched off.
This option should only be used
in \tlnk{howto-eccfile-advanced-settings-image}{special cases during image recovery}.

\smallskip

Adjust the remaining settings as shown in the screen shot.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/scan-prefs-drive.png}}
\caption{The ``Drive'' tab.}  
\label{howto-scan-prefs-drive}
\end{figure}

\paragraph{Drive initialization.} Reading data
from the drive while it is spinning up can generate spurious error
reports. Adjust the spin up time for your drive (typically 5-10 seconds)
in the field marked green to make dvdisaster wait for the appropriate time.

\smallskip

Leave the other settings at the values shown; you
can \tlnk{howto-scan-advanced-settings}{optimize} them later.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/scan-prefs-read-attempts.png}}
\caption{The ``Read attempts'' tab.}  
\label{howto-scan-prefs-read-attempts}
\end{figure}

\paragraph{Sector read errors.} The option ``Read and analyse raw sectors''
(first green marking) uses C2 analysis and possibly more raw data
reported by the drive for a better assessment of CD media quality.
This setting does nothing for DVD and BD media, but it is safe to
remain activated unless it causes problems with your drive reading CDs.

Adjust the reading attempts settings as shown here. Using larger
values causes unnecessary reading activity but will not improve the scan.
After a read error no less than 16 sectors should be skipped (second
green marking); when scanning badly damaged media this setting can
be \tlnk{howto-scan-advanced-settings-read-attempts}{optimized using larger values}.

\paragraph{Media read attempts.} Performing multiple read attempts
is not recommended during a scan; set the number of retries to 1
in the three places marked in orange. Collecting raw sectors should
also be off during the scan.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/general-prefs-misc.png}}
\caption{The ``Misc'' tab.}  
\label{howto-scan-prefs-misc}
\end{figure}

\paragraph{The ``Misc Tab''.} Currently
this tab only has functions for creating log files.
This is helpful for \tlnk{reporting-defects}{reporting defects} but
should be left off during normal operation.

\paragraph{Not used tabs.} The ``Error correction'' and ``Files'' tabs
have no influence on scanning media. The ``Appearance'' tab
allows you to adapt the output colors to your taste, but these have
no further effects on the scanning process. 

\newpage
\subsubsection{Scanning for errors - Walkthrough}
\label{howto-scan-walkthrough}

Please make sure that dvdisaster has been configured as
described in the \tlnk{howto-scan-basic-settings}{basic settings} section
as some settings might negatively affect the scanning results.
Then perform the following steps: 

\bigskip

\begin{tabular}{cl}
  \begin{minipage}{50mm}
    \centerline{\slotin}
  \end{minipage}
  &
  \begin{minipage}{104mm}
  {\bf Insert the medium you want to scan into a drive} which
  is directly connected to your computer. You can not use network
  drives, software drives and drives inside virtual machines.
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\

  \begin{minipage}{50mm}
    \centerline{\filemanager}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Close any windows} which may be opened by your
    operating system for viewing or performing the medium contents.
    Wait until the drive has recognized the medium and the medium
    has spun down. 
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\selectdrive}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Select the drive containing the medium} in dvdisasters
    drop down menu. 
  \end{minipage}\\[4mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\

  \begin{minipage}{50mm}
    \centerline{\selectecc}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Select the error correction file for this medium} if you
    have one available. Ecc data from RS02 or RS03 augmented media
    is used automatically.
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\scanicon}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    Start the scan by {\bf clicking the "Scan" button.}
  \end{minipage}\\[6mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/good-cd-scan.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Watch the scanning progress.} Do not perform any other
    actions on your computer while the scan is running.
    Opening or working with other programs as well as moving
    other windows around might affect the scanning results. 
  \end{minipage}\\
\end{tabular}

\newpage
\subsubsection{Interpreting the results}
\label{howto-scan-interpret}

\begin{figure}[h]
\centerline{\includegraphics[width=0.97\textwidth]{screenshots/defective-cd-scan.png}}
\caption{Scanning the medium.}  
\label{howto-scan-general-results}
\end{figure}

\vspace*{-5mm}

\paragraph{Overview.} dvdisaster provides several information
about the scanning results (see fig. \ref{howto-scan-general-results}): 

\begin{itemize}
  \item The spiral under {\bf ``Medium State''} (to the right).

    The spiral provides information about the medium readability.
    The medium is fully readable when all segments of the spiral
    are colored green. Yellow or red blocks mark places where data
    could not be correctly read from the medium. The total number
    of unreadable sectors is printed in the ``Scanning finished:''
    message at the window bottom.

  \item {\bf ``Speed''} - The reading speed curve (upper left).

    The reading speed is not an absolute gauge of the medium
    health, but it is usable as a rule of thumb: The more
    regular the curve, the better the medium. You will
    find examples of good and bad reading speed curves on the following pages.

  \item {\bf ``C2 errors''} - A medium state gauge provided by the drive (down left).

    This kind of analysis is \tlnk{qa-quality-scans}{currently only available for CD media}.
    CD drives have a built-in error correction
    which can eliminate small data losses caused by minor
    defects on the medium. The number of C2 errors is a
    measurement of how often the drive needed to employ its
    internal error correction during the read - this value
    should be zero on good media.
\end{itemize}

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/good-cd-scan.png}}
\caption{Good CD.}  
\label{howto-scan-good-cd}
\end{figure}

{\bf Example of a good medium:} This screen shot shows
a perfect CD: All blocks under ``Medium state'' are green, no C2
errors have been reported and the reading curve runs smoothly.
A rising reading speed is normal for most media (see the next screen
shot for a counter example). The small spikes at the beginning and
at the end of the curve are normal; minor glitches like the one shown
at 250M are also harmless.

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/good-dvd9-scan.png}}
\caption{Good two-layered DVD.}  
\label{howto-scan-good-two-layered-dvd}
\end{figure}

{\bf Sometimes the reading curve won't rise steadily:} Multi-layered
media might yield reading curves which are rising and dropping
in a symmetric pattern. Not shown but also possible are flat
curves without any change in reading speed (most typically seen
with DVD-RAM).

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/weak-cd-scan.png}}
\caption{Weak CD.}  
\label{howto-scan-weak-cd}
\end{figure}

{\bf An example of a weak medium.} This medium is still
readable as indicated by the green spiral shown under ``Medium state''.
However there are clear signs of serious trouble ahead: The drive must
slow down significantly towards the end of the medium in order to read
from it. Note the steep fall of reading speed after the 600M mark.
This comes along with C2 error rates rising to the 100 mark; this is
another warning that the medium is decaying in the outer region.
If you have not created \tlnk{howto-ecc}{error correction data} this is probably the
last opportunity to do so as the medium will develop the first
read errors soon.

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/defective-cd-scan.png}}
\caption{Defective CD.}  
\label{howto-scan-defective-cd}
\end{figure}

{\bf Example of a defective CD.} \label{howto-interpret-defective-cd}
The red sectors in the spiral
visualize large unreadable sections in the outer region of the medium.
At the bottom of the window you will find the information that the
medium contains 28752 unreadable sectors. This sums up to about
8.2\% defective sectors (of 352486 sectors total) and is well within
the \tlnk{howto-recover}{recovery} bounds
by \tlnk{howto-ecc}{error correction (ecc) data} made with default
settings - if you have made the ecc data in time! Otherwise the
contents of the red sectors are lost since ecc data cannot be
created from already defective media.

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/crc-cd-scan.png}}
\caption{Checksum errors.}  
\label{howto-scan-checksum-errors}
\end{figure}

{\bf Checksum errors.} Yellow spots in the spiral depict places
where the medium was fully readable, but the data read did not
match checksums in the error correction data. There are two main causes:

\begin{itemize}
\item The image has been manipulated after the creation of
  error correction data and before writing it to the medium.
  This can happen when the image is mounted with
  write access after ecc data has been created. Typical signs are
  CRC errors in sector 64 and in sectors 200 to 400 as the system
  updates the file access times there. Performing a data recovery
  using dvdisaster is typically harmless in this situation.

  \medskip

  However if you have modified files in the image after
  creating the ecc data, the error correction data will be both
  worthless and dangerous. Applying a recovery to the medium will
  restore the image state at the time the ecc data has been created,
  and this will obviously not represent the most recent contents of
  the medium.

\item There are technical problems with the computer system,
  especially in mass storage communication. Perform the scan again
  and observe the CRC error locations. If CRC errors disappear
  or surface at different locations your system might have
  defective RAM, bad drive cabling/controllers or incorrect clock speeds.
\end{itemize}

\newpage
\subsubsection{Advanced settings}
\label{howto-scan-advanced-settings}

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/scan-prefs-drive-adv.png}}
\caption{Advanced settings in the ``Drive'' tab.}  
\label{howto-scan-prefs-drive-adv}
\end{figure}

{\bf Fatal error handling.} dvdisaster will normally abort the scan
when the drive reports a fatal internal error like mechanical problems.
The intention is to avoid damaging the drive. However some drives
will erroneously report such problems when they get confused by
damaged media. If you have such a drive you can use this option
to force the scan to continue.

\bigskip

{\bf Media ejection.} dvdisaster tries to eject the medium after
a successful scan if this option is activated. However ejecting
the medium might be prohibited by the operating system so this
is not guaranteed to work. For example if upon media insertion
a window is opened for performing the contents it may not be
possible to automatically eject the medium.

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/scan-prefs-read-attempts-adv.png}}
\caption{Advanced settings in the ``Read attempts'' tab.}  
\label{howto-scan-prefs-read-attempts-adv}
\end{figure}

{\bf Sector read errors.} \label{howto-scan-advanced-settings-read-attempts} Attempts
for reading defective sectors
cost a lot of time. Since it is likely to encounter another defective
sector after hitting a read error, skipping a few sectors after a
read error saves time and reduces wear on the drive. If you only want
a quick overview of a damaged medium setting this value to 1024 might help.
But keep in mind that all skipped sectors are counted as being defective
so the number of reported errors becomes higher and less accurate.

\newpage
\subsection{Selecting the right type of ecc data}
\label{howto-ecc}

Error correction data can either be created in form of
a separate error correction file or it can be placed directly
onto the medium.

\smallskip

Answering the following questions can quickly guide you to the right
ecc data format:

\begin{itemize}
\item {\em Do you need error correction data for a medium which has already been written?}

  In that case, you need to \tlnk{howto-eccfile}{create an error
    correction file} because an already existing medium can not be
  augmented with error correction data. 

\item {\em Are you planning to write the medium right now?}

  If the medium is full or nearly full (less than 20\% free),
  not enough space might be available for storing the error
  correction data. It is strongly recommended to \tlnk{howto-eccfile}{create an
  error correction file} in that case. Otherwise, you can put
  the \tlnk{howto-augment}{error correction data directly onto the medium}.
  To do so you must create an ISO image first and then augment it with
  error correction data before you write it to the medium. 
\end{itemize}

\paragraph{More information on keeping error correction data.}\quad

dvdisaster helps protecting your media from data loss by
forehanded\footnote{ Let's repeat again for clarity: Error correction data
  must be created before the medium becomes defective. It is not possible
  to create error correction data from defective media; in that case
  unreadable sectors can not be recovered.} creation of error correction
data. Error correction data must be treated like normal backup data,
e.g. you need to keep it available during the whole lifetime of the
respective medium.

\smallskip

The easiest way is storing the error correction data on the medium
you want to protect. But this is only possible if the medium has not
yet been written: To employ this method you need to create an ISO image
first, then augment this image with error correction data, and finally
write the augmented image to the medium.

\smallskip

If the medium has already been written, or insufficient space is left
for augmenting the image, you still can create error correction data
in form of a free-standing error correction file. This file must then
be stored somewhere else, e.g. you need to take additional provisions
to \tlnk{howto-eccfile-archival}{archive your error correction files}.

\smallskip

More information about the pro and con of these methods can be found
in the \tlnk{background-methods}{background information} section. 

\newpage

\subsection{Creating ecc data as a separate file}
\label{howto-eccfile}

\begin{tabular}{ll}
  {\bf Task} & An error correction file is created for an optical medium. \\

  &
  \begin{minipage}{132mm}

    \bigskip

    Note: This page describes how error correction data is created
    and placed into a separate file. There is also a method for
    placing the error correction data \tlnk{howto-augment}{directly onto the medium}.

    \smallskip
    
    \tlnk{howto-ecc}{Would you like help on deciding between these two methods?}
    \end{minipage}\\[15mm]
    
  {\bf Required:} & \\[3mm]

  \begin{minipage}{15mm}
    \goodcd
  \end{minipage} &
  \begin{minipage}{132mm}
    A good, error free\footnotemark medium,
  \end{minipage} \\

  & or \\

  \begin{minipage}{15mm}
    \goodimage
  \end{minipage} &
  \begin{minipage}{132mm}
    \addtocounter{footnote}{-1}
    an already existing and complete\footnotemark ISO
    image of the medium (e.g. the image used for
    writing the medium). 
  \end{minipage} \\[10mm]

  {\bf What to do:} &
  \tlnk{howto-eccfile-basic-settings}{1. Configure basic settings} \\[2mm]

  &
  \tlnk{howto-eccfile-create}{2. Create the error correction file} \\[2mm]

  &
  \tlnk{howto-eccfile-archival}{3. Archive the error correction file}
\end{tabular}

\footnotetext{Error correction data must be
      created before any data loss occurs: It is not possible
      to create error correction files from an already defective
      medium.}

\vspace{10mm}

\subsubsection{Basic settings for reading the image from the medium}
\label{howto-eccfile-basic-settings}
\label{howto-eccfile-basic-settings-reading}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/global-prefs-invoke.png}}
\caption{Opening the configuration dialog.}  
\label{howto-eccfile-open-preferences-eccfile}
\end{figure}

The relevant tabs are described on the next pages. They are
found in the configuration dialog.
Open the dialog by selecting the symbol marked green in the
screen shot ( \begin{minipage}{8mm}\includegraphics{icons/prefs-icon.png}\end{minipage}, see figure \ref{howto-eccfile-open-preferences-eccfile}).
The symbol may look different due to the symbol theme you are using.

\bigskip

\begin{tabular}{cl}
  \begin{minipage}{20mm}
    \centerline{\goodimage}
  \end{minipage} &
  \begin{minipage}{133mm}
      If you already have an ISO image available you can skip the next
      three tabs and proceed with
      the \tlnk{howto-eccfile-basic-settings-ecc}{error correction settings}.
      But make sure that you really have an ISO type image; other formats
      like ``.nrg'' do not produce usable error correction data.
    \end{minipage}\\
 \end{tabular}
    
\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-image.png}}
\caption{The ``Image'' tab.}  
\label{howto-eccfile-prefs-image}
\end{figure}

\paragraph{Reading strategy.} Make sure that the linear reading strategy is selected
(marked green).

\bigskip

All other options should be turned off; especially those marked green as they
might have adverse effects on the image reading process. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-drive.png}}
\caption{The ``Drive'' tab.}  
\label{howto-eccfile-prefs-drive}
\end{figure}

\paragraph{Drive initialization.} Reading data from the drive while it is spinning
up can generate spurious error reports. Adjust the spin up time for your
drive (typically 5-10 seconds) in the field marked green to make dvdisaster
wait for the appropriate time.

\bigskip

Leave the other settings at the shown values.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-read-attempts.png}}
\caption{The ``Read attempts'' tab.}  
\label{howto-eccfile-prefs-read-attempts}
\end{figure}

\paragraph{Sector read errors.} The option ``Read and analyze raw sectors'' (marked green)
uses additional information provided by the drive to check the integrity of read data.
This is recommended as we are interested in creating error correction data
from a properly read image.

\medskip

On the other hand since error correction data can only be created from fully
readable media we do not need multiple reading attempts and caching of
raw sectors as shown in the screen shot. 

\newpage
\subsubsection{Basic settings for the error correction data}
\label{howto-eccfile-basic-settings-ecc}

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-ecc-file3.png}}
\caption{The ``Error correction'' tab for the RS03 codec.}  
\label{howto-eccfile-prefs-ecc-file3}
\end{figure}

Error correction files can be created using either the RS03 or the RS01 method
(see this \tlnk{background-methods}{comparison} for details).
It is recommended to use RS03 as it contains all features present in RS01,
but encodes much faster due to certain optimizations.

\paragraph{Settings for encoding with the RS03 method.} First select the entry
``Multithreaded RS codec (RS03)'' in the drop down menu (marked green).
After this selection the contents of the tab will display the choices given
for the RS03 method. 

\paragraph{Error correction storage.} Select ``File'' (also marked green).
This option causes error correction data to be stored in a separate file
and will also make the redundancy choice available which is located below.

\paragraph{Redundancy for new error correction files.} Select the redundancy
which suits your needs. The redundancy will determine the maximum error
correction capability: An error correction file with x\% redundancy can
correct up to x\% of read errors under optimal circumstances.
Since the best case is usually not encountered you should add some safety
margin to the redundancy by picking one of the following choices (see yellow markings):

\begin{itemize}
\item The ``normal'' and ``high'' presets provide a redundancy of 14.3\% and 33.5\%
  respectively.
\item You can freely choose the redundancy by activating the ``other'' item
  and dragging the slider.
\item By activating the ``Use at most'' button you can specify the error
  correction file size in MiB. dvdisaster will choose a suitable redundancy
  so that the error correction file will be close to but not larger than the
  specified size.
\end{itemize}
  
The redundancy will also determine the size of the error correction file;
using x\% redundancy will create an error correction file of about x\% the
size of the image. Using redundancies lower than the ``normal'' setting (14.3\%)
is not recommended as the error correction might be overloaded too quickly.

\paragraph{Multithreading.} The RS03 encoder can distribute its workload
onto multiple processor cores by using multithreading. On machines with
up to four cores, set the number of threads equal to the number of
cores (e.g. use 4 threads on a 4 core machine). On machines with more
than 4 cores, use one thread less than the number of available cores;
e.g. use 7 threads on an 8 core machine - this leaves one core free
for housekeeping tasks).

\smallskip

Leave the other settings as shown in the screenshot; you can
\tlnk{howto-eccfile-advanced-settings-ecc}{optimize} them later.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-ecc-file1.png}}
\caption{The ``Error correction'' tab for the old RS01 codec.}  
\label{howto-eccfile-prefs-ecc-file1}
\end{figure}

\paragraph{Settings for encoding with the RS01 method.} If you want to
use the old RS01 method, choose ``Error correction file (RS01)'' in
the ``Storage method'' drop down menu (green marking; see
fig. \ref{howto-eccfile-prefs-ecc-file1}).

\smallskip

Then select a redundancy setting which suits your needs; see the
explanations on redundancy for the RS03 method above for more information.
For RS01, the ``normal'' and ``high'' settings are somehow optimized for
speed, but still much slower than their RS03 counterparts. 

\newpage

\begin{figure}
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/create-prefs-file.png}}
\caption{The ``Files'' tab.}  
\label{howto-eccfile-prefs-file}
\end{figure}

\paragraph{The ``Files'' tab.} In this tab, only
activate the option for confirming file overwriting.
Leave the other options off for the moment; suggestions for
further \tlnk{howto-eccfile-advanced-settings}{optimization} follow later. 

\bigskip

\paragraph{Not used tabs.} The ``Misc'' tab currently has only functions
for creating log files. This is helpful
for \tlnk{reporting-defects}{reporting defects} but
should be left off during normal operation. The ``Appearance'' tab allows
you to adapt the output colors to your taste, but these have no further
effects on the error correction data creation.

\newpage
\subsubsection{Creating the error correction file}
\label{howto-eccfile-create}

\begin{tabular}{cccl}
  \begin{minipage}{15mm}
    \goodcd
  \end{minipage}
  &
  \begin{minipage}{10mm}
    \rightarr
  \end{minipage}
  &
  \begin{minipage}{15mm}
    \goodimage
  \end{minipage}
  &
  \begin{minipage}{105mm}
    The error correction file can only be created from an ISO image
    on hard disk, not directly from the medium. If you have the
    ISO image already/still available from making the medium,
    turn over to the next page. Otherwise, follow these instructions
    for extracting the ISO image from the medium.
  \end{minipage}
  \\
\end{tabular}

\bigskip

\hrulefill

\bigskip

\begin{tabular}{cl}
  \begin{minipage}{50mm}
    \centerline{\slotin}
  \end{minipage}
  &
  \begin{minipage}{104mm}
  {\bf Insert the medium you want to read into a drive} which
  is directly connected to your computer. You can not use network
  drives, software drives and drives inside virtual machines.
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\

  \begin{minipage}{50mm}
    \centerline{\filemanager}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Close any windows} which may be opened by your
    operating system for viewing or performing the medium contents.
    Wait until the drive has recognized the medium and the medium
    has spun down. 
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\selectdrive}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Select the drive containing the medium} in dvdisasters
    drop down menu. 
  \end{minipage}\\[4mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\

  \begin{minipage}{50mm}
    \centerline{\selectimage}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Select a directory and file name} for
    storing the ISO image.
  \end{minipage}\\[4mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\

  \begin{minipage}{50mm}
    \centerline{\readicon}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Create the ISO image} by clicking the "Read" button.
  \end{minipage}\\[6mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/good-cd-scan.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Watch the reading progress.}
    Wait until the medium has been completely read.
    If the medium turns out to contain defective sectors
    it will not be possible to create error correction data. 
  \end{minipage}\\
\end{tabular}

\bigskip
  
Now continue with the next page to create an error correction file
from the ISO image.

\newpage
\label{howto-eccfile-create-ecc}

\begin{tabular}{cccl}
  \begin{minipage}{15mm}
    \goodimage
  \end{minipage}
  &
  \begin{minipage}{10mm}
    \rightarr
  \end{minipage}
  &
  \begin{minipage}{15mm}
    \eccfile
  \end{minipage}
  &
  \begin{minipage}{105mm}
    Now that we have an ISO image of the medium, we can create the
    error correction file from it. It you do not have the ISO image yet,
    please follow the instructions on the previous page for
    extracting it from the medium.
  \end{minipage}
  \\
\end{tabular}

\bigskip

\hrulefill

\bigskip

\begin{tabular}{cl}
  \begin{minipage}{50mm}
    \centerline{\selectimage}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Select the directory and name of the ISO image} for which you want 
    to create the error correction data. It is assumed that the ISO image 
    has been created by some other means, e.g. by using your optical disc 
    authoring software. If you extracted the ISO image from a medium using
    dvdisaster as described one page before, this field is already filled in
    correctly.
  \end{minipage}\\[-8mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[5mm]

  \begin{minipage}{50mm}
    \centerline{\selectecc}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Select a directory and name} for storing the error correction file.
  \end{minipage}\\[4mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\createicon}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Create the error correction file} by clicking the "Create" button.
  \end{minipage}\\[6mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/watch-create.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Wait until the creation process finishes.} This 
    may take a while depending on the image size, selected redundancy 
    and used encoding method.
  \end{minipage}\\[14mm]

  \begin{minipage}{50mm}
    \centerline{\downforkarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{24mm}
    \centerline{\oldimage}
  \end{minipage}
  \begin{minipage}{24mm}
    \centerline{\eccfile}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Wrapping up.} You can delete the image file now. However 
    you must keep the error correction file and, even more important, 
    protect it from being damaged. Refer to the next page for some 
    suggestions about \tlnk{howto-eccfile-archival}{error correction file archival}. 
  \end{minipage}\\
\end{tabular}

\newpage
\subsubsection{Tips for archival of error correction files}
\label{howto-eccfile-archival}

Optical discs are currently among the most cost-effective exchangeable
mass storage media. Therefore you are probably considering them for
storing error correction files.

\medskip

Nothing is wrong with doing so, but be aware that your data and protective
error correction files are kept on media with equal reliability.
When you encounter read errors on a data medium it is likely that
the medium containing the respective error correction files has also
gone defective. After all both media have been written at the same time,
and they have the same aging characteristics.

\medskip

This might come at a surprise, but it can not be
guaranteed that an error correction file remains usable
when it is stored on a defective medium - here
is a \tlnk{background-image-level}{explanation of the technical background}.\marginpar{\hfill\rule{1mm}{13mm}} 

\medskip

Therefore it is important to protect error correction files just as
if they were normal data. To be more specific, the medium containing
error correction files must be protected with error correction data as well.
Here are two ways of doing this:

\begin{enumerate}
\item Storing error correction files on separate media:

Use additional media just for keeping the error correction files.
If you use no more than 80\% per medium for error correction files
it can be \tlnk{howto-augment}{augmented with error correction data}.
This allows you to recover the medium if you run into problems reading
the error correction files at a later time.

\item Storing error correction files on the next medium in sequence:

Maybe you are using media for an incremental backup strategy.
In that case you could collect files until the first medium can be filled.
Write that medium as usual and create an error correction file for it.
Include that error correction file into the backup set which will go onto
the second medium. When the second medium has been written, write the error
correction file for it onto the third medium and so on. This way all media
in the chain are protected with error correction files (with the ecc file
for the last medium residing on hard disk until another medium is written).
\end{enumerate}

Of course Murphys Law may strike and result in all media of the chain
becoming defective. In that case you need to recover all media, starting
with the most recent one ;-)

\newpage
\subsubsection{Advanced settings for the error correction data}
\label{howto-eccfile-advanced-settings}
\label{howto-eccfile-advanced-settings-image}

\vspace{-4mm}
\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-image-adv.png}}
\caption{The ``Image'' tab.}  
\label{howto-eccfile-prefs-image-adv}
\end{figure}
\vspace{-6mm}

\paragraph{Error correction data recognization.} Since
we are reading the image for the purpose of creating error correction data, it
makes no sense to look for error correction data in the image itself and the options
marked green should remain turned off.

\paragraph{Image properties.} In some cases it might be necessary to change to way
dvdisaster determines the size of the ISO image. The normal strategy is to
query the ISO image from the ISO/UDF file system, and only if this fails,
to query the information directly from the optical drive. Using this order makes
sense as image sizes reported by most drives are unreliable in many cases while
ISO/UDF file system information is usually correct. However in some rare cases the
image size recorded in the ISO/UDF filesystem is wrong. Some GNU/Linux live CDs may have
this problem. If you read back the ISO image from such CDs and its md5sum does not
match the advertised one from the download site, try re-reading the image with
the ``Ignore image size recorded in ISO/UDF file system'' option (marked red)
turned on. But do not blindly turn this option on as it could
create sub optimal or corrupted ISO images, especially if you plan to use the
image for error correction data generation. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-drive-adv.png}}
\caption{The ``Drive'' tab.}  
\label{howto-eccfile-prefs-drive-adv}
\end{figure}

\paragraph{Media ejection.} This feature is helpful
when you are processing a batch of media. Use it together with the
options shown in the ``Files tab'' at the next page.

\smallskip

dvdisaster will try to eject the medium after the image has
been read. However ejecting the medium might be prohibited by
the operating system so this is not guaranteed to work. For example if upon
media insertion a window is opened for performing the contents it may not be possible to
automatically eject the medium.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-file-adv.png}}
\caption{The ``Files'' tab.}  
\label{howto-eccfile-prefs-file-adv}
\end{figure}

\paragraph{Local files (on hard disk).} To ease entering new file names,
activate the option marked yellow.
This will append the ``.iso'' and ``.ecc'' file name extensions automatically.

\paragraph{Automatic file creation and deletion.} You can automate the
process of creating error correction files using these options. The
first option marked green lets dvdisaster create the error correction
file immediately after the medium has been (completely) read.
The second option marked green deletes the image when the error correction
file has been successfully created.

\bigskip

\paragraph{Please note:} Remember to choose a different name for the error
correction file after inserting a new medium. Otherwise the
previous error correction file will be overwritten. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/eccfile-prefs-ecc3-adv.png}}
\caption{The ``Error correction'' tab for the RS03 codec.}  
\label{howto-eccfile-prefs-ecc3-image-adv}
\end{figure}

\paragraph{Optimizing the error correction data creation.}\quad
\label{howto-eccfile-advanced-settings-ecc}

Creating error correction data requires both huge processing power
and high random access disk I/O capabilities. When encoding on conventional
hard disks with spinning platters, disk I/O will be the limiting
factor over all other hardware. Therefore it is recommended to encode on
fast storage media like SSDs, or even better, on RAM-based filesystems such
as /dev/shm on GNU/Linux.

\paragraph{I/O parameters.} dvdisaster optimizes access to the
image and error correction data by preloading and caching parts of them.
The optimal preload value (marked red) depends on the storage system
used for the image and error correction files. Use small preload values
for systems with low latency and seek time, e.g. SSDs and the RAM file system.
For magnetic hard disks performance may be better using larger preload values.
Make sure that you do not use more than half of your physical RAM for preloading.
A preload value of $n$ will use approx. $n$ MiB of RAM.

\medskip

The I/O strategy option (marked green) controls how dvdisaster performs
its disk I/O while creating error correction data. Try both options and
see which performs best on your hardware.

The read/write option activates dvdisaster's own I/O scheduler which
reads and writes image data using normal file I/O. The advantage of this
scheme is that dvdisaster knows exactly which data needs to be cached and preloaded;
the disadvantage is that all data needs to be copied between the kernel and
dvdisaster's own buffers. Usually, this I/O scheme works best on slow
storage with high latency and seek times; e.g. on all storage involving spinning platters.

The memory mapped option uses the kernel's memory mapping scheme for direct access
to the image file. This has the advantage of minimal overhead, but may be
adversely affected by poor caching and preloading decisions made by the kernel
(since the kernel does not know what dvdisaster is going to do with the data).
This scheme performs well when encoding in a RAM-based file system
(such as /dev/shm on GNU/Linux) and on very fast media with low latency such as SSDs.

\paragraph{Multithreading.} RS03 can use multiple threads - and
therefore CPU cores - for encoding (yellow slider). For systems with 4 cores
or less, start with setting the number of threads to the number of cores.
If you have more cores, leave one core for doing I/O and graphics updates,
e.g. use 7 threads on an 8 core system. On systems with hyper-threading
capabilities, increasing the number of threads until double the number
of physical cores might improve performance.

\smallskip

Do not expect performance to scale linearly with the number of used
CPU cores (although it should do so for at least the first four to
eight cores). Hard disk performance is more limiting than raw CPU power.
When using more than 8 cores, memory bandwidth may eventually limit performance.

\paragraph{Encoding algorithm.} This option affects the speed of
generating RS03 error correction data per CPU core (buttons marked blue).
dvdisaster can either use a generic encoding algorithm using 32bit or 64bit
wide operations running on the integer unit of the processor,
or use processor specific extensions.
Available extensions are SSE2 for x86 based processors and AltiVec on
PowerPC processors. These extensions encode with 128bit wide operations
and will usually provide the fastest encoding variant.
If ``auto'' is specified, the SSE2/AltiVec algorithms will be selected
if the processor supports them. 

\newpage

\subsection{Putting error correction data directly onto the medium}
\label{howto-augment}

\begin{tabular}{ll}
  {\bf Task} & Error correction data is stored along with the user data on the same medium. \\

  &
  \begin{minipage}{132mm}

    \bigskip

    Note: This page describes how an ISO image is augmented with error
    correction data prior to writing it onto a medium.
    There is also a method for creating and placing error correction data
    \tlnk{howto-eccfile}{into a separate file}. 

    \smallskip
    
    \tlnk{howto-ecc}{Would you like help on deciding between these two methods?}
    \end{minipage}\\[15mm]
    
  {\bf Required:} & \\[-5mm]

  \begin{minipage}{15mm}
\vspace*{8mm}
    \goodimage
  \end{minipage} &
  \begin{minipage}{132mm}
    \begin{itemize}
      \item an authoring (``burning'') software capable of creating ISO images
      \item the medium which is to be augmented with error correction data has not yet
        been written (already written media can not be augmented)
      \item at least 20\% of free space on the medium which is to be created
    \end{itemize}
  \end{minipage} \\[15mm]


  {\bf What to do:} &
  \tlnk{howto-augment-basic-settings}{1. Configure basic settings} \\[2mm]

  &
  \tlnk{howto-augment-make-iso}{2a. Create an ISO image,} \\[2mm]

  &
  \tlnk{howto-augment-overview-ecc}{2b. augment it with error correction data,} \\[2mm]

  &
  \tlnk{howto-augment-write-iso}{2c. and write it to a medium.} \\[2mm]

\end{tabular}

%\footnotetext{An already written medium can not be augmented with error correction data.}

%\vspace{10mm}

\subsubsection{Basic settings for augmenting images with ecc data}
\label{howto-augment-basic-settings}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/global-prefs-invoke.png}}
\caption{Opening the configuration dialog.}  
\label{howto-eccfile-open-preferences-augment}
\end{figure}

The relevant tabs are described on the next pages. They are
found in the configuration dialog.
Open the dialog by selecting the symbol marked green in the
screen shot ( \begin{minipage}{8mm}\includegraphics{icons/prefs-icon.png}\end{minipage}, see figure \ref{howto-eccfile-open-preferences-augment}).
The symbol may look different due to the symbol theme you are using.

\medskip

The image can be augmented with error correction data using either
the RS03 or RS02 methods. RS03 is a further development of RS02
and should be preferred for most applications. Especially, RS03
can use multiple threads and will encode much faster on multicore systems
than RS02. RS02 is a bit more space efficient than RS03, so it can
squeeze out slightly more redundancy of the remaining space than
RS03 (typically one additional root for the error correction code). This
effect is most pronounced on small media such as CD. RS03 will always fill
the medium to the maximum possible redundancy while RS02 allows for user
selected redundancies. For media filled with less than 30\% of data,
RS03 will create a three-fold redundancy using 170 roots which
is quite compute intensive. With RS02, a lower redundancy can be
selected which is faster to compute. However due to RS03s multithreading
capabilities it might keep its performance advantage over RS02 even
when encoding with full redundancy. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/augment-prefs-rs03.png}}
\caption{The ``Error correction'' tab for the RS03 codec.}  
\label{howto-augment-prefs-rs03}
\end{figure}

\paragraph{Settings for encoding with the RS03 method.}\quad

Select the entry ``Multithreaded RS codec (RS03)'' in the drop down menu (marked green).
After this selection the contents of the tab will display the choices given
with the RS03 method.

\paragraph{Error correction data storage.} Select ``Image'' (also marked green)
so that error correction data will be appended to a given image. The image will
always be filled to the maximum possible redundancy so there will be no choices
in the ``Redundancy'' field.

\paragraph{Multithreading.} The RS03 encoder can distribute its workload
onto multiple processor cores by using multithreading. On machines with
up to four cores, set the number of threads (marked yellow) equal to the
number of cores (e.g. use 4 threads on a 4 core machine). On machines with
more than 4 cores, use one thread less than the number of available cores;
e.g. use 7 threads on an 8 core machine - this leaves one core free for
housekeeping tasks.

\smallskip

Leave the other settings as shown in the screenshot; you
can \tlnk{howto-augment-advanced-settings}{optimize} them later. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/augment-prefs-rs02.png}}
\caption{The ``Error correction'' tab for the RS02 codec.}  
\label{howto-augment-prefs-rs02}
\end{figure}

\vspace*{-3mm}
\paragraph{Settings for encoding with the RS02 method.}\quad

Select the entry ``Augmented Image (RS02)'' in the drop down
menu (marked green). After this selection the contents of the tab
will display the choices given with the RS02 method.

\paragraph{Maximum image size.} Select
``Use smallest possible size from following table'' if you are working
with standard media sizes. dvdisaster will then choose the
smallest possible medium type which can be used for
storing the image. The remaining free space on the medium
will be used for error correction data and the image will
be prepared accordingly.

See the \tlnk{howto-augment-advanced-settings-rs02}{optimization} section
for working with non standard media and the remaining settings. 

\paragraph{Not used tabs.} The ``Misc'' tab currently has only
functions for creating log files. This is helpful for
\tlnk{reporting-defects}{reporting defects}
but should be left off during normal operation.
The ``Appearance'' tab allows you to adapt the output colors
to your taste, but these have no further effects on the error correction data creation.
All other tabs are not relevant for augmenting the image.
 
\subsubsection{Overview: Creating the augmented image and writing it to a medium}
\label{howto-augment-overview}

dvdisaster is specialized in working with error correction data and reading
of defective media. Creating ISO or UDF images and writing them to a medium
is a totally different business, and also bears high complexity. We do not
want to re-invent medium writing in dvdisaster, as a lot of useful programs
have already been written for this task. You should however pick a writing
application which supports SAO/DAO (session at once / disc at once) writing
on CD media and does not modify ISO images supplied by third-party software
(like dvdisaster). Some common free burning programs for GNU/Linux have been
\tlnk{burning-compatibility}{evaluated in the burning software compatibility section}.
For a start try using the K3B burning program.

\bigskip

The following overview shows the steps for creating, augmenting and writing the
ISO image. More detailed information on these steps is given in the next pages.

\medskip

\begin{tabular}{cl}
  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/make-iso1.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf First create an ISO image} using your optical disc writing software.
    Select the files you want to write to the medium, but do not start the writing
    process yet. Instead, create an ISO image on your hard disk. See the
    \tlnk{howto-augment-make-iso}{walkthrough for creating an ISO image with K3B}
    for more information.
  \end{minipage}\\[14mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[4mm]

  \begin{minipage}{50mm}
    \centerline{\goodimage}
  \end{minipage}
  &
  \begin{minipage}{104mm}
\label{howto-augment-overview-ecc}
    When you have prepared the image {\bf switch over to dvdisaster}.
    Make sure that it has been configured as described in
    the \tlnk{howto-augment-basic-settings}{basic settings}. 
  \end{minipage}\\[6mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[-4mm]

  \begin{minipage}{50mm}
    \centerline{\selectimage}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Select the directory and name of the ISO image} which
    you have just created. You can either enter the image file name directly
    into the text field or bring up a file dialog by selecting the icon to
    the left of the text field.
  \end{minipage}\\[-4mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[4mm]

  \begin{minipage}{50mm}
    \centerline{\createicon}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Augment the image with error correction data} by clicking on
    the ``Create'' button.
  \end{minipage}\\[5mm]

    \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[4mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/make-ecc3.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Please wait while the error correction data is being created.} This
    may take a while depending on the image size and the available free
    space on the medium. Processing a DVD image with about 20-30\% free
    space should take a few seconds on recent hardware. 
  \end{minipage}\\[14mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}

    \centerline{(continued: next page)}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Please note:} dvdisaster does not create a new image,
    but will rather augment the existing one. If you look at the image
    in the file manager before and after processing it with dvdisaster
    you will note how the image size increases.
  \end{minipage}\\
\end{tabular}

\newpage
\begin{tabular}{cl}
  \multicolumn{2}{l}{(continued from previous page)} \\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[4mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/write-iso1.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Write the augmented ISO image on the medium.} Select the
    augmented image in your writing software and start the writing
    process. See the \tlnk{howto-augment-write-iso}{walkthrough for writing an ISO image with K3B}
    for more information.
  \end{minipage}\\[14mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[5mm]

  \begin{minipage}{50mm}
    \centerline{\augmentedcd}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Finished!} You have now created an optical disc which
    is protected by error correction code.
  \end{minipage}\\
\end{tabular}

\bigskip

\paragraph{Related information}\quad

\medskip

\begin{itemize}
  \item \tlnk{howto-compat-augment}{Check whether the writing process has affected the error correction data.}

    
    It is recommended to perform this test once every time you change
    to a new version (or vendor) of your media writing software to make
    sure that it interoperates well with dvdisaster.
\end{itemize}

\newpage
\subsubsection{Detailed example: Creating an ISO image on hard disk.}
\label{howto-augment-make-iso}

Since there are many different media writing programs available we are
demonstrating the required steps by using the free optical disc writing
application {\bf K3B} as an example. If you are using a different software
you should be able to figure out the required actions from the descriptions below.

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/make-iso1.png}}
\caption{Starting a new project.}  
\label{howto-augment-make-iso-new-project}
\end{figure}

\paragraph{Begin a new project.} First open your media
writing application. Many programs expect you to start a new project.
Within the project you will then make the selections for the new medium.

\bigskip

Using K3B: {\em Begin a new project by clicking the ``New Data Project''
  button located in the lower left area of the main window.} 

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/make-iso2.png}}
\caption{File selection.}  
\label{howto-augment-make-iso-file-selection}
\end{figure}

\paragraph{Select the files to be written on the medium.} Typically there
is a file selection dialog from which you can select files or drag them into the project.

\medskip

Using K3B: {\em Use the upper half of the window to navigate your
  filesystem. Drag the files and folders you want to write to the
  medium into the ``Current projects'' area in the bottom half of the
  window. In the example the folder {\tt papers} and the file {\tt archive.tar.gz}
  have been selected for writing onto CD.}

\medskip

\paragraph{Important:} Do not completely fill the medium.
Make sure to keep at least 20\% of the medium space for the error correction data.

\medskip

Using K3B: {\em The currently used medium space is shown in the
  scale bar at the bottom of the window (486,8 MiB).} 

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/make-iso3.png}}
\caption{Configuring the writing software.}  
\label{howto-augment-make-iso-configure}
\end{figure}

\paragraph{Configure the writing software.} The software will let you
choose the writing target before the actual writing process is invoked.
Do {\bf not} select the optical drive or medium here, but configure the creation
of an ISO/UDF image on hard disk as described below. If your program seems
to be missing an image writing option you might have to select
an ``image recorder'' instead of the actual optical drive.

\smallskip

{\bf Hint:} Remove all media from the drives before proceeding
to make sure that you do not inadvertently start the writing process.

\bigskip

Using K3B: {\em Click the ``Burn'' button in the ``Current projects''
  window (see previous screen shot) to open the medium burning dialog.
  Select ``Only create image'' from the choices listed under ``Settings''.} 

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/make-iso4.png}}
\caption{Select image file and type.}  
\label{howto-augment-make-iso-filename}
\end{figure}

\paragraph{Select the image file and type.} Select the target directory,
name and type for the image file. Use image files of type ``.iso'' or ``.udf'' only!
Other image formats like ``.nrg'' are not supported by dvdisaster;
processing such image files with dvdisaster will render them unusable
without further notice or error messages.

\bigskip

Using K3B: {\em Switch to the ``Image'' tab in the dialog you opened
  in the previous step. Pick the destination directory and file name
  in the text field below ``Write image file to:'', or click the
  button right to the text field to bring up the file chooser.
  In the example, the image file will be named ``medium.iso'' and placed
  in the ``backup'' directory in the user cg's home folder. K3B only
  allows you to create ``.iso'' type images, so there is nothing to
  do with respect to the image file type. }

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/make-iso5.png}}
\caption{Select the medium name/label.}  
\label{howto-augment-make-iso-label}
\end{figure}

\paragraph{Select the medium name.} Optionally, provide the disc
with a descriptive volume name.

\bigskip

Using K3B: {\em Switch to the ``Filesystem'' tab in the dialog.
  Enter the desired name under ``Volume Name''. In the example, the volume
  is named ``My backup disc''.}

\bigskip

Finally, click the ``Start'' button to create the ISO image. 

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/make-iso6.png}}
\caption{Wait for the image creation to finish.}  
\label{howto-augment-make-iso-create}
\end{figure}

\paragraph{Wait for the image creation to finish.} It
might take a while to produce the image.

\bigskip

When the ISO image has been created, please return to
the \tlnk{howto-augment-overview}{overview of creating augmented images}
and continue with the second step (``switch over to dvdisaster'').

\newpage
\subsubsection{Detailed example: Writing the augmented ISO image on a medium.}
\label{howto-augment-write-iso}

As we have mentioned in the overview section, writing the augmented image
onto the medium is not dvdisaster's task. Use your favourite optical disk
writing software for performing this step; in the following example
we are using {\bf K3B} again.

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/write-iso1.png}}
\caption{Switching the application to image writing.}  
\label{howto-augment-write-iso-prepare}
\end{figure}

\paragraph{Select writing of the image.} Open your media writing
software again. Invoke the mode for writing pre-existing ISO images
on the medium.

\bigskip

Using K3B: {\em From the ``Tools'' menu, select the ``Burn image'' entry.} 

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/write-iso2.png}}
\caption{Image selection.}  
\label{howto-augment-write-iso-select}
\end{figure}

\paragraph{Image selection.} Select the image you have
just created and augmented with dvdisaster.

\bigskip

Using K3B: {\em Fill in the path to the image file in the text
  field under ``Image to burn'', or invoke the file chooser
  by pushing the button to the right of the text field.
  Select the image file you have just created with dvdisaster. }

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/write-iso3.png}}
\caption{More settings.}  
\label{howto-augment-write-iso-settings}
\end{figure}

\paragraph{More settings.} Select the drive which contains the
blank medium you are going to write. When writing CD media,
select the ``SAO'' (``session at once'') writing mode if
supported by your drive. Sometimes this mode is also
called ``DAO'' (``disc at once''). This improves the compatibility
between the medium and the error correction. In addition this
prevents you from accidentally adding more sessions to the disc
which would destroy the error correction data.

\bigskip

Using K3B: {\em Select the medium you wish to write in the drop
  down menu under ``Burn Medium'' (marked yellow). If you have
  more than one optical drive, it is recommended to leave all
  drives empty except for the one you wish to use for burning.
  Choose ``DAO'' in the drop down menu under ``Writing mode''
  (marked green) when writing CD media. }

\newpage
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/write-iso4.png}}
\caption{Writing the medium.}  
\label{howto-augment-write-iso-medium}
\end{figure}

\paragraph{Writing the medium.} Now start the writing process
and wait until it finishes.

\bigskip

Using K3B: {\em Click on the ``Start'' button in the window
  from the previous screen shot. }

\bigskip

After this step, you have finished creating an optical disc
which is protected by error correction code.

\newpage
\subsubsection{Advanced settings for augmenting images with ecc data}
\label{howto-augment-advanced-settings}

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/augment-prefs-rs03-adv.png}}
\caption{Settings for the RS03 codec.}  
\label{howto-augmented-settings-rs03-adv}
\end{figure}

\paragraph{Settings for encoding with the RS03 method.}\quad

\paragraph{I/O parameters.} dvdisaster optimizes access to the image
and error correction data by preloading and caching parts of them.
The optimal preload value (see options marked yellow) depends on the
storage system used for the image and error correction files. Use
small preload values for systems with low latency and seek time,
e.g. SSDs. For magnetic hard disks performance may be better using
larger preload values. A preload value of $n$ will used approx. $n$ MiB
of RAM. Do not preload more data than you have physical RAM available.

The {\em I/O strategy} setting controls how dvdisaster performs its
disk I/O while creating error correction data. Try both options and
see which performs best on your hardware setting. The read/write
option (marked green) activates dvdisaster's own I/O scheduler
which reads and writes image data using normal file I/O. The
advantage of this scheme is that dvdisaster knows exactly which
data needs to be cached and preloaded; the disadvantage is that
all data needs to be copied between the kernel and dvdisaster's
own buffers. Usually, this I/O scheme works best on slow storage
with high latency and seek times; e.g. on all storage involving
spinning platters. It may also be helpful when the system is under
high load; e.g. when a lot of I/O intensive processes are competing
for the global I/O buffers (but it is not recommended to use dvdisaster
concurrently with other I/O intensive processes anyways). The memory
mapped option uses the kernel's memory mapping scheme for direct access
to the image file. This has the advantage of minimal overhead, but may
be adversely affected by poor caching and preloading decisions made by
the kernel (since the kernel does not know what dvdisaster is going to
do with the data). This scheme usually performs well when encoding in
a RAM-based file system (such as /dev/shm on GNU/Linux) and on very fast
media with low latency such as SSDs.

\paragraph{Encoding algorithm.} This option (marked blue) affects
the speed of generating RS03 error correction data. dvdisaster can
either use a generic encoding algorithm using 32bit or 64bit wide
operations running on the integer unit of the processor, or use
processor specific extensions. Available extensions are SSE2 for
x86 based processors and AltiVec on PowerPC processors. These
extensions encode with 128bit wide operations and will usually
provide the fastest encoding variant. If ``auto'' is selected,
the SSE2/AltiVec algorithms will be selected if the processor
supports them; otherwise the 64bit algorithm will be used. Therefore,
the ``auto'' setting is a good choice unless you are running very
uncommon or legacy hardware.

\newpage
\begin{figure}[h]
\vspace*{-5mm}
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/augment-prefs-rs02-adv.png}}
\caption{Settings for the RS02 codec.}  
\label{howto-augmented-settings-rs02-adv}
\end{figure}

\vspace*{-8mm}

\paragraph{Settings for encoding with the RS02 method.}\quad
\label{howto-augment-advanced-settings-rs02}

Please note that this section is only relevant to RS02.
RS03 does not have the respective features.

\paragraph{Choosing the image size.} dvdisaster has a table of
standard sizes for CD, DVD and BD media. Any media should meet
these size requirements. Some vendors produce slightly higher
capacity media. If you have such media, insert a blank one into
the currently selected drive and click the ``query medium'' button
(marked green) to the right of the proper medium type. dvdisaster
will determine the medium size and update the table accordingly.
Alternatively, you can also enter the medium size directly into the
respective numerical fields.

Note: The medium size can only be determined in drives which are
capable of writing the respective media type.

\paragraph{Arbitrary image sizes.} You can set a specific image
size which will not be exceeded after augmenting it with RS02
error correction data. To do so activate the button beneath
``Use at most ... sectors'' and enter the maximum image size
in units of sectors (1 sector = 2KiB).

\newpage

\subsection{Recovering media images}
\label{howto-recover}

\begin{tabular}{lll}
  \multicolumn{2}{l}{\bf Task} &
Recover the contents of a defective medium. \\[10mm]

  \multicolumn{2}{l}{\bf Required:} & \\[3mm]

  \begin{minipage}{15mm}
    \quad
  \end{minipage} &

  \begin{minipage}{15mm}
    \augmentedcd
  \end{minipage} &
  A defective medium containing \tlnk{howto-augment}{error correction data}, \\

  & & or \\
  
  \begin{minipage}{15mm}
    \badcd
  \end{minipage} &

  \begin{minipage}{15mm}
    \eccfile
  \end{minipage} &

  a defective medium with an
  appropriate \tlnk{howto-eccfile}{error correction file}\footnotemark. \\[10mm]

  \multicolumn{2}{l}{\bf What to do:} &
  \tlnk{howto-recover-basic-settings}{1. Configure basic settings for reading,} \\[2mm]

  & &
  \tlnk{howto-recover-read}{2a. create an ISO image from the defective medium,} \\[2mm]

  & &
  \tlnk{howto-recover-fix}{2b. recover the image and write it to a new medium.} \\[10mm]

\end{tabular}

\footnotetext{The error correction file must have been created
  at a time the medium was still intact: It is not possible to
  create error correction data from an already defective medium. }

\vspace{10mm}

\subsubsection{Basic settings for recovering media images}
\label{howto-recover-basic-settings}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/global-prefs-invoke.png}}
\caption{Opening the configuration dialog.}  
\label{howto-recover-open-preferences}
\end{figure}

The relevant tabs are described on the next pages. They are
found in the configuration dialog.
Open the dialog by selecting the symbol marked green in the
screen shot ( \begin{minipage}{8mm}\includegraphics{icons/prefs-icon.png}\end{minipage}, see figure \ref{howto-recover-open-preferences}).
The symbol may look different due to the symbol theme you are using.

\bigskip

The settings shown here configure dvdisaster for reading the defective
medium. There are no dedicated settings for reconstructing the image
from the error correction data. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/recover-prefs-image.png}}
\caption{The ``Image'' tab.}  
\label{howto-recover-prefs-image}
\end{figure}

First switch the reading strategy to ``Adaptive'' (marked green)
so that dvdisaster uses information from the error correction data
to make the reading process as efficient as possible.

\medskip

When the defective medium has been augmented with RS02 or RS03
error correction data, activate the respective options for error
correction data recognization (marked yellow). Do not activate
these options when working with error correction files. Otherwise
dvdisaster will search the image for error correction data, which
takes a lot of time.

\medskip

Leave the remaining settings at the values shown in the screen shot. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/recover-prefs-drive.png}}
\caption{The ``Drive'' tab.}  
\label{howto-recover-prefs-drive}
\end{figure}

Leave this tab at the shown default settings for the moment.
Some drives might read CD media better using the raw reading
mode ``21h'' (this mode is ignored for DVD and BD media).
See the \tlnk{howto-recover-settings-adv}{advanced settings} for more information.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/recover-prefs-read-attempts.png}}
\caption{The ``Reading attempts'' tab.}  
\label{howto-recover-prefs-read-attempts}
\end{figure}

The strength of the adaptive reading strategy lies in finding the
still readable sectors and avoiding the lengthy process of trying
to read defective sectors. Therefore select ``raw'' reading
(marked green) as it will not cost additional processing time,
but reduce the number of reading attempts to the minimum values
(marked yellow). Use a moderate termination criterium of 128 unreadable
sectors (marked blue) for the first reading attempt. Do not activate
raw sector caching yet. If it turns out that these settings do not
provide enough data for a successful recovery they can
be \tlnk{howto-recover-settings-adv}{optimized} later. 

\paragraph{Not used tabs.} The ``Error correction'' and ``Files'' tabs
have no influence on the reading process. The ``Misc'' tab currently
has only functions for creating log files. This is helpful for
\tlnk{reporting-defects}{reporting defects} but should be left
off during normal operation. The ``Appearance'' tab allows you
to adapt the output colors to your taste, but these have no
further effects on the reading process. 

\newpage
\subsubsection{Recovering media images - Walkthrough}
\label{howto-recover-read}

Please make sure that dvdisaster has been configured as
described in the \tlnk{howto-recover-basic-settings}{basic settings} section.
Then perform the following steps: 

\bigskip

\begin{tabular}{cl}
  \begin{minipage}{50mm}
    \centerline{\slotin}
  \end{minipage}
  &
  \begin{minipage}{104mm}
  {\bf Insert the defective medium into a drive} which
  is directly connected to your computer. You can not use network
  drives, software drives and drives inside virtual machines.
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\

  \begin{minipage}{50mm}
    \centerline{\filemanager}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Close any windows} which may be opened by your
    operating system for viewing or performing the medium contents.
    Wait until the drive has recognized the medium and the medium
    has spun down. 
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\selectdrive}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Select the drive containing the defective medium} in dvdisasters
    drop down menu. 
  \end{minipage}\\[4mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\

  \begin{minipage}{50mm}
    \centerline{\selectecc}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    \label{howto-recover-enter-eccfile}
    If you are using \tlnk{howto-eccfile}{error correction files} enter the file name
    in the shown field. Leave this entry blank when the medium
    has been \tlnk{howto-augment}{augmented with error correction data}.
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\readicon}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Click the "Read" button} to start the reading process.
  \end{minipage}\\[6mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/adaptive-progress.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    \paragraph{Watch the reading process progress.} The adaptive reading strategy
    performs a systematic search for readable sectors. You will observe temporary
    gaps which will be closed in later stages. Usually this effect is less
    pronounced as shown in the screen shot. If all defective sectors are
    located at the end of the medium the reading process may even stop
    before touching the first defective sector. 
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \multicolumn{2}{l}{(continued at the next page)} \\
\end{tabular}

\newpage
\paragraph{The next actions depend on the outcome of the reading process.} The
reading process terminates automatically when enough data for a successful
recovery has been gathered (compare the output marked in green). In that
case continue the recovery by clicking on the ``Fix'' button as
\tlnk{howto-recover-fix}{described two pages later}. 
\label{howto-recover-read-success}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/adaptive-success.png}}
\caption{A successful reading attempt.}  
\label{howto-recover-reading-success}
\end{figure}

\newpage

The reading process will also abort if it could not find enough readable
sectors (see the output marked in red). The image is not yet recoverable
in this incomplete state. Please try to gather additional data following
the tips shown in \tlnk{howto-recover-settings-adv}{advanced settings}.

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/adaptive-failure.png}}
\caption{An incomplete reading attempt.}  
\label{howto-recover-reading-failure}
\end{figure}

\newpage

\paragraph{Recovering the image of the defective medium}\quad
\label{howto-recover-fix}

\bigskip

\begin{tabular}{cl}
  \multicolumn{2}{l}{(continued from previous pages)} \\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\fixicon}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    Click the "Fix" button to begin the {\bf image recovery}. The recovery
    will succeed only if the \tlnk{howto-recover-read-success}{reading process stated success}!
  \end{minipage}\\[6mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

    \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/fix-success.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Watch the progress of the recovery.} The adaptive reading
    will stop as soon as enough data has been collected for a
    successful recovery; therefore the error correction will
    always be loaded to the max. This causes the display of the
    massive red area in the ``Errors/Ecc block'' graph and is no
    cause for worry. Depending on the medium size and your system
    speed the recovery may take several minutes to hours.
  \end{minipage}\\[16mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\goodimage}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    When the recovery finishes all data in the ISO image will be complete again.
  \end{minipage}\\[6mm]

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/write-iso1.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Write the recovered ISO image} to a new medium using your
    favourite media writing software. This step is the same as
    \tlnk{howto-augment-write-iso}{writing a newly created augmented image to a medium}.
  \end{minipage}\\[16mm]

 \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

 \begin{minipage}{50mm}
  \oldcd\oldimage\goodcd
  \end{minipage}
  &
  \begin{minipage}{104mm}
    Now you have created a new medium containing the fully recovered data.
    Make sure to \tlnk{howto-scan}{check it for read errors}. Then you
    can discard the defective medium and delete the ISO image.
    However if you have created an error correction file for the old
    medium then you can keep it to protect the newly created medium. 
  \end{minipage}\\[6mm]
\end{tabular}

\newpage
\subsubsection{Advanced settings for recovering media images}
\label{howto-recover-settings-adv}

The first attempt of \tlnk{howto-recover-read}{reading the defective medium} will
usually provide enough data for the error correction. If it did not, try the following.

\vspace*{-2mm}

\paragraph{Estimating the chance of recovery}\quad

\bigskip

\centerline{\includegraphics[width=\textwidth]{screenshots/adaptive-failure.png}}

\smallskip

Examine the output of the reading process. Under the
``Sectors processed'' section you will find the actual
percentage of readable sectors and how many percent will
be needed for a full recovery. Using the difference between
the two values (85.6\% - 81.3\% = 4.3\% in the example) you
can estimate the likelyhood of being able to collect enough
sectors for a successful recovery. The following table
relates the missing percentages to the likelyhood of a
successful recovery.

\bigskip

\colorbox{ltgreen}{
  \begin{tabular}{p{30mm}p{118mm}}
    $<$ 5\% &
    Chances are good that you will get enough data using more reading attempts. \\
\end{tabular}}

\vspace*{-1mm}

\colorbox{ltyellow}{
  \begin{tabular}{p{30mm}p{118mm}}
    5\% - 10\% &
    If you have several drives with different reading characteristics
    you may get the required data by being persistent and patient. \\
\end{tabular}}

\vspace*{-1mm}

\colorbox{ltorange}{
  \begin{tabular}{p{30mm}p{118mm}}
    10\% - 20\% &
    You are in trouble. If the missing sectors do not drop significantly
    below 10\% during the next 2-3 reading attempts the medium is probably
    unrecoverable. \\
\end{tabular}}

\vspace*{-1mm}

\colorbox{ltred}{
  \begin{tabular}{p{30mm}p{118mm}}
    10\% - 20\% &
    Too much data loss; you can write this medium off as unrecoverable.
    To prevent this from happening again, use error correction data
    with higher redundancies and shorten the intervals for defect scanning.  \\
\end{tabular}}

Try the following settings one by one in further read attempts. Please
perform a complete reading pass for each setting so that you learn how
it affects the outcome (sometimes the results also differ depending on
the drive used for reading). When you have gone through the list you may
combine them into more powerful configurations. 

\begin{figure}[h]
\centerline{\includegraphics[width=0.87\textwidth]{screenshots/fix-prefs-read-attempts-adv1.png}}
\caption{Another reading pass with finer granularity.}  
\label{howto-recover-read-attempts-finer}
\end{figure}

\vspace*{-10mm}
\paragraph{Perform another reading pass with a finer granularity}\quad

Do not alter any values except for setting a smaller value for terminating
the reading process. Recommended values are: 32 for BD, 16 for DVD and 0
for CD (use the slider marked green). Perform another reading attempt
using this setting. You can repeatedly read the medium as long as any
pass provides a significant number of new sectors.

\smallskip

{\bf Hint:} Let the drive cool down between the reading passes.
Eject and load the medium before each pass; sometimes the medium
comes to rest in a better position and the number of readable sectors improves. 

\vspace*{-3mm}
\paragraph{Complete the image using different drives}\quad

Perform additional reading attempts using different drives.
Transfer the image to other computers to see if their drives
can contribute more readable sectors.

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/fix-prefs-read-attempts-adv2.png}}
\caption{Increasing the number of reading attempts per sector.}  
\label{howto-recover-read-attempts-per-sector}
\end{figure}

\paragraph{Increase the number of reading attempts per defective sector.}\quad

\bigskip

{\em For all media types (CD, DVD, BD):}

\medskip

Set the number of reading attempts per sector to a minimum of 5 and
a maximum of 9 (green markings).

\bigskip

{\em Only for CD media:}

\medskip

Some drives are capable of partially reading defective sectors on
CD media. Activate the ``Raw sector caching'' option and specify
a directory where fragments of defective sectors should be stored
(yellow markings). If enough fragments of a defective sector have
been collected it may be possible to fully reconstruct it from
that information. 

\medskip

See the hints on the next page to check that these settings
really have an effect.

\paragraph{Making sure that the new settings work:}\quad

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/fix-reread-dvd.png}}
\caption{Multiple reading attempts.}
\label{howto-recover-multiple-read-attempts}
\end{figure}

{\em Examining results of multiple reading attempts (CD, DVD, BD):}

Not all drives show an improvement after increasing the number of
reading attempts. Watch for messages of the
form "Sector ..., try x: success" (highlighted in yellow). These
indicate that the drive could read a sector after several reading
attempts. If you never see such messages, increasing the number of
reading attempts does not pay off for the respective drive. 

\bigskip

{\em Examining partial reading of defective CD sectors:}

When the whole medium has been processed, look into the directory you
entered above (/var/tmp/raw in the example). If no raw files have
been created the drive may not support the required reading mode.
However if you have several drives which do create raw files, then
let them all work in the same raw file directory. Collecting raw sector
fragments from different drives hightens the chance of reconstructing
the defective sectors. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=0.9\textwidth]{screenshots/fix-prefs-read-drive-adv.png}}
\caption{Use a different raw reading mode.}
\label{howto-recover-different-raw-reading-mode}
\end{figure}

{\em Use a different raw reading mode for CD media:}

Using the preset "20h" raw reading mode might not work on
some drives. Perform another reading attempt using raw reading
mode "21h" (see the screenshot). Check again whether some raw
files have been created. 

\newpage
\subsection{Getting information on images and error correction data}
\label{howto-info}

\bigskip

\begin{tabular}{lll}
  \multicolumn{2}{l}{\bf Task} &
  \begin{minipage}{119mm}
  Shows information on types and states of images and error correction files.
  \end{minipage}
  \\[10mm]

  \multicolumn{2}{l}{\bf Required:} & \\[3mm]

  \begin{minipage}{15mm}
    \goodimage
  \end{minipage} &

  \begin{minipage}{15mm}
    \eccfile
  \end{minipage} &
  \begin{minipage}{119mm}
  An image file (either fully working or defective) and optionally
  the \tlnk{howto-eccfile}{error correction file} for it.
  \end{minipage}\\[10mm]

  \multicolumn{2}{l}{\bf What to do:} &
  \tlnk{howto-info-show}{1. Show the information} \\[2mm]

  & &
  2. Interpret the results for \tlnk{howto-info-rs01}{RS01},
 \tlnk{howto-info-rs02}{RS02}, or \tlnk{howto-info-rs03}{RS03}.
  \\[2mm]
\end{tabular}

\subsubsection{Showing the information}
\label{howto-info-show}

The are no settings for this function; however you need an
image file and optionally the \tlnk{howto-eccfile}{error correction file}
belonging to it. 

\vspace{10mm}

\begin{tabular}{cl}
  \begin{minipage}{50mm}
    \centerline{\selectimage}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Enter the file name of the ISO image} for which you want
    to get information. The image must already be present on hard disk;
    otherwise use the "Read" function to get it from a medium. 
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\

    \begin{minipage}{50mm}
    \centerline{\selectecc}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Enter the name of the error correction file} which belongs
    to this medium. Leave this entry blank when the image has
    been \tlnk{howto-augment}{augmented with error correction data}. 
  \end{minipage}\\

  \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

  \begin{minipage}{50mm}
    \centerline{\verifyicon}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Start the evaluation} by clicking on the "Verify" button.
  \end{minipage}\\[6mm]

 \begin{minipage}{50mm}
    \centerline{\downarr}
  \end{minipage}
  & \\[6mm]

 \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/info-okay-rs02.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Watch the verification progress.} In order to display
    all information the image and error correction files must be fully read. 
  \end{minipage}\\
\end{tabular}

\newpage

The verification process produces slightly different output
depending on the the type of error correction data used:

\begin{itemize}
\item whether \tlnk{howto-eccfile}{error correction files} or
  \tlnk{howto-augment}{augmented images} have been used; and
\item which \tlnk{background-methods}{error correction method}
  (e.g. RS01, RS02 or RS03) has been used.
\end{itemize}

See the following subsections for interpreting the specific outputs for:

\begin{itemize}
\item \tlnk{howto-info-rs01}{error correction files created by the RS01 method}; or
\item \tlnk{howto-info-rs02}{images augmented with error correction data by the RS02 method}; or
\item \tlnk{howto-info-rs03}{any error correction data created by the RS03 method.}
\end{itemize}

\subsubsection{Results for images with RS01 error correction files}
\label{howto-info-rs01}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/info-okay-rs01.png}}
\caption{Info for an image with RS01 error correction file.}
\label{howto-info-good-rs01}
\end{figure}

\newpage

Output field {\bf ``Image file summary''}:

\medskip

\begin{tabular}{lp{125mm}}
  Medium sectors  & 
  The number of sectors in the ISO image (one sector = 2KiB). \\
  Checksum errors &
  The error correction file contains CRC32 checksums for each image sector. 
  If this value is greater than zero some sectors were readable but their 
  contents do not match the checksum. The error correction will try to 
  recalculate the contents of these sectors.  \\
  Missing sectors & 
  This is the number of sectors which could not be read from 
  the medium. The error correction will try to recover the contents of these sectors. \\
  Image checksum &
  A MD5 checksum is calculated for the complete ISO image. You can reproduce 
  this value using the command line of GNU/Linux: \par
  {\tt md5sum medium2.iso}
\end{tabular}

\medskip

If all values in this output field are okay the 
message "\textcolor{dkgreen}{Good image.}" appears. 
Otherwise the most important error will be explained there. 

\bigskip

Output field {\bf ``Error correction file summary''}:

\medskip

\begin{tabular}{lp{124mm}}
  Created by: &
  Prints the dvdisaster version which was used for creating the 
  error correction data. Alpha/developer versions are highlighted in red. \\
  Method: &
  The method and redundancy used for creating the error correction file. \\
  Requires: &
  Processing the error correction data may require at least the shown version of dvdisaster. \\
  Medium sectors: &
  The expected number of sectors in the image file (as recorded in the ecc data). \\
  Image checksum: &
  The expected MD5 sum of the image file. \\
  Fingerprint: &
  dvdisaster uses the checksum of a special sector to determine 
  whether the error correction file was made for a given image. \\
  Ecc blocks: &
  The error correction divides the image into small blocks which can 
  be processed independently. This information is not of interest as long 
  as the number of ecc blocks is correct ;-) \\ 
  Ecc checksum: &
  A MD5 checkum is calculated over the error correction file, not taking 
  into account the first 4KiB. You can reproduce this value using 
  the command line of GNU/Linux: \par
  {\tt tail -c +4097 medium.ecc | md5sum} \\
\end{tabular}

\medskip

If all values in this output field are okay the 
message "\textcolor{dkgreen}{Good error correction file.}" appears. Otherwise 
the most important error will be explained there. 

\newpage
 	
\subsubsection{Results for images augmented with RS02 error correction data}
\label{howto-info-rs02}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/info-okay-rs02.png}}
\caption{Info for an image augmented with RS02 error correction data.}
\label{howto-info-good-rs02}
\end{figure}

When verifying an image against its embedded error correction data the 
information will be given with respect to:

\begin{itemize}
\item the whole (augmented) image (``Image file summary''), and
\item the error correction data part (``Error correction data'').
\end{itemize}

\bigskip

Output field {\bf ``Image file summary''}:

\medskip

\begin{tabular}{p{28mm}p{125mm}}
  Medium sectors  & 
  The number of sectors in the augmented image (including the sectors added by dvdisaster; 
  one sector = 2KiB). \\
  Data checksum: &
  The MD5 checksum of the original image (prior to augmenting it with error correction data). \\
  Ecc headers, \par
  Data section,\par
  Crc section, \par
  Ecc section  & 
  The augmented image consists of three sections plus some ecc header sectors 
  embedded into them. These values describe how many sectors are unreadable 
  in the respective sections. \\
\end{tabular}

\medskip

If all values in this output field are okay the 
message "\textcolor{dkgreen}{Good image.}" appears. 
Otherwise the most important error will be explained there. 
\newpage

Output field {\bf ``Error correction file summary''}:

\medskip

\begin{tabular}{lp{125mm}}
Created by: &
Prints the dvdisaster version which was used for creating the error 
correction data. Alpha/developer versions are highlighted in red. \\
Method: &
The method and redundancy used for creating the error correction data. \\
Requires: &
Processing the error correction data may require at least the shown version of dvdisaster. \\
Medium sectors: &
The first value is the number of sectors in the augmented image; 
the second one describes the number of sectors the image had before 
it was processed with dvdisaster. Since the error correction data is 
placed behind the user data, the checksum of the original image can be 
obtained as follows (using the command line of GNU/Linux):

\smallskip

{\tt head -c \$((2048*121353)) medium.iso | md5sum}

\smallskip

The first parameter for head is the sector size (2048) multiplied 
with the original image length (121353). This property of augmented images 
can also be used to cut off the error correction data:

\smallskip

{\tt head -c \$((2048*121353)) medium.iso $>$stripped\_image.iso}\\
Data checksum: &
The MD5 checksum of the original image (see previous explanations). \\
CRC checksum: & MD5 checksums of the CRC and ECC sections of the augmented image. \\
ECC checksum: & These two can not be easily reproduced outside of dvdisaster. \\
\end{tabular}

\bigskip

If all values in this output field are okay the
message "\textcolor{dkgreen}{Good error correction data.}" appears.
Otherwise the most important error will be explained there.

\subsubsection{Results for RS03 error correction data (ecc files and augmented images)}
\label{howto-info-rs03}

The RS03 error correction method can produce both error correction files
and augmented images. The information screen is very similar for both ways
of storing the error correction data (see fig. \ref{howto-info-good-rs03-file}
and  \ref{howto-info-good-rs03-augmented}).

\bigskip

Output field {\bf ``Error correction properties''}:

\medskip

\begin{tabular}{lp{126mm}}
  Type: &
  Indicates whether the error correction data is stored
  in a separate file (``Error correction file'') or contained
  within the image (``Augmented image''). \\
 	
  Method: &
  The method and redundancy used for creating the error correction data. \\
 	
  Created by: &
  Prints the dvdisaster version which was used for creating the error correction data. \\
 	
  Requires: &
  Processing the error correction data may require at least the shown version
  of dvdisaster. \\
 	
  Data checksum: &
  The MD5 checksum of the original image used for creating
  the error correction data, if available. Calculating this
  checksum requires reading the image twice, so it is turned off by default
  for performance reasons. Future versions of dvdisaster will provide a switch
  in the preferences dialogue (currently it is not possible to switch this feature on).\\

  Fingerprint: &
  dvdisaster uses the checksum of a special sector to determine 
  whether the error correction file was made for a given image.
  Not used for augmented images.\\

\end{tabular}

\newpage
\begin{figure}[h]
\vspace*{-5mm}
\centerline{\includegraphics[width=\textwidth]{screenshots/info-okay-rs03-file.png}}
\caption{Info for an image with RS03 error correction file.}
\label{howto-info-good-rs03-file}
\end{figure}
\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/info-okay-rs03-augmented.png}}
\caption{Info for an image augmented with RS03 error correction data.}
\vspace*{-50mm}
\label{howto-info-good-rs03-augmented}
\end{figure}
\newpage

If no problems are identified with the error correction data,
the message ``\textcolor{dkgreen}{Good error correction data.}'' appears.
Otherwise the most important error will be explained there. 

\bigskip

Output field {\bf ``Data integrity''}:

\medskip

\begin{tabular}{p{29mm}p{125mm}}
  Medium sectors: &
  For error correction files, the first value is the number of
  sectors in the image, and the second value is the size of
  the error correction file measured in 2048 KiByte sectors.
  For augmented images, the first value is the total number of
  sectors in the augmented image, and the second one describes
  the number of sectors the image had before it was processed with dvdisaster.

  \smallskip
  
  Please note that given the same image and redundancy, the size of
  the error correction file will not match the size of the ecc data
  in the augmented image. This is normal behaviour due to padding
  in the augmented image.\\[2mm]
 	
  Data checksum: &
  The MD5 checksum of the image, calculated during the verification process.

  \smallskip
  
  For RS03 augmented images, the checksum can be calculated using
  GNU/Linux tools just as for RS02. The checksum of the original image
  can be obtained as follows (using the command line of GNU/Linux):

  \smallskip
  
  {\tt head -c \$((2048*121353)) medium.iso | md5sum}

  \smallskip
    
  The first parameter for head is the sector size (2048) multiplied
  with the original image length (121353). This property of augmented
  images can also be used to cut off the error correction data:

  \smallskip

  {\tt head -c \$((2048*121353)) medium.iso $>$stripped\_image.iso}\\[2mm]

    Data section,\par
    CRC section,\par
    ECC section &
  If any inconsistencies or missing sectors are found in the
  image (data section) or the error correction data (CRC and ECC section),
  they are reported here.\\[2mm]
 	
  ECC block test: &
  In addition to testing the internal checksums, the RS03
  verify process uses the error correction data to prove
  that all data in the image (and optionally the ecc file)
  is correct. This process may take several minutes depending
  on the image size and can be interrupted using the ``Stop'' button. \\
\end{tabular}

\bigskip

If all values in this output field are okay the
message ``\textcolor{dkgreen}{Good image.}'' appears.
Otherwise the most important error will be explained there. 

\newpage

\subsubsection{Examples}

You have already seen examples
of \tlnk{howto-info-rs01}{good images and error correction files}
and \tlnk{howto-info-rs02}{good images augmented with error correction data} on
the previous pages. In the following some typical examples
of error situations are presented:

\bigskip

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/info-bad-rs01.png}}
\caption{Image with unreadable sectors, RS01.}
\label{howto-info-bad-rs01}
\end{figure}

{\bf Image with unreadable sectors and error correction file.} This is a typical
case of an image from a defective medium, before the error correction has been
applied. The image shown here
contains 6245 unreadable sectors; error correction data is present
by means of an error correction file. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/info-bad-rs02.png}}
\caption{Image with unreadable sectors, RS02.}
\label{howto-info-bad-rs02}
\end{figure}

\paragraph{Image augmented with error correction data, containing unreadable sectors.} This
is another example of an image from a defective medium before recovery.
This image contains unreadable sectors towards its end. Especially
the ECC section is affected since the error correction data is located
at the end of the image. Please note that this does not weaken the error
correction since its corrective power is independent from the error
location: 10000 errors at the beginning of the medium are just as easy
to correct as 10000 errors towards its end. See also the 
\tlnk{bigpicture-ecc}{introduction into the error correction}
and \tlnk{qa-ecc-distribution}{QA item 1.4} on this topic.

\bigskip

The RS02 encoder which was used for creating the error correction data is
capable of predicting the odds of a successful image recovery. These are
shown at the end of the error correction data output area. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/info-truncated.png}}
\caption{Truncated image due to an aborted read, RS01.}
\label{howto-info-truncated}
\end{figure}

\paragraph{\bf Image from aborted reading process.} This image is shorter
than expected; this usually happens when the reading process is stopped prematurely. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/info-padding.png}}
\caption{Image too large because of padding sectors, RS01.}
\label{howto-info-padding}
\end{figure}

\paragraph{Image is larger than expected.} This image is larger than
expected; possible causes are discussed in the section
about \tlnk{howto-compat-overview}{image compatibility}. It may
be possible to recover from this problem; see hints
related to \tlnk{howto-compat-file}{using error correction files} and
\tlnk{howto-compat-augment}{using augmented images}. 

\newpage

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/info-mismatch.png}}
\caption{Wrong error correction file, RS01.}
\label{howto-info-mismatch}
\end{figure}


\paragraph{Wrong error correction file.} The error correction
file was created for a different image.
This causes lots of CRC errors since the data sectors have different
contents. However the most important hint is:

\medskip

Fingerprint: \textcolor{dkred}{mismatch}

\medskip

This tells you that the error correction file does not belong to the image. 

\newpage
\subsection{Testing image compatibility}
\label{howto-compat-overview}

Since dvdisaster depends on your favourite media writing software for writing media and creating
ISO images, it is important to make sure that both softwares
agree on how to create a proper ISO image.

\paragraph{Why dvdisaster uses ISO images.} Some dvdisaster functions work on 
image files stored on hard disk. Optical drives are too slow for carrying out 
the required access patterns, and they would wear out quickly during this process. 
However hard disks are designed for this type of access, and they do them quickly and without wear.

\paragraph{Testing image compatibility is important.} During the work with dvdisaster you 
can (and sometimes must) use ISO images which have been created by third-party software. 
Most products create usable images when advised to use the “.iso” file format, but some
alter the image while writing it to the medium. This renders ecc data unusable. Also,
processing non-iso images with dvdisaster will result in unusable error correction data. 
Especially, {\bf formats like .nrg are not suitable} for processing with dvdisaster.

\paragraph{Possible scenarios.} The following situations require 
exchanging ISO images between dvdisaster and a third party software:

\begin{itemize}
\item[a)] Creating error correction files from ISO images made by a CD authoring software

\smallskip

An optical disc authoring software is used to create an ISO image. This 
image is used for writing the medium and for creating the error correction file. 
When using the authoring software for the first time with dvdisaster, make sure 
that the \tlnk{howto-compat-file}{image was written to the medium without modifications}.

\item[b)] Augmenting ISO images with error correction data

\smallskip

dvdisaster adds ``invisible'' error correction data to the ISO image
in  order to minimize interference with other applications reading from the medium.
But this invisibility might prevent some optical disc writing software from properly
writing the error correction data to the medium. Make sure that your 
writing software does \tlnk{howto-compat-augment}{correctly transfer the error correction data}
when using it with augmented images for the first time.
\end{itemize}
 
\smallskip

Please see also the \tlnk{burning-compatibility}{burning software compatibility list}. From time 
to time the dvdisaster project evaluates some of the most popular burning 
software for the GNU/Linux platform and summarizes the results there. 

%\newpage

\subsubsection{Testing compatibility with CD/DVD/BD writing software for error correction files}
\label{howto-compat-file}

\paragraph{Motivation:} You want to write data to a medium and create an error correction file for it.
In order to save time you do the following:

\begin{enumerate}
\item You create an ISO image using your optical disc writing software.
\item You write the image to a medium.
\item You create the error correction file from the same image.
\end{enumerate}

\paragraph{Possible incompatibility:} The writing software creates a medium which
does not exactly match the image. This might prevent the error correction from recovering
the medium contents when it becomes defective. 

\paragraph{How to test compatibility:} Please note that some steps are only sketched out here; follow
the links to the respective sections to find detailed instructions and examples.

\bigskip

\begin{tabular}{ccl}
  \multicolumn{2}{c}{\begin{minipage}{25mm}\goodimage\end{minipage}}
  &
  \begin{minipage}{100mm}
    {\bf Create an ISO image of the data} you want to write on the medium.
    If you need help on creating ISO images please refer to
    the \tlnk{howto-augment-make-iso}{example of creating ISO images}. 
  \end{minipage} \\[6mm]

  \multicolumn{2}{c}{\begin{minipage}{37mm}\downforkarr\end{minipage}}
  &
  \\[-3mm]
  
  \begin{minipage}{25mm}\goodcd\end{minipage}
    &
  \begin{minipage}{25mm}\eccfile\end{minipage}
    &
  \begin{minipage}{100mm}
    {\bf Write the medium and create the error correction file.} Use the just
    created image to \tlnk{howto-augment-write-iso}{write the medium}. Then
    perform these \tlnk{howto-eccfile-basic-settings-ecc}{basic settings}
    and \tlnk{howto-eccfile-create-ecc}{create an error correction file} from
    the image you still have on your hard disk (e.g. do not yet read it back
    from the medium you have just created).
  \end{minipage}
  \\[-3mm]

  \begin{minipage}{15mm}\downarr\end{minipage}
    &
    &
    \\[-2mm]

  \begin{minipage}{20mm}\goodimagetwo\end{minipage}
    &
    &
     \begin{minipage}{100mm}
       {\bf Create a {\em second} image from the {\em written} medium.} Use
       these  \tlnk{howto-eccfile-basic-settings}{settings} and read the medium
       as described in \tlnk{howto-eccfile-create}{creating an image} for
       making an error correction file. However you can stop the walk-through
       when the reading is finished as we do not need to create the error correction file again. 
     \end{minipage}
  \\[-3mm]

  \begin{minipage}{15mm}\downarr\end{minipage}
    &
    &
    \\[-3mm]
  
  \multicolumn{2}{c}{
  \begin{minipage}{50mm}
    \centerline{\selectimage}
  \end{minipage}}
  &
  \begin{minipage}{100mm}
    {\bf Enter the file name of the {\em second} ISO image} which you have just
    read from the medium. Please note that the following test is useless when
    working with the image which was initially created using the optical disc
    authoring software. 
  \end{minipage}\\[-5mm]

  \multicolumn{2}{c}{
  \begin{minipage}{5mm}\downarr\end{minipage}}
    &
    \\
  
  \multicolumn{2}{c}{
  \begin{minipage}{50mm}
    \centerline{\selectecc}
  \end{minipage}}
  &
  \begin{minipage}{100mm}
    {\bf Enter the name of the error correction file} in case it is not
    already present from the previous actions. 
  \end{minipage}\\

  \multicolumn{2}{c}{
  \begin{minipage}{5mm}\downarr\end{minipage}}
    &
    \\[4mm]
  
  \multicolumn{2}{c}{
  \begin{minipage}{50mm}
    \centerline{\verifyicon}
  \end{minipage}}
  &
  \begin{minipage}{100mm}
    {\bf Start the evaluation} by clicking on the ``Verify'' button.
  \end{minipage}\\[5mm]

  \multicolumn{2}{c}{
  \begin{minipage}{5mm}\downarr\end{minipage}}
    &
    \\[4mm]
  
  \multicolumn{2}{c}{
  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/info-okay-rs01.png}}
  \end{minipage}}
  &
  \begin{minipage}{100mm}
    {\bf Look at the verification results.} If you get the green messages ``Good image.'' 
    and ``Good error correction file.'' your authoring software and dvdisaster 
    are compatible. You can continue creating the error correction files directly 
    from the ISO images produced by the authoring software. 
  \end{minipage}\\
\end{tabular}
\newpage

{\bf Possible error causes and remedy:}

\bigskip

\begin{tabular}{cl}
  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/verify-fail1.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Typical problem: wrong image size.} The verification process may find out 
    that the image is larger than expected. Typically the difference is 150 or 300 sectors 
    for CD media and 1-15 sectors for DVD/BD media. These might simply be zero padding
    sectors appended to the image by the writing software. To find out if this really 
    is the case do the following: 
  \end{minipage}\\[14mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
    &
    \\[4mm]

  \begin{minipage}{50mm}\centerline{\fixicon}\end{minipage}
    &
    \begin{minipage}{104mm}
      {\bf Start a recovery process.}
    \end{minipage}
    \\[5mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
    &
    \\[4mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/compat-dialog-rs01.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Confirm the dialog.} A dialog will appear asking you if it 
    is okay to remove the superflous sectors from the image. Answer ``OK''.
  \end{minipage} \\[8mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
    &
    \\[4mm]

  \begin{minipage}{50mm}\centerline{\stopicon}\end{minipage}
    &
    \begin{minipage}{104mm}
      {\bf Stop the recovery process,} as after truncating the image there is nothing more to do. 
    \end{minipage}
    \\[5mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
    &
    \\[4mm]

  \begin{minipage}{50mm}\centerline{\verifyicon}\end{minipage}
    &
    \begin{minipage}{104mm}
      {\bf Start the verification again} by clicking on the ``Verify'' button.
    \end{minipage}
    \\[5mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
    &
    \\[4mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/info-okay-rs01.png}}
  \end{minipage}
    &
  \begin{minipage}{104mm}
    {\bf Consider the new results.} If you now get the green 
    messages ``Good image.'' and ``Good error correction file.'' your problem 
    is purely cosmetic: The writing software has indeed added zero padding 
    sectors while writing the medium which can always be removed by the process
    described here.
  \end{minipage}
  \\
\end{tabular}

\bigskip

\textcolor{dkred}{If the problem persists after carrying out the above steps do not
 assume that dvdisaster and the writing software are compatible. The created error 
correction files will probably be unusable.}

\bigskip

Use the following method for creating the error correction files instead: 

\newpage

{\bf Alternative method avoiding incompatibilities:}

\begin{enumerate}
\item First write the data to the medium.
\item Use dvdisaster to read an ISO image from the written medium.

Do {\em not use} the original ISO image.
\item Use the  image read by dvdisaster to create the error correction file.
\end{enumerate}

This method takes more time due to the additional reading process, but 
it also has the advantage of testing the newly created medium for readability. 

\newpage
\subsubsection{Testing compatibility with CD/DVD/BD writing software for images augmented with error correction data}
\label{howto-compat-augment}

\paragraph{Motivation:} dvdisaster can put error correction 
data \tlnk{howto-augment}{together with the user data on the medium}. The error 
correction data is appended to the ISO image in a way invisible to most applications 
in order to not interfere with them.

\paragraph{Possible incompatibility:} The optical media writing software 
may also be unable to see the error correction data. While being unlikely 
it is possible that the writing software will truncate or damage the error 
correction data while creating the medium. In this case the error correction will not work.

\paragraph{How to test compatibility:} Please note that some steps are only sketched out here; follow
the links to the respective sections to find detailed instructions and examples.

\bigskip

\begin{tabular}{cl}
  \begin{minipage}{50mm}\centerline{\augmentedcd}\end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf First create a medium which was augmented with error correction data.} Do not
    forget to use the proper \tlnk{howto-augment-basic-settings}{settings} and
    follow the \tlnk{howto-augment-overview}{step by step} instructions.
    Do not use rewriteable DVD or BD media as they may influence the test under
    some circumstances (see \tlnk{qa-rw}{item 3.4} in the questions and answers). 
  \end{minipage} \\[-3mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
  &
  \\

  \begin{minipage}{50mm}\centerline{\goodimagetwo}\end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Create a second image from the written medium.} Use the same
    \tlnk{howto-eccfile-basic-settings}{settings} and steps as in \tlnk{howto-eccfile-create}{reading a medium} for
    creating an error correction file; however you can stop after the reading
    has finished as we do not need the error correction file. 
  \end{minipage}
  \\[3mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
  &
  \\[-5mm]

  \begin{minipage}{50mm}
    \centerline{\selectimage}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Enter the name of the {\em second} ISO image} which you have just read from the
    medium. Please note that the following test is useless when working with
    the image which was initially created using the optical disc authoring software
    and augmented with dvdisaster.
  \end{minipage} \\[-5mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
  &
  \\[5mm]

  \begin{minipage}{50mm}\centerline{\verifyicon}\end{minipage}
    &
  \begin{minipage}{104mm}
    {\bf Start the verification again} by clicking on the ``Verify'' button.
  \end{minipage}
  \\[6mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
  &
  \\[5mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/info-okay-rs02.png}}
  \end{minipage}
    &
  \begin{minipage}{104mm}
    {\bf Look at the verification results.} If you get the green
    messages ``Good image.'' and ``Good error correction data.'' your
    authoring software and dvdisaster are compatible with respect to the augmented images. 
  \end{minipage}
  \\
\end{tabular}

\newpage
\paragraph{Possible error causes and remedy:}\quad

\bigskip

\begin{tabular}{cl}
  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/verify-fail2.png}}
  \end{minipage}
    &
  \begin{minipage}{104mm}
    {\bf Typical problem: wrong image size.} The verification may find out
    that the image is larger as expected. Typically the difference is 150 or 300 sectors
    for CD media and 1-15 sectors for DVD/BD media. These might simply be zero padding
    sectors appended by the writing software. To find out if this really is the case do the following:
  \end{minipage}
  \\[14mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
  &
  \\[4mm]

  \begin{minipage}{50mm}\centerline{\fixicon}\end{minipage}
    &
  \begin{minipage}{104mm}
    {\bf Start a recovery process.}
  \end{minipage}
  \\[5mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
  &
  \\[4mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/compat-dialog-rs01.png}}
  \end{minipage}
  &
  \begin{minipage}{104mm}
    {\bf Confirm the dialog.} A dialog will appear asking you if it 
    is okay to remove the superflous sectors from the image. Answer ``OK''.
  \end{minipage} \\[8mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
    &
    \\[4mm]

  \begin{minipage}{50mm}\centerline{\stopicon}\end{minipage}
    &
    \begin{minipage}{104mm}
      {\bf Stop the recovery process,} as after truncating the image there is nothing more to do. 
    \end{minipage}
    \\[5mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
    &
    \\[4mm]

  \begin{minipage}{50mm}\centerline{\verifyicon}\end{minipage}
    &
    \begin{minipage}{104mm}
      {\bf Start the verification again} by clicking on the ``Verify'' button.
    \end{minipage}
    \\[5mm]

  \begin{minipage}{50mm}\centerline{\downarr}\end{minipage}
    &
    \\[4mm]

  \begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/info-okay-rs02.png}}
  \end{minipage}
    &
  \begin{minipage}{104mm}
    {\bf Consider the new results.} If you now get the green 
    messages ``Good image.'' and ``Good error correction file.'' your problem 
    is purely cosmetic: The writing software has indeed added zero padding 
    sectors while writing the medium which can always be removed by the process
    described here.
  \end{minipage}
  \\
\end{tabular}

\bigskip

\textcolor{dkred}{If the problem persists after carrying out the above steps
  you can not use the optical disc writing software for creating media from augmented images.
  Perform the test again using a software from a different vendor.}

\newpage
\subsection{Dialogs and buttons}

This section explains commonly used dialogs and buttons
in the dvdisaster user interface:

\bigskip

\begin{tabular}{cp{10cm}}
  \begin{minipage}{20mm}\goodcd\end{minipage} & The \tlnk{howto-dialogs-drive}{drive selection menu.} \\[10mm]
  \begin{minipage}{20mm}\ \goodimage\end{minipage} & The \tlnk{howto-dialogs-image}{image file chooser window}. \\[8mm]
  \begin{minipage}{20mm}\ \eccfile\end{minipage} & The \tlnk{howto-dialogs-eccfile}{error correction file chooser window}. \\[10mm]

  \begin{minipage}{30mm}\readicon\ \createicon\end{minipage} & \\[5mm]
    \begin{minipage}{30mm}\scanicon\ \fixicon\end{minipage} & The \tlnk{howto-dialogs-buttons}{buttons for starting actions}. \\[5mm]
   \begin{minipage}{30mm}\verifyicon\ \stopicon\end{minipage} & \\
\end{tabular}

\subsubsection{Drive selection}
\label{howto-dialogs-drive}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/dialog-drive-full.png}}
\caption{Location of the drive selection in the main window.}
\label{howto-dialog-drive-full}
\end{figure}

The drive selection menu is located in the upper left corner of
the tool bar (see green marking). Click into the field to the right
of the CD symbol to drop down the drive selection. Then select the
drive which contains the medium you want to process with dvdisaster.

\medskip

To simplify identification of the drives the following information
is given in the menu entries:

\begin{itemize}
\item The device identification which is typically comprised
  of the vendor name and the drive model number. These values
  have been programmed into the drive by the vendor. Since dvdisaster
  is displaying them without further processing you will see here whatever
  the drive vendor deemed appropriate. Sometimes this identification
  is not very meaningful.
\item The handle under which the drive is managed by the operating
  system (e.g. /dev/sr0 using GNU/Linux)
\end{itemize}

\bigskip

{\bf Example} (for GNU/Linux):

\bigskip

\begin{figure}[h]
\centerline{\includegraphics[width=0.5\textwidth]{screenshots/dialog-drive-linux.png}}
\caption{Unfolded drive selection.}
\label{howto-dialog-drive-linux}
\end{figure}

\subsubsection{Image file selection}
\label{howto-dialogs-image}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/dialog-image-full.png}}
\caption{Location of the image file selection in the main window.}
\label{howto-dialog-image-full}
\end{figure}

The image file contains the data from all medium sectors,
including the information whether a sector was readable.
dvdisaster works on image files because they are stored on
hard disk which makes certain random access patterns much faster.
Applying this kind of random access to CD/DVD/BD drives would slow
them down significantly and eventually wear them out (the image
files are read/created using sequential access which unlike random
access is handled efficiently by the drives). The default file
suffix for images is ".iso".

\bigskip

There are two ways of choosing the image file:

\begin{itemize}
\item using a file chooser dialog (button marked green), or
\item by directly entering the file location (text entry field marked blue).
\end{itemize}

The direct entry is helpful when you are processing
several files in the same directory. In that case simply
change the file name in the text field. 

\newpage

\subsubsection{Error correction file selection}
\label{howto-dialogs-eccfile}

\begin{figure}[h]
\centerline{\includegraphics[width=\textwidth]{screenshots/dialog-eccfile-full.png}}
\caption{Location of the error correction file selection in the main window.}
\label{howto-dialog-eccfile-full}
\end{figure}


The error correction file contains information for reconstructing unreadable 
sectors from a defective medium. It can also be used to check a medium for 
damaged or altered sectors. The default file extension is ``.ecc''.

\bigskip

There are two ways of choosing the error correction file:

\begin{itemize}
\item using a file chooser dialog (button marked green), or
\item by directly entering the error correction file location (text entry field marked blue).
\end{itemize}

The direct entry is helpful when you are going to create several 
error correction files in the same directory. In that case simply change the 
file name in the text field. 

\medskip

If you are processing images which are augmented with error correction data
it is recommended to leave this field blank; e.g. to delete any text within it.

\newpage

\subsubsection{Starting actions}
\label{howto-dialogs-buttons}

\begin{tabular}{ll}
\begin{minipage}{108mm}
To start an action in dvdisaster, click on one of the buttons marked green in the thumbnail
image to the right.
\end{minipage}
&
\begin{minipage}{50mm}
    \centerline{\includegraphics[width=40mm]{screenshots/action-buttons.png}}
\end{minipage}
\end{tabular}

\bigskip

\begin{tabular}{ll}
\begin{minipage}{20mm}
\centerline{\readicon}
\end{minipage} 
&
\begin{minipage}{138mm}
Reading medium contents into an image file to:
\begin{itemize}
\item read in a \tlnk{howto-recover-read}{defective medium} for a subsequent recovery.
\item read in an \tlnk{howto-eccfile-create}{error-free medium} for creating an error correction file.
\end{itemize}
\end{minipage} \\[10mm]

\begin{minipage}{20mm}
\centerline{\createicon}
\end{minipage} 
&
\begin{minipage}{138mm}
\tlnk{howto-ecc}{Creating error correction data} \par
(only possible from defect-free media!)
\end{minipage} \\[6mm]

\begin{minipage}{20mm}
\centerline{\scanicon}
\end{minipage} 
&
\begin{minipage}{138mm}
\tlnk{howto-scan}{Scanning a medium for read errors}
\end{minipage} \\[6mm]

\begin{minipage}{20mm}
\centerline{\fixicon}
\end{minipage} 
&
\begin{minipage}{138mm}
\tlnk{howto-recover-fix}{Recover the image of a defective medium}\par
provided that \tlnk{howto-ecc}{error correction data} is available.
\end{minipage} \\[6mm]

\begin{minipage}{20mm}
\centerline{\verifyicon}
\end{minipage} 
&
\begin{minipage}{138mm}
Display  \tlnk{howto-info}{information on images and error correction data.}
\end{minipage} \\
\end{tabular}

\vspace*{10mm}

{\bf Other buttons related to the above actions:}

\bigskip

\begin{tabular}{ll}
\begin{minipage}{30mm}
\centerline{\logicon}
\end{minipage} 
&
\begin{minipage}{138mm}
{\bf View log file of running action} (marked yellow). \par
See also: \tlnk{reporting-defects-log}{Log file creation}. 
\end{minipage}\\[10mm]

\begin{minipage}{30mm}
\centerline{\stopicon}
\end{minipage} 
&
\begin{minipage}{118mm}
{\bf Aborting the running action} (marked red). \par
Some actions may take some time to abort; especially when this button is hit while 
reading a defective sector. 
\end{minipage}\\
\end{tabular}
