Difference between revisions of "Prevue Emulation:Curday.dat and Nxtday.dat"

From Prevue Guide Wiki
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 325: Line 325:
 
IMPORTANT when viewing in a text editor: For channels showing None and Stereo, there is a hidden HEX Code 81 that represents flag 1) - The HEX 81 does not print on-screen and is only visible in a HEX editor.
 
IMPORTANT when viewing in a text editor: For channels showing None and Stereo, there is a hidden HEX Code 81 that represents flag 1) - The HEX 81 does not print on-screen and is only visible in a HEX editor.
  
==Timeslot Mask - Each character in this block turns the listings on or off for channels that go off-air. ==
+
==Timeslot & Blackout Masks==
 +
 
 +
ÿÿÿÿÿÿ<NUL><NUL><NUL><NUL><NUL><NUL>
 +
 
 +
The first 6 characters are called the Timeslot Mask
 +
The last 6 characters are called the Blackout Mask
 +
 
 +
The Timeslot Mask controls the times that a specific channel is displayed within the grid. In our example listings, you will notice that on channel 95, the listings have both TWC and GOLF listed. You will also notice, that this block is different than all other 24hr/day channels.
 +
 
 +
The Blackout Mask controls the times that a channel is removed from the listings or displays a message that a particular program is blacked out (usually due to SyndEx Rules or Sports Blackout rules.)
 +
 
 +
How this works is that each char in the block controls a certain daypart, which is a block of 4 hours. The table below shows which character in the block controls each daypart.
  
ÿÿÿÿÿÿ block is for times the grid will show specific channel / message
 
 
{| class="wikitable" style="text-align:center" border="1";
 
{| class="wikitable" style="text-align:center" border="1";
 
|-
 
|-
Line 350: Line 360:
 
|}
 
|}
  
NUL Char will drop the listing from the list
+
For each daypart, there is a char that represents the timing as to when the channel will go into Off Air.
ü char will show the listing for the times that have ÿ
+
 
ETX will show the off-air message.
+
As a recurring theme, you guessed it... It is a HEX code. Here is how it is broken down:
À will hide the listing
+
 
 +
