WinUAE/prowizard/rippers/BSI-FutureComposer.c
2010-02-22 21:46:52 +02:00

62 lines
1.6 KiB
C

/* testBSIFutureComposer() */
/* Rip_BSIFutureComposer() */
#include "globals.h"
#include "extern.h"
short testBSIFutureComposer ( void )
{
PW_Start_Address = PW_i;
/* file size < 18424 */
if ( test_1_start(PW_Start_Address + 18424) )
{
/*printf ( "#1 (start:%ld) (number of samples:%ld)\n" , PW_Start_Address , PW_j);*/
return BAD;
}
if (( in_data[PW_Start_Address+17412] != 'D' ) ||
( in_data[PW_Start_Address+17413] != 'I' ) ||
( in_data[PW_Start_Address+17414] != 'G' ) ||
( in_data[PW_Start_Address+17415] != 'I' ) )
{
/*printf ( "#2 (start:%ld) (number of samples:%ld)\n" , PW_Start_Address , PW_j);*/
return BAD;
}
if (( in_data[PW_Start_Address+18424] != 'D' ) ||
( in_data[PW_Start_Address+18425] != 'I' ) ||
( in_data[PW_Start_Address+18426] != 'G' ) ||
( in_data[PW_Start_Address+18427] != 'P' ) )
{
/*printf ( "#3 (start:%ld) (number of samples:%ld)\n" , PW_Start_Address , PW_j);*/
return BAD;
}
return GOOD;
}
/* Rip_BSIFutureComposer */
void Rip_BSIFutureComposer ( void )
{
/* get whole sample size */
PW_WholeSampleSize = 0;
for ( PW_j=0 ; PW_j<63 ; PW_j++ )
{
PW_o =((in_data[PW_Start_Address+17420+(PW_j*16)]*256*256*256)+
(in_data[PW_Start_Address+17421+(PW_j*16)]*256*256)+
(in_data[PW_Start_Address+17422+(PW_j*16)]*256)+
in_data[PW_Start_Address+17423+(PW_j*16)] );
PW_WholeSampleSize += PW_o;
}
OutputSize = PW_WholeSampleSize + 18428;
CONVERT = BAD;
Save_Rip ( "BSI Future Composer module", BSIFC );
if ( Save_Status == GOOD )
PW_i += (OutputSize - 2); /* 0 should do but call it "just to be sure" :) */
}