-static void *pl_vout_set_mode(int w, int h, int bpp)
-{
- static int old_w, old_h, old_bpp;
- int poff_w, poff_h;
-
- if (!w || !h || !bpp || (w == old_w && h == old_h && bpp == old_bpp))
- return NULL;
-
- printf("psx mode: %dx%d@%d\n", w, h, bpp);
-
- psx_step = 1;
- if (h > 256) {
- psx_step = 2;
- h /= 2;
- }
-
- poff_w = poff_h = 0;
- if (w > 320) {
- poff_w = w / 2 - 320/2;
- w = 320;
- }
- if (h > 240) {
- poff_h = h / 2 - 240/2;
- h = 240;
- }
- fb_offset_x = 320/2 - w / 2;
- fb_offset_y = 240/2 - h / 2;
-
- psx_offset = poff_h * 1024 + poff_w;
- psx_width = w;
- psx_height = h;
- psx_bpp = bpp;
-
- if (fb_offset_x || fb_offset_y) {
- // not fullscreen, must clear borders
- 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);
- }
-
- pollux_changemode(bpp, 1);
-
- return NULL;
-}
-