I worry about all these 'tweak's that aren't really performance updates, but 'cheats' to the emulation. ie: Running more opcodes per cycle or more than exspected per regular-interupt is going away form the true machine spec, and certainly will make for some weird game operations.. but _could_ improve 'perceived' performance. (I admit, I did the same in a lot of emus as many games don't really care, but then.. many do.)
Perhaps you need it like Frodo as an example.. an accurate build that uses correct timings, and a less accurate one. Both can use 'true speedups' (ASM cpu core or dynarec, or faster blitters, faster renderers for the 3d, etc etc), but put the questionable 'tweak's into the inaccurate version?
ie: Interupts are used for a lot of things; I don't recall if the PSX uses an interupt for timing, but many other machines do; in those cases, cranking up the opcodes-per-interupt-tick doesn't help, since most games 'spin' waiting for the inteupt count to go by; in those cases, you crank up the opcode-per-int count, and then also remove spins fromthe code; ie: auto-detect where the games are waiting, and remove them.
So you're definately on the right path -- attacking both real performance and the tweak-performance, but maybe its best to keep the two separate (#if's in the code perhaps?) so that folks can choose if they want the lsser accurate or not. Othewise you'll forever be plagued with the 'apply tweak, broke his game while fixin gthat one' since you can never make them _all_ happy with a tweak.
Some emus have a tweak menu, listing 20 possible tweaks off and let folks turn them on; "more opcodes per timer int" for instance, but that might slow it down to have lots of 'if' in the code for each possible thing..
Just some thoughts from a tired mind whose been there
jeff