merge some pollux code from PCSX