]> www.vanbest.org Git - sasc-ng.git/commitdiff
nagra 0101: map29
authorleslie <unknown>
Wed, 6 Feb 2008 21:25:11 +0000 (22:25 +0100)
committerleslie <unknown>
Wed, 6 Feb 2008 21:25:11 +0000 (22:25 +0100)
systems/nagra/nagra2-0101.c

index 7a191e8d58f9f1c5191d7256ecb80fd22666827e..1bb8431b083972dfbd7bb3010c076d65c080bcfa 100644 (file)
@@ -435,6 +435,16 @@ void cMap0101::DoMap(int f, unsigned char *data, int l)
       else    cycles=931 +                                4*coef22[shift][0]   - 6;
       break;
       }
+    case 0x29:
+      {
+      BN_add(B,B,C);
+      if(l<=0) l=wordsize;     // conditional seems pretty useless
+      bool b=BN_is_bit_set(B,l<<6);
+      data[0]=b;
+      if(b) BN_mask_bits(B,l<<6);
+      cycles=504+(8*l)-((8*l-2)%5)-6;
+      }
+      break; 
     case 0x3b:
       if(!l) l=wordsize;
       MonInit(wordsize*60+4*l);
@@ -761,6 +771,11 @@ bool cN2Prov0101::ProcessMap(int f)
       GetMem(HILO(0x44),tmp,size<<3,0);
       DoMap(f,tmp,size);
       break;
+    case 0x29:
+      DoMap(f,tmp,-Get(0x48));
+      Set(0x4b,tmp[0]);
+      AddCycles(MapCycles());
+      break;
     case 0x3e:
       GetMem(HILO(0x44),tmp,size,0);
       DoMap(f,tmp,Get(0x48));