B.J.-
Does TSReader give you the EPG PID?
Yes, but it seems to be in a different format, a bit more confusing. Ie my local NBC station has 2 channels, a HD channel and a SD weather channel. There are 4 PIDs devoted to listing the programs on these 2 channels, and 4 PIDs devoted to the program descriptions. Ie 7424,5,6,7 have the program names in the EITs (event information tables, which are normally associated with the EPG info), and 7680,1,2,3 have the program descriptions in ETTs (not sure what this stands for).
I'm not sure why, but there seems to be duplication of info in these PIDs, seems like they could have been able to use half as many PIDs as they did.
Compare the above to a DN EIT, which has the EIT on PID# 18, and ALL of the data for ALL of the channels is on this one EIT PID.
So it seems like the ATSC EPG data is a bit more complicated than that for the DVB style sat channels, so I'm guessing that the programmers just didn't want to try to figure it out. Can't be TOO hard though, since TSREADER does it for both FTA and OTA.
EDIT: On looking closer at the EIT/ETT data, I THINK I understand why they use 4 different PIDs. It looks to me like it must be that the more current info, ie for what is currently showing, seems to be on EIT-0 (ie 7424), while info that is more into the future is on the other 3. I assume that this must allow them to first grab the current and maybe an hour or two into the future off just 2 EITs, then once that has been parsed, the receivers can go on to collect a full EPG further into the future. Basically, TSREADER parses this info and puts it in chronological order, but also lists which EIT PID the data for each program comes from, and I noticed that the further I got into the future, the EIT number, ie 0,1,2,3 got bigger.