mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-06 07:38:05 -04:00
update platform code to suit recent PCSX related changes
git-svn-id: file:///home/notaz/opt/svn/PicoDrive@930 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
parent
e4bac17eb0
commit
21ebcfd322
13 changed files with 110 additions and 83 deletions
|
@ -46,7 +46,7 @@ OBJCOPY = $(CROSS)objcopy
|
|||
OBJS += plat.o asm_utils.o
|
||||
|
||||
# common
|
||||
OBJS += platform/common/emu.o platform/common/menu.o platform/common/fonts.o platform/common/config.o \
|
||||
OBJS += platform/common/emu.o platform/common/menu_pico.o platform/common/fonts.o platform/common/config.o \
|
||||
platform/common/arm_utils.o platform/common/mp3_helix.o platform/common/arm_linux.o \
|
||||
platform/common/readpng.o platform/common/input.o platform/common/main.o platform/common/mp3.o \
|
||||
platform/linux/fbdev.o platform/linux/in_evdev.o platform/linux/sndout_oss.o \
|
||||
|
@ -93,7 +93,7 @@ readme.txt: ../../tools/textfilter ../base_readme.txt
|
|||
PicoDrive.pxml: PicoDrive.pxml.template
|
||||
./make_pxml.sh PicoDrive.pxml.template PicoDrive.pxml
|
||||
|
||||
platform/common/menu.o: menu.c
|
||||
platform/common/menu_pico.o: platform/common/menu.c menu.c
|
||||
|
||||
# ----------- release -----------
|
||||
|
||||
|
|
|
@ -7,10 +7,8 @@ static const char h_cscaler[] = "Displays the scaler layer, you can resize it\
|
|||
"using d-pad or move it using R+d-pad";
|
||||
static const char *men_dummy[] = { NULL };
|
||||
char **pnd_filter_list;
|
||||
int g_layer_cx = 80, g_layer_cy = 0;
|
||||
int g_layer_cw = 640, g_layer_ch = 480;
|
||||
|
||||
static int menu_loop_cscaler(menu_id id, int keys)
|
||||
static int menu_loop_cscaler(int id, int keys)
|
||||
{
|
||||
unsigned int inp;
|
||||
|
||||
|
@ -89,7 +87,7 @@ void pnd_menu_init(void)
|
|||
struct dirent *ent;
|
||||
int i, count = 0;
|
||||
char **mfilters;
|
||||
char buff[64];
|
||||
char buff[64], *p;
|
||||
DIR *dir;
|
||||
|
||||
dir = opendir("/etc/pandora/conf/dss_fir");
|
||||
|
@ -106,7 +104,8 @@ void pnd_menu_init(void)
|
|||
perror("readdir");
|
||||
break;
|
||||
}
|
||||
if (strstr(ent->d_name, "_up_h"))
|
||||
p = strstr(ent->d_name, "_up");
|
||||
if (p != NULL && (p[3] == 0 || !strcmp(p + 3, "_h")))
|
||||
count++;
|
||||
}
|
||||
|
||||
|
@ -119,14 +118,13 @@ void pnd_menu_init(void)
|
|||
|
||||
rewinddir(dir);
|
||||
for (i = 0; (ent = readdir(dir)); ) {
|
||||
char *pos;
|
||||
size_t len;
|
||||
|
||||
pos = strstr(ent->d_name, "_up_h");
|
||||
if (pos == NULL)
|
||||
p = strstr(ent->d_name, "_up");
|
||||
if (p == NULL || (p[3] != 0 && strcmp(p + 3, "_h")))
|
||||
continue;
|
||||
|
||||
len = pos - ent->d_name;
|
||||
len = p - ent->d_name;
|
||||
if (len > sizeof(buff) - 1)
|
||||
continue;
|
||||
|
||||
|
|
|
@ -29,6 +29,8 @@
|
|||
#include <linux/input.h>
|
||||
|
||||
static struct vout_fbdev *main_fb, *layer_fb;
|
||||
// g_layer_* - in use, g_layer_c* - configured custom
|
||||
int g_layer_cx, g_layer_cy, g_layer_cw, g_layer_ch;
|
||||
static int g_layer_x, g_layer_y;
|
||||
static int g_layer_w = 320, g_layer_h = 240;
|
||||
static int g_osd_fps_x, g_osd_y, doing_bg_frame;
|
||||
|
@ -58,6 +60,30 @@ static const char * const pandora_gpio_keys[KEY_MAX + 1] = {
|
|||
[KEY_MENU] = "Pandora",
|
||||
};
|
||||
|
||||
struct in_default_bind in_evdev_defbinds[] =
|
||||
{
|
||||
/* MXYZ SACB RLDU */
|
||||
{ KEY_UP, IN_BINDTYPE_PLAYER12, 0 },
|
||||
{ KEY_DOWN, IN_BINDTYPE_PLAYER12, 1 },
|
||||
{ KEY_LEFT, IN_BINDTYPE_PLAYER12, 2 },
|
||||
{ KEY_RIGHT, IN_BINDTYPE_PLAYER12, 3 },
|
||||
{ KEY_S, IN_BINDTYPE_PLAYER12, 4 }, /* B */
|
||||
{ KEY_D, IN_BINDTYPE_PLAYER12, 5 }, /* C */
|
||||
{ KEY_A, IN_BINDTYPE_PLAYER12, 6 }, /* A */
|
||||
{ KEY_ENTER, IN_BINDTYPE_PLAYER12, 7 },
|
||||
{ KEY_BACKSLASH, IN_BINDTYPE_EMU, PEVB_MENU },
|
||||
{ KEY_SPACE, IN_BINDTYPE_EMU, PEVB_MENU },
|
||||
/* Pandora */
|
||||
{ KEY_PAGEDOWN, IN_BINDTYPE_PLAYER12, 4 },
|
||||
{ KEY_END, IN_BINDTYPE_PLAYER12, 5 },
|
||||
{ KEY_HOME, IN_BINDTYPE_PLAYER12, 6 },
|
||||
{ KEY_LEFTALT, IN_BINDTYPE_PLAYER12, 7 },
|
||||
{ KEY_RIGHTSHIFT,IN_BINDTYPE_EMU, PEVB_STATE_SAVE },
|
||||
{ KEY_RIGHTCTRL, IN_BINDTYPE_EMU, PEVB_STATE_LOAD },
|
||||
{ KEY_LEFTCTRL, IN_BINDTYPE_EMU, PEVB_MENU },
|
||||
{ 0, 0, 0 }
|
||||
};
|
||||
|
||||
static int get_cpu_clock(void)
|
||||
{
|
||||
FILE *f;
|
||||
|
@ -441,8 +467,8 @@ void emu_video_mode_change(int start_line, int line_count, int is_32cols)
|
|||
g_osd_y = fb_top + fb_h - 8;
|
||||
|
||||
pnd_setup_layer(1, g_layer_x, g_layer_y, g_layer_w, g_layer_h);
|
||||
vout_fbdev_resize(layer_fb, fb_w, fb_h, fb_left, fb_right, fb_top, fb_bottom, 0);
|
||||
vout_fbdev_clear(layer_fb);
|
||||
vout_fbdev_resize(layer_fb, fb_w, fb_h, 16, fb_left, fb_right, fb_top, fb_bottom, 3);
|
||||
plat_video_flip();
|
||||
}
|
||||
|
||||
|
@ -516,24 +542,6 @@ void plat_wait_till_us(unsigned int us_to)
|
|||
*/
|
||||
}
|
||||
|
||||
const char *plat_get_credits(void)
|
||||
{
|
||||
return "PicoDrive v" VERSION " (c) notaz, 2006-2010\n\n\n"
|
||||
"Credits:\n"
|
||||
"fDave: Cyclone 68000 core,\n"
|
||||
" base code of PicoDrive\n"
|
||||
"Reesy & FluBBa: DrZ80 core\n"
|
||||
"MAME devs: YM2612 and SN76496 cores\n"
|
||||
"Pandora team: Pandora\n"
|
||||
"Inder, ketchupgun: graphics\n"
|
||||
"\n"
|
||||
"special thanks (for docs, ideas):\n"
|
||||
" Charles MacDonald, Haze,\n"
|
||||
" Stephane Dallongeville,\n"
|
||||
" Lordus, Exophase, Rokas,\n"
|
||||
" Nemesis, Tasco Deluxe";
|
||||
}
|
||||
|
||||
#include "../linux/oshide.h"
|
||||
|
||||
void plat_early_init(void)
|
||||
|
@ -571,7 +579,7 @@ void plat_init(void)
|
|||
oshide_init();
|
||||
|
||||
w = h = 0;
|
||||
main_fb = vout_fbdev_init(main_fb_name, &w, &h, 0);
|
||||
main_fb = vout_fbdev_init(main_fb_name, &w, &h, 16, 2);
|
||||
if (main_fb == NULL) {
|
||||
fprintf(stderr, "couldn't init fb: %s\n", main_fb_name);
|
||||
exit(1);
|
||||
|
@ -582,7 +590,7 @@ void plat_init(void)
|
|||
g_menuscreen_ptr = vout_fbdev_flip(main_fb);
|
||||
|
||||
w = 320; h = 240;
|
||||
layer_fb = vout_fbdev_init(layer_fb_name, &w, &h, 0);
|
||||
layer_fb = vout_fbdev_init(layer_fb_name, &w, &h, 16, 3);
|
||||
if (layer_fb == NULL) {
|
||||
fprintf(stderr, "couldn't init fb: %s\n", layer_fb_name);
|
||||
goto fail0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue