unsigned long gp2x_joystick_read(int allow_usb_joy)\r
{\r
int i;\r
- unsigned long value=(gp2x_memregs[0x1198>>1] & 0x00FF);\r
+ unsigned long value=(gp2x_memregs[0x1198>>1] & 0x00FF); // GPIO M\r
if(value==0xFD) value=0xFA;\r
if(value==0xF7) value=0xEB;\r
if(value==0xDF) value=0xAF;\r
if(value==0x7F) value=0xBE;\r
- value = ~((gp2x_memregs[0x1184>>1] & 0xFF00) | value | (gp2x_memregs[0x1186>>1] << 16));\r
+ value = ~((gp2x_memregs[0x1184>>1] & 0xFF00) | value | (gp2x_memregs[0x1186>>1] << 16)); // C D\r
\r
if (allow_usb_joy && num_of_joys > 0) {\r
// check the usb joy as well..\r
gp2x_memregs[0x3B48>>1] = ((yes&1) << 7) | (bank & 0x03);\r
}\r
\r
+static void proc_set(const char *path, const char *val)\r
+{\r
+ FILE *f;\r
+ char tmp[16];\r
+\r
+ f = fopen(path, "w");\r
+ if (f == NULL) {\r
+ printf("failed to open: %s\n", path);\r
+ return;\r
+ }\r
+\r
+ fprintf(f, "0\n");\r
+ fclose(f);\r
+\r
+ printf("\"%s\" is set to: ", path);\r
+ f = fopen(path, "r");\r
+ if (f == NULL) {\r
+ printf("(open failed)\n");\r
+ return;\r
+ }\r
+\r
+ fgets(tmp, sizeof(tmp), f);\r
+ printf("%s", tmp);\r
+ fclose(f);\r
+}\r
\r
\r
/* common */\r
}\r
gp2x_memregl = (unsigned long *) gp2x_memregs;\r
\r
+ gp2x_memregs[0x2880>>1] &= ~0x383; // disable cursor, subpict, osd, video layers\r
+\r
gp2x_screens[0] = mmap(0, FRAMEBUFF_WHOLESIZE, PROT_WRITE, MAP_SHARED, memdev, FRAMEBUFF_ADDR0);\r
if(gp2x_screens[0] == MAP_FAILED)\r
{\r
/* init usb joys -GnoStiC */\r
gp2x_usbjoy_init();\r
\r
+ /* disable Linux read-ahead */\r
+ proc_set("/proc/sys/vm/max-readahead", "0\n");\r
+ proc_set("/proc/sys/vm/min-readahead", "0\n");\r
+\r
printf("exitting init()\n"); fflush(stdout);\r
}\r
\r