+static void RunEventsPico(unsigned int events, unsigned int gp2x_keys)\r
+{\r
+ if (events & (1 << 3)) {\r
+ pico_inp_mode++;\r
+ if (pico_inp_mode > 2) pico_inp_mode = 0;\r
+ switch (pico_inp_mode) {\r
+ case 0: strcpy(noticeMsg, "Input: Joytick "); break;\r
+ case 1: strcpy(noticeMsg, "Input: Pen on Storyware"); break;\r
+ case 2: strcpy(noticeMsg, "Input: Pen on Pad "); break;\r
+ }\r
+ gettimeofday(¬iceMsgTime, 0);\r
+ }\r
+ if (events & (1 << 4)) {\r
+ PicoPicoPage--;\r
+ if (PicoPicoPage < 0) PicoPicoPage = 0;\r
+ sprintf(noticeMsg, "Page %i ", PicoPicoPage);\r
+ gettimeofday(¬iceMsgTime, 0);\r
+ }\r
+ if (events & (1 << 5)) {\r
+ PicoPicoPage++;\r
+ if (PicoPicoPage > 6) PicoPicoPage = 6;\r
+ sprintf(noticeMsg, "Page %i ", PicoPicoPage);\r
+ gettimeofday(¬iceMsgTime, 0);\r
+ }\r
+ if (pico_inp_mode != 0) {\r
+ PicoPad[0] &= ~0x0f; // release UDLR\r
+ if (gp2x_keys & GP2X_UP) { pico_pen_y--; if (pico_pen_y < 0) pico_pen_y = 0; }\r
+ if (gp2x_keys & GP2X_DOWN) { pico_pen_y++; if (pico_pen_y > 251) pico_pen_y = 251; }\r
+ if (gp2x_keys & GP2X_LEFT) { pico_pen_x--; if (pico_pen_x < 0) pico_pen_x = 0; }\r
+ if (gp2x_keys & GP2X_RIGHT){ pico_pen_x++; if (pico_pen_x > 353) pico_pen_x = 353; }\r
+ PicoPicoPenPos[0] = 0x03c + pico_pen_x;\r
+ PicoPicoPenPos[1] = pico_inp_mode == 1 ? (0x2f8 + pico_pen_y) : (0x1fc + pico_pen_y);\r
+ }\r
+}\r
+\r