There are some coding errors in the SWAP functions for big endian (libpcsxcore/psxmem.h). There are some ADD's rather than OR's. which can affect performance depending on the processor (AND's may need overflow protection and/or sign handling).
Tested the attached patch on an old PPC with GCC, and it produces smaller code (likely faster). Should not affect functionality.
Comments: I included this in a pull request: https://pcsxr.codeplex.com/SourceControl/network/forks/Jem256/pcsxr/contribution/9035
Tested the attached patch on an old PPC with GCC, and it produces smaller code (likely faster). Should not affect functionality.
Comments: I included this in a pull request: https://pcsxr.codeplex.com/SourceControl/network/forks/Jem256/pcsxr/contribution/9035