#ifdef Buggy

FILE     *BuggyFile;
unsigned  BuggyI;  // Loop index
char     *BuggyPC;
char      BuggyVC; 
int      *BuggyPI;
int       BuggyVI; 

#define BuggyClear              BuggyFile = fopen(Buggy,"w"); fclose(BuggyFile);
#define BuggyMessage(Bla)       BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s\n",Bla); fclose(BuggyFile);
#define BuggyArgs(Bla)          BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s argv[*]: ",Bla); for (BuggyI=0;BuggyI<argc;BuggyI++) {fprintf(BuggyFile,"%s ",argv[BuggyI]);} fprintf(BuggyFile,"\n"); fclose(BuggyFile);
#define BuggyRegs(Bla,Num)      BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s SWIRegs.r[*]:\n",Bla); for (BuggyI=0;BuggyI<Num;BuggyI++) {fprintf(BuggyFile,"   R%2d: %5d = 0x%08X\n",BuggyI,SWIRegs.r[BuggyI],SWIRegs.r[BuggyI]);} fclose(BuggyFile);
#define BuggyText(Bla,Var)      BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s %s: %s\n",Bla,#Var,Var); fclose(BuggyFile);
#define BuggyInt(Bla,Var)       BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s %s: 0x%08X = %d\n",Bla,#Var,Var,Var); fclose(BuggyFile);
#define BuggyError(Bla,Fi,Li)   BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s %s [%d]:\n0x%08X = %d: %s\n",Bla,Fi,Li,OSError->errnum,OSError->errnum,OSError->errmess); fclose(BuggyFile);
#define BuggyBuffC(Bla,Var,Num) BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s %s (0x%X %d):\n",Bla,#Var,(int)Var,Num); BuggyPC = (char*)Var; for (BuggyI=0;BuggyI<Num;BuggyI++) {BuggyVC = *BuggyPC++; fprintf(BuggyFile,"   %3d: 0x%02X = %3d = %c\n",BuggyI,BuggyVC,BuggyVC,BuggyVC);} fclose(BuggyFile);
#define BuggyBuffI(Bla,Var,Num) BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s %s (0x%X %d):\n",Bla,#Var,(int)Var,Num); BuggyPI = (int*)Var;  for (BuggyI=0;BuggyI<Num;BuggyI++) {BuggyVI = *BuggyPI++; fprintf(BuggyFile,"   %3d: 0x%08X = %d\n",BuggyI*4,BuggyVI,BuggyVI);} fclose(BuggyFile);
#define BuggyBits(Bla,Var)      BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s %s 0x%08X\n   ..28..24..20..16..12...8...4...0\n   ",Bla,#Var,(int)Var); for(BuggyI=((unsigned)1<<31);BuggyI>0;BuggyI=(BuggyI>>1)) {((unsigned)Var & BuggyI) ? fprintf(BuggyFile,"1"):fprintf(BuggyFile,"0");} fprintf(BuggyFile,"\n"); fclose(BuggyFile);
#define BuggyIconD(Bla,Var)     BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s %s:\n",Bla,#Var); BuggyPI = (int*)Var; for (BuggyI=0;BuggyI<5;BuggyI++) {BuggyVI = *BuggyPI++; fprintf(BuggyFile,"   %3d: 0x%08X = %d\n",BuggyI*4,BuggyVI,BuggyVI);} BuggyPI--; fprintf(BuggyFile,"   ..28..24..20..16..12...8...4...0\n   "); for(BuggyI=((unsigned)1<<31);BuggyI>0;BuggyI=(BuggyI>>1)) {((unsigned)(*BuggyPI) & BuggyI) ? fprintf(BuggyFile,"1"):fprintf(BuggyFile,"0");}; fprintf(BuggyFile,"\n"); BuggyPI++; BuggyPC = (char*)BuggyPI; fprintf(BuggyFile,"   %s\n",BuggyPC); for (BuggyI=0;BuggyI<3;BuggyI++) {BuggyVI = *BuggyPI++; fprintf(BuggyFile,"   %3d: 0x%08X = %d\n",BuggyI*4,BuggyVI,BuggyVI);}; fclose(BuggyFile);
#define BuggyIconI(Bla,Var)     BuggyFile = fopen(Buggy,"a"); fprintf(BuggyFile,"%s %s:\n",Bla,#Var); BuggyPI = (int*)Var; for (BuggyI=0;BuggyI<5;BuggyI++) {BuggyVI = *BuggyPI++; fprintf(BuggyFile,"   %3d: 0x%08X = %d\n",BuggyI*4,BuggyVI,BuggyVI);} BuggyPI--; fprintf(BuggyFile,"   ..28..24..20..16..12...8...4...0\n   "); for(BuggyI=((unsigned)1<<31);BuggyI>0;BuggyI=(BuggyI>>1)) {((unsigned)(*BuggyPI) & BuggyI) ? fprintf(BuggyFile,"1"):fprintf(BuggyFile,"0");}; fprintf(BuggyFile,"\n"); BuggyPI++; BuggyPC = (char*)(*BuggyPI); fprintf(BuggyFile,"   Text: %s\n",BuggyPC); BuggyPI++; BuggyPC = (char*)(*BuggyPI); fprintf(BuggyFile,"   Validation: %s\n",BuggyPC); BuggyPI++; BuggyVI = *BuggyPI; fprintf(BuggyFile,"   %3d: 0x%08X = %d\n",BuggyI*4,BuggyVI,BuggyVI); fclose(BuggyFile);


#else

#define BuggyClear
#define BuggyMessage(Bla)
#define BuggyArgs(Bla)
#define BuggySWIRegs(Bla,Num)  
#define BuggyText(Bla,Var)
#define BuggyInt(Bla,Var)
#define BuggyError(Bla)
#define BuggyBuffC(Bla,Var,Num)
#define BuggyBuffI(Bla,Var,Num)
#define BuggyBits(Bla,Var)
#endif
