ROM load progress bar
[picodrive.git] / platform / gp2x / gp2x.c
index d6a701c..c0396d9 100644 (file)
@@ -159,10 +159,11 @@ void gp2x_video_wait_vsync(void)
 \r
 void gp2x_memcpy_buffers(int buffers, void *data, int offset, int len)\r
 {\r
-       if (buffers & (1<<0)) memcpy((char *)gp2x_screens[0] + offset, data, len);\r
-       if (buffers & (1<<1)) memcpy((char *)gp2x_screens[1] + offset, data, len);\r
-       if (buffers & (1<<2)) memcpy((char *)gp2x_screens[2] + offset, data, len);\r
-       if (buffers & (1<<3)) memcpy((char *)gp2x_screens[3] + offset, data, len);\r
+       char *dst;\r
+       if (buffers & (1<<0)) { dst = (char *)gp2x_screens[0] + offset; if (dst != data) memcpy(dst, data, len); }\r
+       if (buffers & (1<<1)) { dst = (char *)gp2x_screens[1] + offset; if (dst != data) memcpy(dst, data, len); }\r
+       if (buffers & (1<<2)) { dst = (char *)gp2x_screens[2] + offset; if (dst != data) memcpy(dst, data, len); }\r
+       if (buffers & (1<<3)) { dst = (char *)gp2x_screens[3] + offset; if (dst != data) memcpy(dst, data, len); }\r
 }\r
 \r
 \r