From: leslie Date: Sun, 8 Jun 2008 13:36:34 +0000 (+0800) Subject: nagra-0101: map39/map3a X-Git-Tag: 0.9.1~86 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=0b7609dd1b4a944c20f3f11102eadc61d9abbaef;p=sasc-ng.git nagra-0101: map39/map3a --- diff --git a/systems/nagra/nagra2-0101.c b/systems/nagra/nagra2-0101.c index 2b92790..d45bbc9 100644 --- a/systems/nagra/nagra2-0101.c +++ b/systems/nagra/nagra2-0101.c @@ -855,6 +855,7 @@ bool cN2Prov0101::ProcessMap(int f) if(l>wordsize) { l=wordsize; dl=l<<3; } // fall through case 0x32: + case 0x39: case 0x3b: if(l>34) { l=34; dl=34<<3; } GetMem(HILO(0x44),tmp,dl,0); @@ -863,6 +864,7 @@ bool cN2Prov0101::ProcessMap(int f) case 0x21: case 0x30: case 0x31: + case 0x3a: case 0x43: DoMap(f); break; diff --git a/systems/nagra/nagra2-0501.c b/systems/nagra/nagra2-0501.c index 083c3bd..d249d76 100644 --- a/systems/nagra/nagra2-0501.c +++ b/systems/nagra/nagra2-0501.c @@ -49,11 +49,6 @@ void cMap0501::DoMap(int f, unsigned char *data, int l) I.GetLE(data,l<<3); MonMul(B,I,B); break; - case 0x3a: - MonInit(); - MonMul(B,A,B); - MonMul(B,A,B); - break; default: if(!cMapCore::DoMap(f,data,l)) PRINTF(L_SYS_MAP,"%04x: unsupported call %02x",mId,f); diff --git a/systems/nagra/nagra2.c b/systems/nagra/nagra2.c index baf7c98..c3b6699 100644 --- a/systems/nagra/nagra2.c +++ b/systems/nagra/nagra2.c @@ -684,6 +684,13 @@ bool cMapCore::DoMap(int f, unsigned char *data, int l) case COPY_D_C: last=3; BN_copy(C,D); cycles=462+(8*l1+3)/5*5-6; break; + case 0x39: + case 0x3a: + MonInit(); + if(f==0x39) I.GetLE(data,wordsize<<3); + MonMul(B,(f==0x39?I:A),B); + MonMul(B,A,B); + break; case 0x43: // init SHA1 SHA1_Init(&sctx); break;