Esempio n. 1
0
void __fastcall _qrz_PushARMCycles(unsigned int clks)
{
 uint32 arm,cnt;
 int sp=0;
if(sdf>0) sdf--;
if(sf>0) sf--;
if(unknownflag11>0)unknownflag11--;
if(ARM_CLOCK<0x7A1200)ARM_CLOCK=0x7A1200;
if(ARM_CLOCK>0x1C9C380)ARM_CLOCK=0x1C9C380;
 if(speedfixes>0&&speedfixes<0x186A1) {sp=0x2DC6C0; speedfixes--;}
 else if(speedfixes>0x186A1&&speedfixes<0x30D41) {if(sdf==0)sp=0x6ACFC0; speedfixes--;}
 else if(speedfixes<0) {sp=0x3D0900; speedfixes++;}
 else if(speedfixes>0x30D41) {sp=0x30D400; speedfixes--;}//0x3567E0
 else if(speedfixes==0x30D41||speedfixes==0x186A1) speedfixes=0;
 if(_clio_GetTimerDelay()==0x150&&sf==0) sp=-(0x1C9C380-ARM_CLOCK);
 if(sf>0x186A0)sp=-(12500000-ARM_CLOCK);
 if((ARM_CLOCK-sp)<0x2DC6C0)sp=-(0x2DC6C0-ARM_CLOCK);
        arm=(clks<<24)/(ARM_CLOCK-sp);
        qrz_AccARM+=arm*ARM_CLOCK;
        if( (qrz_AccARM>>24) != clks )
        {
                arm++;
                qrz_AccARM+=ARM_CLOCK;
                qrz_AccARM&=0xffffff;
        }
        qrz_AccDSP+=arm*SND_CLOCK;
        qrz_AccVDL+=arm*(VDL_CLOCK);

        //if(Get_madam_FSM()!=FSM_INPROCESS)
        if(_clio_GetTimerDelay())qrz_TCount+=arm*((0?12500000:21000000)/(_clio_GetTimerDelay()));//clks<<1;
}
Esempio n. 2
0
void __fastcall _qrz_PushARMCycles(unsigned int clks)
{
 uint32 arm;
        arm=(clks<<24)/ARM_CLOCK;
        qrz_AccARM+=arm*ARM_CLOCK;
        if( (qrz_AccARM>>24) != clks )
        {
                arm++;
                qrz_AccARM+=ARM_CLOCK;
                qrz_AccARM&=0xffffff;
        }
        qrz_AccDSP+=arm*SND_CLOCK;
        qrz_AccVDL+=arm*(VDL_CLOCK);

        //if(Get_madam_FSM()!=FSM_INPROCESS)
        if(_clio_GetTimerDelay())qrz_TCount+=arm*((__temporalfixes?12500000:25000000)/(_clio_GetTimerDelay()));//clks<<1;
}