From 0b7609dd1b4a944c20f3f11102eadc61d9abbaef Mon Sep 17 00:00:00 2001 From: leslie <unknown> Date: Sun, 8 Jun 2008 21:36:34 +0800 Subject: [PATCH] nagra-0101: map39/map3a --- systems/nagra/nagra2-0101.c | 2 ++ systems/nagra/nagra2-0501.c | 5 ----- systems/nagra/nagra2.c | 7 +++++++ 3 files changed, 9 insertions(+), 5 deletions(-) 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; -- 2.39.5