notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge pull request #178 from GTechAlpha/rp_fix_sw_fb
[pcsx_rearmed.git]
/
frontend
/
libretro.c
diff --git
a/frontend/libretro.c
b/frontend/libretro.c
index
70dc171
..
92bf1b9
100644
(file)
--- a/
frontend/libretro.c
+++ b/
frontend/libretro.c
@@
-131,24
+131,26
@@
static void init_memcard(char *mcd_data)
}
}
}
}
-static void
vout_set_mode(int w, int h, int raw_w, int raw_h, int bpp
)
+static void
set_vout_fb(
)
{
{
- vout_width = w;
- vout_height = h;
-
struct retro_framebuffer fb = {0};
fb.width = vout_width;
fb.height = vout_height;
fb.access_flags = RETRO_MEMORY_ACCESS_WRITE;
struct retro_framebuffer fb = {0};
fb.width = vout_width;
fb.height = vout_height;
fb.access_flags = RETRO_MEMORY_ACCESS_WRITE;
- vout_buf_ptr = vout_buf;
-
if (environ_cb(RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER, &fb) && fb.format == RETRO_PIXEL_FORMAT_RGB565)
if (environ_cb(RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER, &fb) && fb.format == RETRO_PIXEL_FORMAT_RGB565)
- {
- vout_buf_ptr = (uint16_t*)fb.data;
- }
+ vout_buf_ptr = (uint16_t*)fb.data;
+ else
+ vout_buf_ptr = vout_buf;
+}
+static void vout_set_mode(int w, int h, int raw_w, int raw_h, int bpp)
+{
+ vout_width = w;
+ vout_height = h;
+
+ set_vout_fb();
}
#ifndef FRONTEND_SUPPORTS_RGB565
}
#ifndef FRONTEND_SUPPORTS_RGB565
@@
-1575,6
+1577,8
@@
void retro_run(void)
video_cb((vout_fb_dirty || !vout_can_dupe || !duping_enable) ? vout_buf_ptr : NULL,
vout_width, vout_height, vout_width * 2);
vout_fb_dirty = 0;
video_cb((vout_fb_dirty || !vout_can_dupe || !duping_enable) ? vout_buf_ptr : NULL,
vout_width, vout_height, vout_width * 2);
vout_fb_dirty = 0;
+
+ set_vout_fb();
}
static bool try_use_bios(const char *path)
}
static bool try_use_bios(const char *path)
@@
-1619,7
+1623,7
@@
static bool find_any_bios(const char *dirpath, char *path, size_t path_size)
if (strncasecmp(ent->d_name, "scph", 4) != 0)
continue;
if (strncasecmp(ent->d_name, "scph", 4) != 0)
continue;
- snprintf(path, path_size, "%s
/%s", dirpath
, ent->d_name);
+ snprintf(path, path_size, "%s
%c%s", dirpath, SLASH
, ent->d_name);
ret = try_use_bios(path);
if (ret)
break;
ret = try_use_bios(path);
if (ret)
break;
@@
-1639,7
+1643,10
@@
static void check_system_specs(void)
void retro_init(void)
{
void retro_init(void)
{
- const char *bios[] = { "SCPH101", "SCPH7001", "SCPH5501", "SCPH1001" };
+ const char *bios[] = {
+ "SCPH101", "SCPH7001", "SCPH5501", "SCPH1001",
+ "scph101", "scph7001", "scph5501", "scph1001"
+ };
const char *dir;
char path[256];
int i, ret;
const char *dir;
char path[256];
int i, ret;
@@
-1689,7
+1696,7
@@
void retro_init(void)
snprintf(Config.BiosDir, sizeof(Config.BiosDir), "%s", dir);
for (i = 0; i < sizeof(bios) / sizeof(bios[0]); i++) {
snprintf(Config.BiosDir, sizeof(Config.BiosDir), "%s", dir);
for (i = 0; i < sizeof(bios) / sizeof(bios[0]); i++) {
- snprintf(path, sizeof(path), "%s
/%s.bin", dir
, bios[i]);
+ snprintf(path, sizeof(path), "%s
%c%s.bin", dir, SLASH
, bios[i]);
found_bios = try_use_bios(path);
if (found_bios)
break;
found_bios = try_use_bios(path);
if (found_bios)
break;