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=57031d8f899079bedd98e7147967139151752d94;hb=c19aba432521b6ab1d52948ab004622d67ba30f7;hpb=ddc0a02a811034532a8e013c14091b61a89439ba diff --git a/frontend/plat_pollux.c b/frontend/plat_pollux.c index 57031d8f..1dafb7cd 100644 --- a/frontend/plat_pollux.c +++ b/frontend/plat_pollux.c @@ -440,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; @@ -653,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,