Please sign in to comment.
SI: Add 16bit accessors for SI IO buffer
Dolphin has traditionally treated the SI IO buffer (128 bytes) as a set of 32 little endian u32s. This works out fine if you only ever read/write using aligned 32bit accesses. Different sized accesses or misaligned reads will mess it up. Byte swapping reads/writes will fix this up, but all the SI devices that use the SI IO buffer need to be adjusted.
- Loading branch information...
Showing with 60 additions and 30 deletions.
- +27 −3 Source/Core/Core/HW/SI/SI.cpp
- +1 −1 Source/Core/Core/HW/SI/SI_Device.cpp
- +3 −2 Source/Core/Core/HW/SI/SI_DeviceDanceMat.cpp
- +11 −10 Source/Core/Core/HW/SI/SI_DeviceGBA.cpp
- +8 −7 Source/Core/Core/HW/SI/SI_DeviceGCController.cpp
- +3 −2 Source/Core/Core/HW/SI/SI_DeviceGCSteeringWheel.cpp
- +5 −4 Source/Core/Core/HW/SI/SI_DeviceKeyboard.cpp
- +2 −1 Source/Core/Core/HW/SI/SI_DeviceNull.cpp