The first HEX position controls the first two hours of the daypart and the second HEX position controls the last two hours of the daypart.
 +
 
 +
{| class="wikitable" style="text-align:center" border="1";
 +
!HEX1
 +
! begin - 30 min
 +
! 30 min - 1 hr
 +
! 1 hr - 1 hr 30 min
 +
! 1 hr 30 - 2 hrs
 +
!
 +
!HEX2
 +
! 2 hrs - 2 hrs 30 min
 +
! 2 hrs 30 min - 3 hrs
 +
! 3 hrs - 3 hrs 30 min
 +
! 3 hrs 30 mins - end
 +
 
 +
|-
 +
| 0
 +
| Off-Air
 +
| Off-Air
 +
| Off-Air
 +
| Off-Air
 +
|
 +
| 0
 +
| Off-Air
 +
| Off-Air
 +
| Off-Air
 +
| Off-Air
 +
|-
 +
| 1
 +
| Off-Air
 +
| Off-Air
 +
| Off-Air
 +
| Listing
 +
|
 +
| 1
 +
| Off-Air
 +
| Off-Air
 +
| Off-Air
 +
| Listing
 +
|-
 +
| 2
 +
| Off-Air
 +
| Off-Air
 +
| Listing
 +
| Off-Air
 +
|
 +
| 2
 +
| Off-Air
 +
| Off-Air
 +
| Listing
 +
| Off-Air
 +
|-
 +
| 3
 +
| Off-Air
 +
| Off-Air
 +
| Listing
 +
| Listing
 +
|
 +
| 3
 +
| Off-Air
 +
| Off-Air
 +
| Listing
 +
| Listing
 +
|-
 +
| 4
 +
| Off-Air
 +
| Listing
 +
| Off-Air
 +
| Off-Air
 +
|
 +
| 4
 +
| Off-Air
 +
| Listing
 +
| Off-Air
 +
| Off-Air
 +
|-
 +
| 5
 +
| Off-Air
 +
| Listing
 +
| Off-air
 +
| Listing
 +
|
 +
| 5
 +
| Off-Air
 +
| Listing
 +
| Off-air
 +
| Listing
 +
|-
 +
| 6
 +
| Off-Air
 +
| Listing
 +
| Listing
 +
| Off-Air
 +
|
 +
| 6
 +
| Off-Air
 +
| Listing
 +
| Listing
 +
| Off-Air
 +
|-
 +
| 7
 +
| Off-Air
 +
| Listing
 +
| Listing
 +
| Listing
 +
|
 +
| 7
 +
| Off-Air
 +
| Listing
 +
| Listing
 +
| Listing
 +
|-
 +
| 8
 +
| Listing
 +
| Off-Air
 +
| Off-Air
 +
| Off-Air
 +
|
 +
| 8
 +
| Listing
 +
| Off-Air
 +
| Off-Air
 +
| Off-Air
 +
|-
 +
| 9
 +
| Listing
 +
| Off-Air
 +
| Off-Air
 +
| Listing
 +
|
 +
| 9
 +
| Listing
 +
| Off-Air
 +
| Off-Air
 +
| Listing
 +
|-
 +
| A
 +
| Listing
 +
| Off-Air
 +
| Listing
 +
| Off-Air
 +
|
 +
| A
 +
| Listing
 +
| Off-Air
 +
| Listing
 +
| Off-Air
 +
|-
 +
| B
 +
| Listing
 +
| Off-Air
 +
| Listing
 +
| Listing
 +
|
 +
| B
 +
| Listing
 +
| Off-Air
 +
| Listing
 +
| Listing
 +
|-
 +
| C
 +
| Listing
 +
| Listing
 +
| Off-Air
 +
| Off-Air
 +
|
 +
| C
 +
| Listing
 +
| Listing
 +
| Off-Air
 +
| Off-Air
 +
|-
 +
| D
 +
| Listing
 +
| Listing
 +
| Off-Air
 +
| Listing
 +
|
 +
| D
 +
| Listing
 +
| Listing
 +
| Off-Air
 +
| Listing
 +
|-
 +
| E
 +
| Listing
 +
| Listing
 +
| Listing
 +
| Off-Air
 +
|
 +
| E
 +
| Listing
 +
| Listing
 +
| Listing
 +
| Off-Air
 +
|-
 +
| F
 +
| Listing
 +
| Listing
 +
| Listing
 +
| Listing
 +
|
 +
| F
 +
| Listing
 +
| Listing
 +
| Listing
 +
| Listing
 +
|}
 +
 
 +
The Blackout Mask works the same way using the same dayparts. Instead of an off-air message, this block will remove the listing or list Blacked-Out.  
 +
 
 +
Note: Every entry has both a Timeslot Mask and a Blackout Mask. Most 24 hour channels will have all 0xFF for the timeslot mask and all <NUL> for the Blackout Mask.
  
 
==Flag #2==
 
==Flag #2==
Line 373: Line 595:
 
==Flag #3==
 
==Flag #3==
  
