From: leslie Date: Mon, 9 Jun 2008 02:02:41 +0000 (+0800) Subject: nagra: improve map register debug X-Git-Tag: 0.9.1~82 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=da9e1cc485ea6912a740ef910d2bdd978ed5b711;p=sasc-ng.git nagra: improve map register debug --- diff --git a/systems/nagra/nagra2.c b/systems/nagra/nagra2.c index 24c8c19..7030978 100644 --- a/systems/nagra/nagra2.c +++ b/systems/nagra/nagra2.c @@ -260,9 +260,9 @@ bool cN2Emu::Init(int id, int romv) // -- cMapReg ------------------------------------------------------------------ -cMapReg::cMapReg(const int *Ws) +cMapReg::cMapReg(const int *Ws, const char *Name) { - ws=Ws; + ws=Ws; name=Name; } void cMapReg::Save(int size) @@ -273,9 +273,9 @@ void cMapReg::Save(int size) BN_mask_bits(reg,size<<6); touched=true; #ifdef MR_DEBUG -fprintf(stderr,"saved %p size=%d\n",this,size); -BN_print_fp(stderr,reg); fprintf(stderr,"\n"); -BN_print_fp(stderr,save); fprintf(stderr,"\n"); +fprintf(stderr,"saved %s size=%d\n",name,size); +fprintf(stderr,"reg : "); BN_print_fp(stderr,reg); fprintf(stderr,"\n"); +fprintf(stderr,"save: "); BN_print_fp(stderr,save); fprintf(stderr,"\n"); #endif } } @@ -285,9 +285,9 @@ void cMapReg::Restore(int size) if(touched && ws) { if(size<=0) size=*ws; #ifdef MR_DEBUG -fprintf(stderr,"restore %p size=%d\n",this,size); -BN_print_fp(stderr,reg); fprintf(stderr,"\n"); -BN_print_fp(stderr,save); fprintf(stderr,"\n"); +fprintf(stderr,"restore %s size=%d\n",name,size); +fprintf(stderr,"reg : "); BN_print_fp(stderr,reg); fprintf(stderr,"\n"); +fprintf(stderr,"save: "); BN_print_fp(stderr,save); fprintf(stderr,"\n"); #endif if(reg->neg) { BN_zero(tmp); @@ -300,7 +300,7 @@ BN_print_fp(stderr,save); fprintf(stderr,"\n"); BN_add(reg,reg,tmp); touched=false; #ifdef MR_DEBUG -BN_print_fp(stderr,reg); fprintf(stderr,"\n"); +fprintf(stderr,"reg : "); BN_print_fp(stderr,reg); fprintf(stderr,"\n"); #endif } } @@ -310,7 +310,7 @@ BN_print_fp(stderr,reg); fprintf(stderr,"\n"); const int cMapMath::ws1=1; cMapMath::cMapMath(void) -:A(&wordsize),B(&wordsize),C(&wordsize),D(&wordsize),J(&ws1),I(0) +:A(&wordsize,"A"),B(&wordsize,"B"),C(&wordsize,"C"),D(&wordsize,"D"),J(&ws1,"J"),I(0,"I") { wordsize=DEF_WORDSIZE; } diff --git a/systems/nagra/nagra2.h b/systems/nagra/nagra2.h index 30889aa..2843611 100644 --- a/systems/nagra/nagra2.h +++ b/systems/nagra/nagra2.h @@ -50,15 +50,16 @@ extern char auxPassword[250]; // ---------------------------------------------------------------- -//#define MR_DEBUG +#define MR_DEBUG class cMapReg { private: cBN reg, save, tmp; const int *ws; + const char *name; bool touched; public: - cMapReg(const int *Ws); + cMapReg(const int *Ws, const char *Name); operator BIGNUM* () { Save(); return reg.BN(); } BIGNUM *operator->() { Save(); return reg.BN(); } bool Get(const unsigned char *in, int n) { Save(); return reg.Get(in,n); }