diff options
author | Nebuleon Fumika | 2013-02-01 00:33:30 -0500 |
---|---|---|
committer | Nebuleon Fumika | 2013-02-01 00:33:30 -0500 |
commit | f385752705de73b04cbbda735a71f14c19e241a6 (patch) | |
tree | 59aca906a8c3fcbaae402d503e7c6b34643e0199 /source/snaporig.cpp | |
parent | f0fab191e48f165c551980d724bba2f26a764795 (diff) | |
download | snes9x2005-f385752705de73b04cbbda735a71f14c19e241a6.tar.gz snes9x2005-f385752705de73b04cbbda735a71f14c19e241a6.tar.bz2 snes9x2005-f385752705de73b04cbbda735a71f14c19e241a6.zip |
memcpy vs memmove: memmove correctly handles overlapping source and destination memory buffers, but is slower than memcpy in many implementations. When memory buffers don't overlap, memcpy may be more efficient.
The DS2 SDK is such an implementation, so change many memmoves into memcpys.
Diffstat (limited to 'source/snaporig.cpp')
-rw-r--r-- | source/snaporig.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/snaporig.cpp b/source/snaporig.cpp index ac2045c..62674f2 100644 --- a/source/snaporig.cpp +++ b/source/snaporig.cpp @@ -313,12 +313,14 @@ static int ReadOrigSnapshot (STREAM snap) PPU.OBJSizeSelect = OrigPPU.OBJSizeSelect; PPU.OBJNameBase = OrigPPU.OBJNameBase; PPU.OAMReadFlip = OrigPPU.OAMReadFlip; - memmove (PPU.OAMData, OrigPPU.OAMData, sizeof (PPU.OAMData)); + // memmove converted: Different data segments [Neb] + memcpy (PPU.OAMData, OrigPPU.OAMData, sizeof (PPU.OAMData)); PPU.VTimerEnabled = OrigPPU.VTimerEnabled; PPU.HTimerEnabled = OrigPPU.HTimerEnabled; PPU.HTimerPosition = OrigPPU.HTimerPosition; PPU.Mosaic = OrigPPU.Mosaic; - memmove (PPU.BGMosaic, OrigPPU.BGMosaic, sizeof (PPU.BGMosaic)); + // memmove converted: Different data segments [Neb] + memcpy (PPU.BGMosaic, OrigPPU.BGMosaic, sizeof (PPU.BGMosaic)); PPU.Mode7HFlip = OrigPPU.Mode7HFlip; PPU.Mode7VFlip = OrigPPU.Mode7VFlip; PPU.Mode7Repeat = OrigPPU.Mode7Repeat; |