Finish migrating to new mem handling. Make carthw db external.
[libpicofe.git] / pandora / pandora.c
CommitLineData
fe017393 1#include <stdio.h>\r
2#include <stdlib.h>\r
3#include <stdarg.h>\r
4#include <string.h>\r
5#include <unistd.h>\r
6#include <sys/mman.h>\r
7#include <sys/types.h>\r
8#include <sys/stat.h>\r
f7c40368 9#include <linux/fb.h>\r
fe017393 10#include <fcntl.h>\r
11#include <errno.h>\r
12\r
b3972d82 13#include "../linux/sndout_oss.h"\r
095a240b 14#include "../common/arm_linux.h"\r
7fd581f4 15#include "../common/emu.h"\r
16#include "pandora.h"\r
fe017393 17\r
b3972d82 18static int fbdev = -1;\r
fe017393 19\r
de9b1274 20#define SCREEN_MAP_SIZE (800*480*2)\r
f7c40368 21static void *screen = MAP_FAILED;\r
fe017393 22\r
23/* common */\r
7fd581f4 24void pnd_init(void)\r
fe017393 25{\r
26 printf("entering init()\n"); fflush(stdout);\r
27\r
8add01a3 28 fbdev = open("/dev/fb0", O_RDWR);\r
29 if (fbdev == -1)\r
30 {\r
b3972d82 31 perror("open(\"/dev/fb0\")");\r
f7c40368 32 exit(1);\r
33 }\r
34\r
492d353a 35 screen = mmap(0, SCREEN_MAP_SIZE, PROT_WRITE|PROT_READ, MAP_SHARED, fbdev, 0);\r
36 if (screen == MAP_FAILED)\r
37 {\r
b3972d82 38 perror("mmap(fbptr)");\r
492d353a 39 exit(1);\r
40 }\r
41 printf("fbptr %p\n", screen);\r
7fd581f4 42 g_screen_ptr = screen;\r
fe017393 43\r
fe017393 44 // snd\r
b3972d82 45 sndout_oss_init();\r
fe017393 46\r
fe017393 47 printf("exitting init()\n"); fflush(stdout);\r
48}\r
49\r
7fd581f4 50void pnd_exit(void)\r
fe017393 51{\r
f7c40368 52 if (screen != MAP_FAILED)\r
53 munmap(screen, SCREEN_MAP_SIZE);\r
7fd581f4 54 if (fbdev >= 0)\r
55 close(fbdev);\r
fe017393 56\r
b3972d82 57 sndout_oss_exit();\r
fe017393 58\r
492d353a 59 printf("all done");\r
fe017393 60}\r
61\r
62/* lprintf */\r
63void lprintf(const char *fmt, ...)\r
64{\r
65 va_list vl;\r
66\r
67 va_start(vl, fmt);\r
68 vprintf(fmt, vl);\r
69 va_end(vl);\r
70}\r
71\r
72\r
73/* fake GP2X */\r
7fd581f4 74/*\r
fe017393 75void set_gamma(int g100, int A_SNs_curve) {}\r
76void set_FCLK(unsigned MHZ) {}\r
77void set_LCD_custom_rate(int rate) {}\r
78void unset_LCD_custom_rate(void) {}\r
492d353a 79void Pause940(int yes) {}\r
80void Reset940(int yes, int bank) {}\r
7fd581f4 81*/\r