This flag controls the MR , Grid, and DMPLEX, DNICHE, CF2_DPPV.
+
This flag controls the MR, Grid, and DMPLEX, DNICHE, CF2_DPPV. When a listing is built by default, it will build with a HEX 03, which would turn on MR and Grid. It is still being determined how this information is transmitted, as it is not part of the original C channel lineup serial data.
 +
 
 +
{| class="wikitable" style="text-align:center" border="1";
 +
!HEX1
 +
!(reserved)
 +
!(reserved)
 +
!(reserved)
 +
!CF2_DPPV
 +
!
 +
!HEX2
 +
!DMPLEX
 +
!DNICHE
 +
!MR
 +
!Grid
 +
 
 +
|-
 +
| 0
 +
|
 +
|
 +
|
 +
|
 +
|
 +
| 0
 +
|
 +
|
 +
|
 +
|
 +
|-
 +
| 1
 +
|
 +
|
 +
|
 +
| x
 +
|
 +
| 1
 +
|
 +
|
 +
|
 +
| x
 +
|-
 +
| 2
 +
|
 +
|
 +
| x
 +
|
 +
|
 +
| 2
 +
|
 +
|
 +
| x
 +
|
 +
|-
 +
| 3
 +
|
 +
|
 +
| x
 +
| x
 +
|
 +
| 3
 +
|
 +
|
 +
| x
 +
| x
 +
|-
 +
| 4
 +
|
 +
| x
 +
|
 +
|
 +
|
 +
| 4
 +
|
 +
| x
 +
|
 +
|
 +
|-
 +
| 5
 +
|
 +
| x
 +
|
 +
| x
 +
|
 +
| 5
 +
|
 +
| x
 +
|
 +
| x
 +
|-
 +
| 6
 +
|
 +
| x
 +
| x
 +
|
 +
|
 +
| 6
 +
|
 +
| x
 +
| x
 +
|
 +
|-
 +
| 7
 +
|
 +
| x
 +
| x
 +
| x
 +
|
 +
| 7
 +
|
 +
| x
 +
| x
 +
| x
 +
|-
 +
| 8
 +
| x
 +
|
 +
|
 +
|
 +
|
 +
| 8
 +
| x
 +
|
 +
|
 +
|
 +
|-
 +
| 9
 +
| x
 +
|
 +
|
 +
| x
 +
|
 +
| 9
 +
| x
 +
|
 +
|
 +
| x
 +
|-
 +
| A
 +
| x
 +
|
 +
| x
 +
|
 +
|
 +
| A
 +
| x
 +
|
 +
| x
 +
|
 +
|-
 +
| B
 +
| x
 +
|
 +
| x
 +
| x
 +
|
 +
| B
 +
| x
 +
|
 +
| x
 +
| x
 +
|-
 +
| C
 +
| x
 +
| x
 +
|
 +
|
 +
|
 +
| C
 +
| x
 +
| x
 +
|
 +
|
 +
|-
 +
| D
 +
| x
 +
| x
 +
|
 +
| x
 +
|
 +
| D
 +
| x
 +
| x
 +
|
 +
| x
 +
|-
 +
| E
 +
| x
 +
| x
 +
| x
 +
|
 +
|
 +
| E
 +
| x
 +
| x
 +
| x
 +
|
 +
|-
 +
| F
 +
| x
 +
| x
 +
| x
 +
| x
 +
|
 +
| F
 +
| x
 +
| x
 +
| x
 +
| x
 +
|}
  
 
1st HEX Char = CF2_DPPV
 
1st HEX Char = CF2_DPPV

Latest revision as of 19:05, 22 December 2013

Curday.dat and Nxtday.dat Breakdowns...This is a Work in Progress and will be cleaned up soon...

The header information

AE3365N<ETX><SOH>6NYNNYYNYl<NUL><NUL>0<NUL>DREV 5<NUL>KHHR<NUL>Hawthorne<NUL>250<NUL>91<NUL>130<NUL>1300<NUL>

Settings block:

41 A (BCK in Diagnostics)

45 E (FWD in Diagnostics)

33 3 (Scroll Speed)

33 3 (Number of Text Ads allowed in Diagnostics)

36 6 (Number of Text Ads allowed in Diagnostics)

