Don't let the RDP get too far ahead of the other cores or
it causes lots of frameskipping issues. Unfortunately, this
also hurts the performance but such is life.
* Don't use global data to store RDP command list, etc.
* Reduce the amount of time the RDP holds the lock at
any given time. This should prevent the RCP thread
from getting held up at the RCP/VR4300 sync window.
* Thread safety: Hold RDP mutex when reading RDP regs.
* Fix early DP status update (we should hold pipe busy,
cmd busy, etc. until we're really done with the entire
command list; not the moment we start processing it!)
* Inline more functions.
CEN64 with -multithread now scales up to three threads.
This commit is very unoptimized, but still offers VI/s
faster than the single-threaded RDP.
Many things that were previously VI/s limited such as
Mario Tennis (in game), Vigilante 8, Goldeneye, etc.
will now run at 60 VI/s at least on an i7. More to come
in the future.
Thanks to simer and Happy for pointing out something that
also cropped up in MAME: http://forums.bannister.org/
ubbthreads.php?ubb=showflat&Number=94626#Post94626
This hack fixes Banjo-Kazooie.
Replaced all references to simulation with emulation
Updated copyright year
Updated .gitignore to reduce chances of random files being uploaded to
the repo
Added .gitattributes to normalize all text files, and to ignore binary
files (which includes the logo and the NEC PDF)