From: leslie Date: Sat, 26 Jul 2008 06:30:26 +0000 (+0800) Subject: nagra-0101: map3b timing (from emunation) X-Git-Tag: 0.9.1~46 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=117345360fe3cf91c7508a6e7e7a3391a788ac1f;p=sasc-ng.git nagra-0101: map3b timing (from emunation) --- diff --git a/systems/nagra/nagra2-0101.c b/systems/nagra/nagra2-0101.c index 1d450eb..5d851c5 100644 --- a/systems/nagra/nagra2-0101.c +++ b/systems/nagra/nagra2-0101.c @@ -119,7 +119,7 @@ int cAuxSrv::Map(int map, unsigned char *data, int len, int outlen) class cMap0101 : public cMapCore { private: static const unsigned char primes[]; - static const unsigned short coef22[][32]; + static const int tim3b[][17]; #ifdef HAS_AUXSRV cAuxSrv aux; #endif @@ -136,6 +136,26 @@ const unsigned char cMap0101::primes[] = { 0xE5,0xE9,0xEF,0xF1,0xFB }; +const int cMap0101::tim3b[][17] = { + { 2666,2804,2957,3105,3258,3406,3554,3707,3855,4008,4156,4304,4457,4605,4758,4906,5054 }, + { 3163,3316,3484,3652,3815,3983,4146,4314,4482,4645,4813,4976,5144,5312,5475,5643,5806 }, + { 3715,3888,4071,4254,4432,4615,4798,4981,5164,5342,5525,5708,5891,6074,6252,6435,6618 }, + { 4302,4490,4688,4886,5084,5282,5480,5678,5876,6074,6272,6470,6668,6866,7064,7262,7460 }, + { 4899,5107,5320,5533,5751,5964,6177,6390,6603,6821,7034,7247,7460,7673,7891,8104,8317 }, + { 5541,5759,5992,6220,6453,6681,6909,7142,7370,7603,7831,8059,8292,8520,8753,8981,9209 }, + { 6198,6431,6679,6927,7170,7418,7661,7909,8157,8400,8648,8891,9139,9387,9630,9878,10121 }, + { 6910,7163,7426,7689,7947,8210,8473,8736,8999,9257,9520,9783,10046,10309,10567,10830,11093 }, + { 7637,7905,8183,8461,8739,9017,9295,9573,9851,10129,10407,10685,10963,11241,11519,11797,12075 }, + { 8394,8682,8975,9268,9566,9859,10152,10445,10738,11036,11329,11622,11915,12208,12506,12799,13092 }, + { 9196,9494,9807,10115,10428,10736,11044,11357,11665,11978,12286,12594,12907,13215,13528,13836,14144 }, + { 10003,10346,10674,11002,11325,11653,11976,12304,12632,12955,13283,13606,13934,14262,14585,14913,15236 }, + { 10885,11218,11561,11904,12242,12585,12928,13271,13614,13952,14295,14638,14981,15324,15662,16005,16348 }, + { 11792,12145,12498,12856,13214,13572,13930,14288,14646,15004,15362,15720,16078,16436,16794,17152,17510 }, + { 12709,13087,13465,13843,14226,14604,14982,15360,15738,16121,16499,16877,17255,17633,18016,18394,18772 }, + { 13671,14069,14477,14880,15283,15686,16084,16492,16890,17298,17696,18099,18507,18905,19313,19711,20114 }, + { 14668,15091,15519,15947,16370,16798,17221,17654,18082,18505,18933,19356,19784,20212,20640,21068,21491 }, + }; + void cMap0101::MakePrime(BIGNUM *n, unsigned char *residues) { bool isPrime; @@ -232,6 +252,7 @@ bool cMap0101::Map(int f, unsigned char *data, int l) MonInit(wordsize*60+4*l); I.GetLE(data,l<<3); MonMul(B,I,B,l); + cycles=tim3b[wordsize-1][l-1]-6; break; case 0x3e: {