35 5 (LINE in Diagnostics - # of Lines allowed in Text Ads)

4E N ???(Or GRPH DST Y OR N in Diagnostics)

03 (ETX)

01 (SOH)

36 6 (TZ - TimeZone in Diagnostics)

4E N

59 Y (CONT?)

4E N

4E N

59 Y (CONT?)

59 Y (CONT?)

4E N

59 Y (CONT?)

6C l (VIN in Diagnostics)

00 (NUL)

00 (NUL)


0 <NUL> This is still being checked

DREV 5 <NUL> Hypothesis: This is a Data Revision # - If this is changed the grid is horribly messed up. This probably matches the various versions of Prevue software.

KHHR <NUL> 4 Letter Code for the Airport that Weather Conditions are downloaded for. - Set with I select code

Hawthorne <NUL> Displayed city name for Weather Conditions - Set with I select code

250 <NUL> Julian date from 0 to 255 - resets to 0 on day 256.

91 <NUL> Number of channel listings. Decreasing this in Curday.dat will remove channels from bottom of list. This is automatically built when the channel lineup is sent and data is saved to disk.

130 <NUL> This is still being checked

1300 <NUL> This is still being checked

The general pattern of Channel information for DREV 5:

1 Hex Character - Value is the Julian Day - in our example '['

5 digits for Channel number (string of data - no more than 5 characters)

6 null characters

6 character Source ID (if the Source ID is less than 6 characters, null characters will fill the rest of the space)

1 null character

6 character Call Letters (if the Call Letters are less than 6 characters, null characters will fill the rest of the space)

2 null characters

1 Hex Character 1st Flag of information (None, HiliteSrc, SumbySrc, VideoTagDisable, CAF_PPVSRC, Ditto, AltHiliteSrc, Stereo)

6 Hex character Timeslot Mask (in our example showing 6 ""ÿ"" characters)

6 Hex character Blackout Mask (in our example showing 6 null characters)

1 Hex Character for Flag #2 (still working on what thie one does, possibly flags the channel for Sports and Movie Summaries)

2 Hex Characters for Background Color (colors available are determined by Gradient.ini - in our example ÿÿ)

2 Characters for Brush ID (unknown format yet - possibly string - in our example 00)

2 Null Characters

1 Hex Character for 3rd Flag of information (Grid, MR, DNICHE, DMPLEX, and CF2_DPPV - possibly 3 additional flags as well)

6 Character Source ID again

Then the listings follows after this...

Notes:

The first character (in this case of the untouched listings - '[') is the character that corresponds to the HEX code for the Julian Date. All characters are good and will reset after FF to 00. This character changes daily.


Flag #1

This flag controls the following:

HEX1 STEREO ALTHILITESRC DITTO CAF_PPVSRC HEX2 VIDEO_TAG_DISABLE SumbySrc HiliteSrc None
0 0
1 x 1 x
2 x 2 x
3 x x 3 x x
4 x 4 x
5 x x 5 x x
6 x x 6 x x
7 x x x 7 x x x
8 x 8 x
9 x x 9 x x
A x x A x x
B x x x B x x x
C x x C x x
D x x x D x x x
E x x x E x x x
F x x x x F x x x x

Flag 1 is created by using 2 HEX positions and the combination is converted into a single char.

The 1st HEX position controls STEREO/ALTHILITESRC/DITTO/CAF_PPVSRC The 2nd HEX position controls VIDEO_TAG_DISABLE/SumbySrc/HiliteSrc/None

The table above breaks down what each HEX position represents.

IMPORTANT when viewing in a text editor: For channels showing None and Stereo, there is a hidden HEX Code 81 that represents flag 1) - The HEX 81 does not print on-screen and is only visible in a HEX editor.

Timeslot & Blackout Masks

ÿÿÿÿÿÿ<NUL><NUL><NUL><NUL><NUL><NUL> 

The first 6 characters are called the Timeslot Mask The last 6 characters are called the Blackout Mask

The Timeslot Mask controls the times that a specific channel is displayed within the grid. In our example listings, you will notice that on channel 95, the listings have both TWC and GOLF listed. You will also notice, that this block is different than all other 24hr/day channels.

The Blackout Mask controls the times that a channel is removed from the listings or displays a message that a particular program is blacked out (usually due to SyndEx Rules or Sports Blackout rules.)

How this works is that each char in the block controls a certain daypart, which is a block of 4 hours. The table below shows which character in the block controls each daypart.

Position 1 5:00am to 8:59am
Position 2 9:00am to 12:59pm
Position 3 1:00pm to 4:59pm
Position 4 5:00pm to 8:59pm
Position 5 9:00pm to 12:59am
Position 6 1:00am to 4:59am

For each daypart, there is a char that represents the timing as to when the channel will go into Off Air.

As a recurring theme, you guessed it... It is a HEX code. Here is how it is broken down:

The first HEX position controls the first two hours of the daypart and the second HEX position controls the last two hours of the daypart.

