#include "common/menu.h"
#include "linux/fbdev.h"
-#include "linux/oshide.h"
+#include "linux/xenv.h"
#include "plugin_lib.h"
#include "pl_gun_ts.h"
#include "omap.h"
-#include "pandora.h"
+#include "plat.h"
static struct vout_fbdev *main_fb;
struct vout_fbdev *layer_fb;
-static int omap_setup_layer_(int fd, int enabled, int x, int y, int w, int h, int first_call)
+static int omap_setup_layer_(int fd, int enabled, int x, int y, int w, int h)
{
struct omapfb_plane_info pi = { 0, };
struct omapfb_mem_info mi = { 0, };
perror("SETUP_PLANE");
}
- if (first_call) {
+ if (mi.size < 640*512*3*3) {
mi.size = 640*512*3*3;
ret = ioctl(fd, OMAPFB_SETUP_MEM, &mi);
if (ret != 0) {
pl_set_gun_rect(g_layer_x, g_layer_y, g_layer_w, g_layer_h);
return omap_setup_layer_(vout_fbdev_get_fd(layer_fb), enabled,
- g_layer_x, g_layer_y, g_layer_w, g_layer_h, 0);
+ g_layer_x, g_layer_y, g_layer_w, g_layer_h);
}
void plat_video_menu_enter(int is_rom_loaded)
{
+ int dummy;
+
g_menuscreen_ptr = vout_fbdev_resize(main_fb,
g_menuscreen_w, g_menuscreen_h, 16, 0, 0, 0, 0, 3);
if (g_menuscreen_ptr == NULL)
fprintf(stderr, "warning: vout_fbdev_resize failed\n");
+
+ // hmh
+ xenv_update(&dummy);
}
void plat_video_menu_begin(void)
fprintf(stderr, "warning: vout_fbdev_resize failed\n");
}
+void plat_minimize(void)
+{
+ omap_enable_layer(0);
+ xenv_minimize();
+ omap_enable_layer(1);
+}
+
+void plat_step_volume(int is_up)
+{
+}
+
+void plat_trigger_vibrate(void)
+{
+}
+
void plat_init(void)
{
const char *main_fb_name, *layer_fb_name;
exit(1);
}
- ret = omap_setup_layer_(fd, 0, g_layer_x, g_layer_y, g_layer_w, g_layer_h, 1);
+ ret = omap_setup_layer_(fd, 0, g_layer_x, g_layer_y, g_layer_w, g_layer_h);
close(fd);
if (ret != 0) {
fprintf(stderr, "failed to set up layer, exiting.\n");
exit(1);
}
- oshide_init();
+ xenv_init("PCSX-ReARMed");
w = h = 0;
main_fb = vout_fbdev_init(main_fb_name, &w, &h, 16, 2);
g_menuscreen_w = w;
g_menuscreen_h = h;
g_menuscreen_ptr = vout_fbdev_flip(main_fb);
+ pl_rearmed_cbs.screen_w = w;
+ pl_rearmed_cbs.screen_h = h;
w = 640;
- h = 512; // ??
+ h = 512;
layer_fb = vout_fbdev_init(layer_fb_name, &w, &h, 16, 3);
if (layer_fb == NULL) {
fprintf(stderr, "couldn't init fb: %s\n", layer_fb_name);
}
g_menubg_ptr = temp_frame;
- // hmh
- pandora_rescan_inputs();
+ plat_pandora_init(); // XXX
return;
omap_enable_layer(0);
vout_fbdev_finish(layer_fb);
vout_fbdev_finish(main_fb);
- oshide_finish();
+ xenv_finish();
}