X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=pcsx_rearmed.git;a=blobdiff_plain;f=frontend%2Fplat_pollux.c;h=1dafb7cd349c54e533594aa700def6987ebd94db;hp=8395e54bec89f2271a9ef4c392253c04343a0e53;hb=f6edea0ca83c3c415fa338e3c2d9e1f3d99cc228;hpb=ab423939f0af46542bb23000e77a30976c8c2335 diff --git a/frontend/plat_pollux.c b/frontend/plat_pollux.c index 8395e54b..1dafb7cd 100644 --- a/frontend/plat_pollux.c +++ b/frontend/plat_pollux.c @@ -258,6 +258,7 @@ void plat_video_menu_leave(void) memset(g_menuscreen_ptr, 0, 320*240 * psx_bpp/8); g_menuscreen_ptr = fb_flip(); + memset(g_menuscreen_ptr, 0, 320*240 * psx_bpp/8); } void *plat_prepare_screenshot(int *w, int *h, int *bpp) @@ -439,7 +440,7 @@ void *plat_gvideo_set_mode(int *w_, int *h_, int *bpp_) } fb_offset_y = 240/2 - h / 2; - psx_offset_x = poff_w; + psx_offset_x = poff_w * psx_bpp/8 / 2; psx_offset_y = poff_h; psx_src_width = w; psx_src_height = h; @@ -652,6 +653,22 @@ void plat_finish(void) close(memdev); } +/* WIZ RAM lack workaround */ +void *memtab_mmap(void *addr, size_t size) +{ + void *ret; + + if (gp2x_dev_id != GP2X_DEV_WIZ) + return mmap(addr, size, PROT_READ | PROT_WRITE, + MAP_PRIVATE | MAP_ANONYMOUS | MAP_FIXED, -1, 0); + + ret = mmap(addr, size, PROT_READ | PROT_WRITE, + MAP_SHARED | MAP_FIXED, memdev, 0x03000000); + if (ret != MAP_FAILED) + warm_change_cb_range(WCB_C_BIT | WCB_B_BIT, 1, ret, size); + return ret; +} + /* Caanoo stuff, perhaps move later */ static const char * const caanoo_keys[KEY_MAX + 1] = { [0 ... KEY_MAX] = NULL,