HEX1 begin - 30 min 30 min - 1 hr 1 hr - 1 hr 30 min 1 hr 30 - 2 hrs HEX2 2 hrs - 2 hrs 30 min 2 hrs 30 min - 3 hrs 3 hrs - 3 hrs 30 min 3 hrs 30 mins - end
0 Off-Air Off-Air Off-Air Off-Air 0 Off-Air Off-Air Off-Air Off-Air
1 Off-Air Off-Air Off-Air Listing 1 Off-Air Off-Air Off-Air Listing
2 Off-Air Off-Air Listing Off-Air 2 Off-Air Off-Air Listing Off-Air
3 Off-Air Off-Air Listing Listing 3 Off-Air Off-Air Listing Listing
4 Off-Air Listing Off-Air Off-Air 4 Off-Air Listing Off-Air Off-Air
5 Off-Air Listing Off-air Listing 5 Off-Air Listing Off-air Listing
6 Off-Air Listing Listing Off-Air 6 Off-Air Listing Listing Off-Air
7 Off-Air Listing Listing Listing 7 Off-Air Listing Listing Listing
8 Listing Off-Air Off-Air Off-Air 8 Listing Off-Air Off-Air Off-Air
9 Listing Off-Air Off-Air Listing 9 Listing Off-Air Off-Air Listing
A Listing Off-Air Listing Off-Air A Listing Off-Air Listing Off-Air
B Listing Off-Air Listing Listing B Listing Off-Air Listing Listing
C Listing Listing Off-Air Off-Air C Listing Listing Off-Air Off-Air
D Listing Listing Off-Air Listing D Listing Listing Off-Air Listing
E Listing Listing Listing Off-Air E Listing Listing Listing Off-Air
F Listing Listing Listing Listing F Listing Listing Listing Listing

The Blackout Mask works the same way using the same dayparts. Instead of an off-air message, this block will remove the listing or list Blacked-Out.

Note: Every entry has both a Timeslot Mask and a Blackout Mask. Most 24 hour channels will have all 0xFF for the timeslot mask and all <NUL> for the Blackout Mask.

Flag #2

(Hex character 09 must be changed in a Hex editor only) 0-10, 11-20, 21-30, 31-40, 41-50, 51-60,61-70, 71-80, 81-90, 91-100, 101-110

Color Flags:

flag1 = 0x%02X, flag2 = 0x%04X, BgColor = 0x%02X, FgColor = 0x%02X, BrushId = %s
         ‚                                 ÿ             ÿ              00<nul><nul> 
                                   HEX 03 Yellow    HEX03 Yellow 

HEX 06 Gray HEX anything else is white

Colors are determined in Gradient.ini file - any color listed can be used for background...

Foreground Text is either Yellow (HEX03) or White (any other HEX value)

Flag #3

This flag controls the MR, Grid, and DMPLEX, DNICHE, CF2_DPPV. When a listing is built by default, it will build with a HEX 03, which would turn on MR and Grid. It is still being determined how this information is transmitted, as it is not part of the original C channel lineup serial data.

HEX1 (reserved) (reserved) (reserved) CF2_DPPV HEX2 DMPLEX DNICHE MR Grid
0 0
1 x 1 x
2 x 2 x
3 x x 3 x x
4 x 4 x
5 x x 5 x x
6 x x 6 x x
7 x x x 7 x x x
8 x 8 x
9 x x 9 x x
A x x A x x
B x x x B x x x
C x x C x x
D x x x D x x x
E x x x E x x x
F x x x x F x x x x

1st HEX Char = CF2_DPPV

2nd HEX Char = DMPLEX / DNICHE / MR / Grid

Last Character before the last Source ID- Flag #3

For the Listings Themselves

<NUL> TimeSlot <NUL> Program Flags <NUL> Program Type <NUL> Movie Category <NUL> unknown type <NUL>

TimeSlot - between 0 and 49

Program Flags - in decimal form 0 to 255

Program Type - 1 for Movie, 5 for Sports, 19 for Children, 22 for News, 34 for General, etc. This is in decimal form

Movie Category (1 for Adult, 4-Comedy, 5, 7, 10-Musical 18(SciFi?), etc) This is in decimal form

unknown type: Last number appears to be 0 only, still trying to determine - could be carry over to Win NT Guide