1 /* 2 * update 18 mar 2003 3 * - fake test replaced by good test :) -> more FC14 found 4 */ 5 /* testFC14() */ 6 /* Rip_FC14() */ 7 8 9 #include "globals.h" 10 #include "extern.h" 11 testFC14(void)12short testFC14 ( void ) 13 { 14 PW_Start_Address = PW_i; 15 16 /* file size < 193 */ 17 if ( (PW_in_size - PW_Start_Address) < 193 ) 18 { 19 /*printf ( "#1 (start:%ld) (size:%ld)\n" , PW_Start_Address , PW_in_size-PW_Start_Address);*/ 20 return BAD; 21 } 22 23 /* get 1st sample addy */ 24 PW_m = (( in_data[PW_Start_Address+32]*256*256*256)+ 25 ( in_data[PW_Start_Address+33]*256*256)+ 26 ( in_data[PW_Start_Address+34]*256)+ 27 in_data[PW_Start_Address+35] ); 28 29 /* test in-size again */ 30 if ( PW_Start_Address+PW_m > PW_in_size ) 31 { 32 /*printf ( "#2 (start:%ld) (1st smp addy:%ld)\n" , PW_Start_Address , PW_m);*/ 33 return BAD; 34 } 35 36 /* test various addresses */ 37 PW_j = (( in_data[PW_Start_Address+8] *256*256*256)+ 38 ( in_data[PW_Start_Address+9] *256*256)+ 39 ( in_data[PW_Start_Address+10]*256)+ 40 in_data[PW_Start_Address+11] ); 41 42 PW_k = (( in_data[PW_Start_Address+16]*256*256*256)+ 43 ( in_data[PW_Start_Address+17]*256*256)+ 44 ( in_data[PW_Start_Address+18]*256)+ 45 in_data[PW_Start_Address+19] ); 46 47 PW_l = (( in_data[PW_Start_Address+36]*256*256*256)+ 48 ( in_data[PW_Start_Address+37]*256*256)+ 49 ( in_data[PW_Start_Address+38]*256)+ 50 in_data[PW_Start_Address+39] ); 51 52 /* test in-size again */ 53 if ( (PW_j > PW_in_size) || (PW_k > PW_in_size) || (PW_l > PW_in_size) ) 54 { 55 /*printf ( "#2 (start:%ld) (PW_j:%ld) (PW_k:%ld) (PW_l:%ld)\n" 56 , PW_Start_Address , PW_j, PW_k, PW_l);*/ 57 return BAD; 58 } 59 60 /* PW_l is 1st waveform addy */ 61 return GOOD; 62 } 63 64 Rip_FC14(void)65void Rip_FC14 ( void ) 66 { 67 /* PW_l is already the 1st waveform addy */ 68 69 /* get Waveforms len */ 70 PW_k = 0; 71 for ( PW_j=100 ; PW_j<180 ; PW_j++ ) 72 { 73 PW_k += in_data[PW_Start_Address+PW_j]; 74 } 75 76 OutputSize = PW_l + (PW_k*2); 77 78 CONVERT = BAD; 79 Save_Rip ( "Future Composer 1.4 module", FC14 ); 80 81 if ( Save_Status == GOOD ) 82 PW_i += 4; /* after FC14 tag */ 83 } 84 85