Resolved: Microvu bug reports official thread
Should be fixed in the latest revision
[Image: ref-sig-anim.gif]


Sponsored links

microVU1 Warning: Branch in E-bit delay slot! [2908]
Patches: No CRC, using 00000000 instead.
Overall 0 Cheats loaded

Game: Smackdown here comes the pain. Was working fine till I updated to the latest PSx2 version 1.2.1.

Tried other vu option but the problem remains

What I am supposed to do?
downgrade to an older version for now i guess.. Or if you wanted to be useful you could go through the list on orphis and find out where it went wrong. Take a range, say, start at 4000, if that works okay, try 5000, if it's broke try 4500, and so on till you narrow it down..

http://buildbot.orphis.net/pcsx2/
[Image: ref-sig-anim.gif]

I will try downgrading,... Thanks
Is there a version of this that works with current checkouts?

(12-12-2010, 10:10 AM)cottonvibes Wrote: Kickstand:
If you want a hack to speedup scarface then:
Look for the function "static void doIbit(mV)" and change it to:
Code:
static void doIbit(mV) {
    if (mVUup.iBit) {
        incPC(-1);
        mVU->regAlloc->clearRegVF(33);
        xMOV(gprT1, ptr32[&curI]);
        xMOV(ptr32[&mVU->getVI(REG_I)], gprT1);
        incPC(1);
    }
}

Then look for the function "_mVUt __fi void* mVUsearchProg(u32 startPC, uptr pState)" and change it to:
Code:
_mVUt __fi void* mVUsearchProg(u32 startPC, uptr pState) {
    microVU* mVU = mVUx;
    microProgramQuick& quick = mVU->prog.quick[startPC/8];
    microProgramList*  list  = mVU->prog.prog [startPC/8];
    if(!quick.prog) { // If null, we need to search for new program
        deque<microProgram*>::iterator it(list->begin());
        for ( ; it != list->end(); ++it) {
            bool b = mVUcmpProg<vuIndex>(*it[0], 0);
            if (isVU1 && ((((u32*)mVU->regs().Micro)[startPC/4+1]) == 0x80200118) && ((((u32*)mVU->regs().Micro)[startPC/4+3]) == 0x81000062)) {
                b = true;
                mVU->prog.cleared =  0;
                mVU->prog.cur      =  it[0];
                mVU->prog.isSame  =  1;
            }
            if (b) {
                quick.block = it[0]->block[startPC/8];
                quick.prog  = it[0];
                list->erase(it);
                list->push_front(quick.prog);
                return mVUentryGet(mVU, quick.block, startPC, pState);
            }
        }

        // If cleared and program not found, make a new program instance
        mVU->prog.cleared    = 0;
        mVU->prog.isSame    = 1;
        mVU->prog.cur        = mVUcreateProg<vuIndex>(startPC/8);
        void* entryPoint    = mVUblockFetch(mVU, startPC, pState);
        quick.block            = mVU->prog.cur->block[startPC/8];
        quick.prog            = mVU->prog.cur;
        list->push_front(mVU->prog.cur);
        return entryPoint;
    }
    // If list.quick, then we've already found and recompiled the program ;)
    mVU->prog.isSame     = -1;
    mVU->prog.cur         =  quick.prog;
    return mVUentryGet(mVU, quick.block, startPC, pState);
}

This hack stops the constant recompilation problem which will allow you to play the game at a much faster speed.
i keep getting the same message with Scarface
(07-19-2014, 01:38 PM)RecklesSquirrel Wrote: i keep getting the same message with Scarface

What message?
[Image: ref-sig-anim.gif]

microVU1: Program cache limit reached.
Game: .hack//G.U. Vol.2 Reminisce
Bug: A strange line appear through the body of Alkaid
Screen:
[Image: V7JZQDg.jpg]

How to solve: I switched my VU1 from microVU Recompiler to superVU Recompiler
Screen:
[Image: udf85by.jpg]

I've the 1.2.1 PCSX2 version.
Try again with clamping and rounding modes to their defaults.
[Image: newsig.jpg]




Users browsing this thread: 1 Guest(s)