X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=gp2x%2Fsoc.c;fp=gp2x%2Fsoc.c;h=0d1b8a35515bbbb25cf5b87c8d2909f534395533;hb=7ceadd9993ea84078e9d74d79215419e06496f90;hp=3d4ad0415b89e11da001048038e73aad5849e90c;hpb=c54d04fd84f59c60c6ecdbd2502fbda5de735b4b;p=libpicofe.git diff --git a/gp2x/soc.c b/gp2x/soc.c index 3d4ad04..0d1b8a3 100644 --- a/gp2x/soc.c +++ b/gp2x/soc.c @@ -19,27 +19,13 @@ #include "soc.h" -void (*gp2x_video_flip)(void); -void (*gp2x_video_flip2)(void); -void (*gp2x_video_changemode_ll)(int bpp); -void (*gp2x_video_setpalette)(int *pal, int len); -void (*gp2x_video_RGB_setscaling)(int ln_offs, int W, int H); -void (*gp2x_video_wait_vsync)(void); - -void (*gp2x_set_cpuclk)(unsigned int mhz); - -void (*set_lcd_custom_rate)(int is_pal); -void (*unset_lcd_custom_rate)(void); -void (*set_lcd_gamma)(int g100, int A_SNs_curve); - -void (*set_ram_timings)(void); -void (*unset_ram_timings)(void); -int (*gp2x_read_battery)(void); +volatile unsigned short *memregs; +volatile unsigned int *memregl; +int memdev = -1; unsigned int (*gp2x_get_ticks_ms)(void); unsigned int (*gp2x_get_ticks_us)(void); - gp2x_soc_t soc_detect(void) { volatile unsigned short *memregs; @@ -47,26 +33,27 @@ gp2x_soc_t soc_detect(void) static gp2x_soc_t ret = -2; int pollux_chipname[0x30/4 + 1]; char *pollux_chipname_c = (char *)pollux_chipname; - int memdev; + int memdev_tmp; int i; if ((int)ret != -2) /* already detected */ return ret; - memdev = open("/dev/mem", O_RDONLY); - if (memdev == -1) + memdev_tmp = open("/dev/mem", O_RDONLY); + if (memdev_tmp == -1) { perror("open(/dev/mem)"); ret = -1; return -1; } - memregs = mmap(0, 0x20000, PROT_READ, MAP_SHARED, memdev, 0xc0000000); + memregs = mmap(0, 0x20000, PROT_READ, MAP_SHARED, + memdev_tmp, 0xc0000000); if (memregs == MAP_FAILED) { perror("mmap(memregs)"); - close(memdev); + close(memdev_tmp); ret = -1; return -1; } @@ -106,7 +93,7 @@ gp2x_soc_t soc_detect(void) not_pollux_like: out: munmap((void *)memregs, 0x20000); - close(memdev); + close(memdev_tmp); return ret; }