]> www.vanbest.org Git - sasc-ng.git/commitdiff
update for Nagra3 EMM table 0x84
authorleslie <unknown>
Tue, 2 Jun 2009 08:07:23 +0000 (16:07 +0800)
committerleslie <unknown>
Tue, 2 Jun 2009 08:07:23 +0000 (16:07 +0800)
parse.c
system.c

diff --git a/parse.c b/parse.c
index 429f1442e4c579b531e3edbe51ae14d02ae68616..e4f3e152eee501d19f62d614cf8535604f7d8223 100644 (file)
--- a/parse.c
+++ b/parse.c
@@ -512,7 +512,7 @@ cCardNagra2::cCardNagra2(const unsigned char *a)
 
 bool cCardNagra2::MatchEMM(const unsigned char *data)
 {
-  return data[0]==0x82 ||
+  return data[0]==0x82 || data[0]==0x84 ||
         (data[0]==0x83 && !memcmp(&data[3],addr,(data[7]==0x10)?3:4));
 }
 
index 29ae0acaf240d28fc49b81adbf3ecffc8d08c2ae..de0595a24e1b36fad697183c0b048a2b4cc1ce68 100644 (file)
--- a/system.c
+++ b/system.c
@@ -177,8 +177,9 @@ void cSystem::ParseCAT(cPids *pids, const unsigned char *buffer)
         pids->AddPid(pid,0x80,0xFF,0x06);
         pids->AddPid(pid,0x88,0xFE);
         break;
-      case 0x18: // Nagra style, Nagra1(82) Nagra2(82/83) 
-        pids->AddPid(pid,0x82,caid==0x1801 ? 0xFE:0xFF);
+      case 0x18: // Nagra style, Nagra1(82) Nagra2(82/83) Nagra3(84/83)
+        if(caid>=0x1801) pids->AddPid(pid,0x80,0xFE,0x06); // mismatching 85/86/87
+        else             pids->AddPid(pid,0x82,0xFF);
         break;
       default:   // default style (82)
         pids->AddPid(pid,0x82,0xFF);