This
program checks the Hamming
code and page parities of the raw Flight Data Recorder (FDR
commonly called "black box")
file for American Airlines Flight 77 (AAL77) included by the US
National
Transport Safety Board (NTSB) on CDROMs provided in response to FOIA
(Freedom of Information Act) requests for information regarding the
events of September 11th 2001.
Incorrect Hamming codes and page parities indicate data that has either
not been recorded correctly or not recorded completely or has been
corrupted after it has been recorded.

There are only two pages where the Hamming code and page parity shows
as being incorrect. It appears to me that this is because these pages
were not
completely recorded.

The program generates
a Comma Separated Value (CSV) file containing one row of information
for each 128
byte page of the file. The first line of the CSV file contains the
parameter
names
and it can be opened by various programs including
Microsoft Access or text editors.You
can download the output file generated by the program from here.

Information about the format in which the FDR records the data can be
found in this
post and in
figure 4.2-2 of this
document.

The parameters in the output file are as follows:

File
OffsetThis hex value is the offset in bytes of the beginning of
the page from the beginning of the file.

Page TypeThis value is "Header" for the first two pages in each 64
kilobyte block where headers are stored and "Flight Data" for all other
pages. Only flight data pages have Hamming codes and page parities.

Erased PageThis value is "Erased" for pages where every bit is 1 and
"Filled" otherwise.

Hamming Code and Page Parity
CorrectThis value is "Correct" for pages where the calculated
Hamming code and page parity match what is recorded in the file and
"Incorrect" otherwise. Pages marked "Incorrect" have either not been
recorded correctly or not recorded completely or have been corrupted
after they have been recorded.

Calculated Hamming Code and Page
ParityThis hex value is the Hamming code calculated from the
first 1013 bits in the page combined with the page parity calculated
from the first 1023 bits in the page.

File Hamming Code and Page ParityThis hex value is the Hamming code and page parity
recorded in the page. The Hamming Code and Page Parity Correct value is
determined by whether this value matches the Calculated Hamming Code
and Page Parity value.

You
will need to download a copy of the FDR file American
77.fdr.
You
can download a copy from here.
You can also
get an ISO image of the entire CDROM that
I received in response to my FOIA request which
includes the FDR file from here.

A
Change Log detailing the
changes in different versions is available here.