initial pandora port, with hardware scaling and stuff
[gpsp.git] / gp2x / gp2x.h
index f0b2914..97b8d3c 100644 (file)
@@ -15,36 +15,42 @@ enum
   GP2X_B        = 1 << 13,
   GP2X_X        = 1 << 14,
   GP2X_Y        = 1 << 15,
+#ifdef WIZ_BUILD
+  GP2X_VOL_UP   = 1 << 16,
+  GP2X_VOL_DOWN = 1 << 17,
+  GP2X_PUSH     = 1 << 18,
+#else
   GP2X_VOL_DOWN = 1 << 22,
   GP2X_VOL_UP   = 1 << 23,
-  GP2X_PUSH     = 1 << 27
+  GP2X_PUSH     = 1 << 27,
+#endif
+  GP2X_VOL_MIDDLE = (1 << 24), // fake, menu enter
 };
 
+void gpsp_plat_init(void);
+void gpsp_plat_quit(void);
+
+u32 gpsp_plat_joystick_read(void);
+u32 gpsp_plat_buttons_to_cursor(u32 buttons);
 
-extern u32 gpsp_gp2x_dev_audio;
-extern u32 gpsp_gp2x_dev;
-extern volatile u16 *gpsp_gp2x_memregs;
-extern volatile u32 *gpsp_gp2x_memregl;
+#define PLAT_BUTTON_COUNT 16
+extern u32 button_plat_mask_to_config[PLAT_BUTTON_COUNT];
 
 void gp2x_sound_volume(u32 volume_up);
 void gp2x_quit();
 
-// call this at first
-void cpuctrl_init(void);
-void save_system_regs(void);
-void cpuctrl_deinit(void);
-void set_display_clock_div(unsigned div);
-
 void set_FCLK(u32 MHZ);
-// 0 to 7 divider (freq = FCLK / (1 + div))
-void set_920_Div(u16 div);
-void set_DCLK_Div(u16 div);
 
-void Disable_940(void);
-void gp2x_video_wait_vsync(void);
-unsigned short get_920_Div();
-void set_940_Div(u16 div);
+void upscale_aspect(u16 *dst, u16 *src);
+
+/* wiz only */
+extern void *gpsp_gp2x_screen;
+void fb_use_buffers(int count);
+void pollux_video_flip();
+void wiz_lcd_set_portrait(int y);
+u32  wiz_load_gamepak(char *name);
 
-s32 gp2x_load_mmuhack();
+void do_rotated_blit(void *dst, void *linesx4, u32 y);
+void upscale_aspect_row(void *dst, void *linesx3, u32 row);
 
 #endif