DTH7000 unit

Date bug !!!


The goal here is to find a solution to convert the number stored on 4 bytes on the DTH7000's disk for every video to a correct date information which could be display in the DTHexplorer listview.
Before starting, let's keep in mind that the DTH7000 software contains bug on that item, especially for every date in december
(visit this forum before if you still have any doubts about this).

First DTHexplorer versions were displaying approximative date informations, because it's not easy to immediately understand that the Thomson date coding is buggy.

I made some trials, modifying the unit date and performing various record afterwards.
Here are the results :

on the
DTH disk
(4 bytes)
expected date
63FF6F39 15/06/2000 06:06
D9FF6F39 15/06/2000 06:08
8D66323D 15/06/2002 06:07
FC83123E 01/12/2003 06:00 bug !!!
EAF8243E 15/12/2003 06:00 bug !!!
8a411c40 01/01/2004 00:00
6F465540 15/02/2004 06:00
E8247E40 15/03/2004 06:00
E9B1A540 15/04/2004 06:00
6990CE40 15/05/2004 06:00
671DF640 15/06/2004 06:00
E7FB1E41 15/07/2004 06:00
67DA4741 15/08/2004 06:00
6A676F41 15/09/2004 06:00
8A7C8541 01/10/2004 00:00
8809ad41 01/11/2004 00:00
0963F33F 01/12/2004 00:00 bug !!!
D112F43F 01/12/2004 12:30 bug !!!
E3441B40 31/12/2004 06:02 bug !!!
8EC6FE41 01/01/2005 00:00
A0E5D641 01/12/2005 18:02 bug !!!
415AE941 15/12/2005 18:00 bug !!!
68C9FD41 31/12/2005 06:00 bug !!!
2670B743 01/12/2006 06:01 bug !!!
63B89946 15/06/2007 06:02

Solution :

It's possible to calculate the correct date from a binary word written on DTH7000 hard drive as follow :
The date is written in 4 octets (lsb on the left) which is the number of seconds since 1/1/1970.
However, one bug exits, the previous calculation is not sufficient : There a shift of -1 on the month, with a specific case for december which is written as january (the shift loop on 12 basis) !
For example, if we first calculate from the hard drive the following date : 25/6/2004 13:30, a correction should be add because the expected date is in fact : 25/5/2004 13:30 !
A second specific example (december bug) : We can first calculate : 25/1/2004 12:00, but the expected date is : 25/12/2004 12:00 !!!

To summarize, the correct calculation steps are :
  1. invert byte order (weight) of the 4 bytes word
  2. convert it to decimal number. This number is the number of seconds since 1 january 1970.
  3. convert this number of seconds to a date format
  4. extract the month number and substract 1 to it, except for month 1 which become month 12.
    Caution : The goal is not to shift the date 1 month in the past , but only to substract 1 to the month number. 1 jan 2004 wont become 1 dec 2003, but 1 dec 2004 !
  5. reformat the new date with the new month number (again, year, day, and time shouldn't change)
The following table detail the correct calculation from trials results in the previous table.
It reveals the DTH7000 software bug effect and demonstrate that a valid calculation solution exists and is valid for all these trials :


date bug solution illustration


DTHexplorer has been modified since version 1.3.0 to integrate this corrected date calculation.


return to DTH Explorer page