]> www.vanbest.org Git - sasc-ng.git/commitdiff
nagra-0101: map3b timing (from emunation)
authorleslie <unknown>
Sat, 26 Jul 2008 06:30:26 +0000 (14:30 +0800)
committerleslie <unknown>
Sat, 26 Jul 2008 06:30:26 +0000 (14:30 +0800)
systems/nagra/nagra2-0101.c

index 1d450ebf46a73f000bc6975dc116f3f2597f3f16..5d851c5109f6fc4f5c6dc12e156ba9ea041e38ea 100644 (file)
@@ -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:
       {