I just did a quick search, I am obviously no the only one to have run into this.
I did see someone mentioed a log book fixer. Does anyone have any experience using it?
Need to know details, like.... does it work?
Yes, I've had to repair my corrupted logbook.bin a number of times. Last night,
as a matter of fact.
What usually happens is that an entry gets made with an incorrect "length" byte for
that record. This byte tells FSX where to look for the beginning of the next record, or
in the case of the last record, the end of file.
To repair the logbook.bin you will need a HEX editor and having a HEX calculator would also
be helpfull.
Make a back-up copy of the corrupted logbook, just in case you need to start over gain,
then open the logbook.bin with the HEX editor. Also, rename the new logbook.bin
so you can use it to add any entries you've made since the corruption back to the
( hopefully ) restored logbook.bin.
Most often, the problem is with the last, or next to last record. I once found the error
in the 2nd from last, but in any case start at the end of the file.
Many records that have no comments attached will have a length of 63 bytes ( 3f hex ).
Look back from the end of file a until you find a "beginning of record" byte..."05" hex.
The next byte is the length byte and it is usually followed by two "00" bytes.
Note the hex address of the "05" byte. Add the value of the length byte to this.
The result should be the address of the end of file. In my hex editor it displays a "__".
If it points to a location within the record, or an address beyound the end of file,
you have found the problem. If it's OK, then search back from the "05" byte until
you find the next "05" byte. Again, note the address, add the length and it should
point to the "05" byte you just "left".
If you find and error, note the address of the next "05" byte or end of file in the
case an error in the last record, then note the address of the "05" byte for the
corrupted record. Subtract that address from the address of the next "05" byte
and the result is the correct value for the length byte.
Edit the record to insert the correct length.
Close the file and restart FSX. It should start up OK.
There is a logbook editor utility ( try searching over at Avsim ) that will allow you to
eidt times, dates, airport codes, etc. But it won't fix logbooks with corrupted length
bytes. At least it wouldn't last night for my latest "corruption".
It's usefull for editing flight info that has been "addes: to the logbook.bin file,
whicj I do when I've flown for an hour or more and FSX suddenly ends with
a CTD or BSOD. I then find a record in the logbook that is similar to the flight
I just made as far as aircraft type and time, then I use the hex editor to copy
it and paste it onto the end of the logbook.bin. I then use the logbook editor
to edit that entry for the correct departue/arrival airports, times, etc.
After my first corrupted logbook problem I went in and examined the structure of
the entries. Here is the format for the first 24 bytes of a record. I added the "|"
character to seperate fields.
05|47|00 00 3a f5 6e 74|d6 07|00|0a|19|0b 2e 27|45 45 54 4e|45 56 52 41|
--|71|---------------------|2006|---|10|25|11 46 39|-E--T--T--N-|E--V--R--A-|
05 = start of record, 47 = length of 71 decomal, d6 07 = year 2006
oa = 10, month of October, 19 = 25, day of the month, 0b 2e 27 = 11:46:39 time of day
then comes the depature and the destination airport codes. ETTN and EVRA here. This
particular record had a comment, thus the length of 71 bytes.
The most common record length is 63 so the beginning of most records will look like this:
"05 3f 00 00"
Hope this helps you fix your problem. If it does, and you have some flights in the logbook.bin
that was created after the corruption, simply add that entire logbook.bin data to the end
of your restored logbook.bin. just besure to make backups periodically!
Paul