diff --git a/gr-sim/tfv_flying_6502.c b/gr-sim/tfv_flying_6502.c index 0c2ead25..9e444b83 100644 --- a/gr-sim/tfv_flying_6502.c +++ b/gr-sim/tfv_flying_6502.c @@ -333,11 +333,18 @@ static void init_table(void) { static unsigned int product[4]; -static int fixed_mul_unsigned( - unsigned char x_i, unsigned char x_f, - unsigned char y_i, unsigned char y_f, +static void fixed_mul(unsigned char x_i, unsigned char x_f, + unsigned char y_i, unsigned char y_f, unsigned char *z_i, unsigned char *z_f, - int debug, int reuse) { + int reuse) { + + int debug=0; + +//static int fixed_mul_unsigned( +// unsigned char x_i, unsigned char x_f, +// unsigned char y_i, unsigned char y_f, +// unsigned char *z_i, unsigned char *z_f, +// int debug, int reuse) { // T2 = BBbb @@ -551,24 +558,24 @@ static int fixed_mul_unsigned( // printf("DDdd %02x:%02x\n",_DD,_dd); // } - cycles.multiply+=6; +// cycles.multiply+=6; - return (product[3]<<24)|(product[2]<<16)|(product[1]<<8)|product[0]; +// return (product[3]<<24)|(product[2]<<16)|(product[1]<<8)|product[0]; // rts ; 6 -} +//} /* signed */ -static void fixed_mul(unsigned char x_i, unsigned char x_f, - unsigned char y_i, unsigned char y_f, - unsigned char *z_i, unsigned char *z_f, int reuse) { +//static void fixed_mul(unsigned char x_i, unsigned char x_f, +// unsigned char y_i, unsigned char y_f, +// unsigned char *z_i, unsigned char *z_f, int reuse) { - int a,c; - fixed_mul_unsigned(x_i,x_f,y_i,y_f,z_i,z_f,0,reuse); - // jsr multiply_16bit_unsigned ; 6 + +// fixed_mul_unsigned(x_i,x_f,y_i,y_f,z_i,z_f,0,reuse); + // jsr multiply_16bit_unsigned ; a=(x_i&0xff); // lda T1+1 ; 3 - cycles.multiply+=12; + cycles.multiply+=6; if ((a&0x80)==0) goto x_positive; // bpl :+ ;^3/2nt c=1; // sec ; 2 diff --git a/gr-sim/tfv_multiply.c b/gr-sim/tfv_multiply.c index 7f50f21e..1f5de793 100644 --- a/gr-sim/tfv_multiply.c +++ b/gr-sim/tfv_multiply.c @@ -719,10 +719,15 @@ static void init_table(void) { static unsigned int product[4]; -int fixed_mul_unsigned(int x_i,int x_f, +int fixed_mul(int x_i,int x_f, int y_i, int y_f, + int *z_i, int *z_f, int debug) { +//int fixed_mul_unsigned(int x_i,int x_f, +// int y_i, int y_f, +// int debug) { + // T2 = BBbb // >T1 *