#define FRAMEBUFF_ADDR3 0x4000000-640*480*4\r
\r
static const int gp2x_screenaddrs[] = { FRAMEBUFF_ADDR0, FRAMEBUFF_ADDR1, FRAMEBUFF_ADDR2, FRAMEBUFF_ADDR3 };\r
+static unsigned short gp2x_screenaddr_old[4];\r
\r
\r
/* video stuff */\r
gp2x_screen = gp2x_screens[0];\r
screensel = 0;\r
\r
+ gp2x_screenaddr_old[0] = gp2x_memregs[0x290E>>1];\r
+ gp2x_screenaddr_old[1] = gp2x_memregs[0x2910>>1];\r
+ gp2x_screenaddr_old[2] = gp2x_memregs[0x2912>>1];\r
+ gp2x_screenaddr_old[3] = gp2x_memregs[0x2914>>1];\r
+\r
// snd\r
mixerdev = open("/dev/mixer", O_RDWR);\r
if (mixerdev == -1)\r
Pause940(1);\r
\r
gp2x_video_changemode(15);\r
+ gp2x_memregs[0x290E>>1] = gp2x_screenaddr_old[0];\r
+ gp2x_memregs[0x2910>>1] = gp2x_screenaddr_old[1];\r
+ gp2x_memregs[0x2912>>1] = gp2x_screenaddr_old[2];\r
+ gp2x_memregs[0x2914>>1] = gp2x_screenaddr_old[3];\r
+\r
munmap(gp2x_screens[0], 640*480*4);\r
munmap((void *)gp2x_memregs, 0x10000);\r
close(memdev);\r