mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 07:17:45 -04:00
psp, enable using new pspdev, fix some bugs
This commit is contained in:
parent
0e67fb6011
commit
a2d1369cb5
5 changed files with 16 additions and 16 deletions
|
@ -1 +1 @@
|
||||||
Subproject commit f5b32cc30c98b1772cdfd4ed1ff5476dced770cc
|
Subproject commit 1889fe241c1c6059f8955a331dd07f08a47cd0b4
|
|
@ -140,7 +140,6 @@ static struct {
|
||||||
{ PSP_CTRL_SQUARE, PBTN_MA3 },
|
{ PSP_CTRL_SQUARE, PBTN_MA3 },
|
||||||
{ PSP_CTRL_LTRIGGER, PBTN_L },
|
{ PSP_CTRL_LTRIGGER, PBTN_L },
|
||||||
{ PSP_CTRL_RTRIGGER, PBTN_R },
|
{ PSP_CTRL_RTRIGGER, PBTN_R },
|
||||||
{ PSP_CTRL_SELECT, PBTN_MENU },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#define KEY_PBTN_MAP_SIZE (sizeof(key_pbtn_map) / sizeof(key_pbtn_map[0]))
|
#define KEY_PBTN_MAP_SIZE (sizeof(key_pbtn_map) / sizeof(key_pbtn_map[0]))
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
|
|
||||||
static const char *men_hscaling_opts[] = { "OFF", "4:3", "wide", "fullscreen", NULL };
|
static const char *men_hscaling_opts[] = { "OFF", "4:3", "wide", "fullscreen", NULL };
|
||||||
static const char *men_vscaling_opts[] = { "OFF", "4:3", "fullscreen", NULL };
|
static const char *men_vscaling_opts[] = { "OFF", "4:3", "fullscreen", NULL };
|
||||||
static const char *men_filter_opts[] = { "nearest", "bilinear" };
|
static const char *men_filter_opts[] = { "nearest", "bilinear", NULL };
|
||||||
|
|
||||||
#define MENU_OPTIONS_GFX \
|
#define MENU_OPTIONS_GFX \
|
||||||
mee_enum ("Horizontal scaling", MA_OPT_SCALING, currentConfig.scaling, men_hscaling_opts), \
|
mee_enum ("Horizontal scaling", MA_OPT_SCALING, currentConfig.scaling, men_hscaling_opts), \
|
||||||
mee_enum ("Vertical scaling", MA_OPT_VSCALING, currentConfig.vscaling, men_vscaling_opts), \
|
mee_enum ("Vertical scaling", MA_OPT_VSCALING, currentConfig.vscaling, men_vscaling_opts), \
|
||||||
mee_enum_h ("Scaler type", MA_OPT3_FILTERING, currentConfig.filter, men_filter_opts, NULL), \
|
mee_enum ("Scaler type", MA_OPT3_FILTERING, currentConfig.filter, men_filter_opts), \
|
||||||
mee_range ("Gamma adjustment", MA_OPT3_GAMMAA, currentConfig.gamma, -4, 16), \
|
mee_range ("Gamma adjustment", MA_OPT3_GAMMAA, currentConfig.gamma, -4, 16), \
|
||||||
mee_range ("Black level", MA_OPT3_BLACKLVL, currentConfig.gamma2, 0, 2), \
|
mee_range ("Black level", MA_OPT3_BLACKLVL, currentConfig.gamma2, 0, 2), \
|
||||||
mee_onoff ("Wait for vsync", MA_OPT3_VSYNC, currentConfig.EmuOpt, EOPT_VSYNC), \
|
mee_onoff ("Wait for vsync", MA_OPT3_VSYNC, currentConfig.EmuOpt, EOPT_VSYNC), \
|
||||||
|
|
|
@ -117,7 +117,7 @@ int plat_get_root_dir(char *dst, int len)
|
||||||
/* base directory for emulator resources */
|
/* base directory for emulator resources */
|
||||||
int plat_get_skin_dir(char *dst, int len)
|
int plat_get_skin_dir(char *dst, int len)
|
||||||
{
|
{
|
||||||
if (len > 4)
|
if (len > 5)
|
||||||
strcpy(dst, "skin/");
|
strcpy(dst, "skin/");
|
||||||
else if (len > 0)
|
else if (len > 0)
|
||||||
*dst = 0;
|
*dst = 0;
|
||||||
|
@ -127,7 +127,7 @@ int plat_get_skin_dir(char *dst, int len)
|
||||||
/* top directory for rom images */
|
/* top directory for rom images */
|
||||||
int plat_get_data_dir(char *dst, int len)
|
int plat_get_data_dir(char *dst, int len)
|
||||||
{
|
{
|
||||||
if (len > 4)
|
if (len > 5)
|
||||||
strcpy(dst, "ms0:/");
|
strcpy(dst, "ms0:/");
|
||||||
else if (len > 0)
|
else if (len > 0)
|
||||||
*dst = 0;
|
*dst = 0;
|
||||||
|
@ -237,7 +237,7 @@ struct plat_target plat_target = {
|
||||||
// .hwfilters = plat_hwfilters,
|
// .hwfilters = plat_hwfilters,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifndef DT_DIR
|
||||||
/* replacement libc stuff */
|
/* replacement libc stuff */
|
||||||
|
|
||||||
int alphasort(const struct dirent **a, const struct dirent **b)
|
int alphasort(const struct dirent **a, const struct dirent **b)
|
||||||
|
@ -319,14 +319,6 @@ end:
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
int _flush_cache (char *addr, const int size, const int op)
|
|
||||||
{
|
|
||||||
//sceKernelDcacheWritebackAll();
|
|
||||||
sceKernelDcacheWritebackRange(addr, size);
|
|
||||||
sceKernelIcacheInvalidateRange(addr, size);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* stubs for libflac (embedded in libchdr) */
|
/* stubs for libflac (embedded in libchdr) */
|
||||||
#include <utime.h>
|
#include <utime.h>
|
||||||
#include <malloc.h>
|
#include <malloc.h>
|
||||||
|
@ -336,3 +328,12 @@ int chmod(const char *pathname, mode_t mode) { return -1; }
|
||||||
int utime(const char *filename, const struct utimbuf *times) { return -1; }
|
int utime(const char *filename, const struct utimbuf *times) { return -1; }
|
||||||
int posix_memalign(void **memptr, size_t alignment, size_t size)
|
int posix_memalign(void **memptr, size_t alignment, size_t size)
|
||||||
{ *memptr = memalign(alignment, size); return 0; }
|
{ *memptr = memalign(alignment, size); return 0; }
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int _flush_cache (char *addr, const int size, const int op)
|
||||||
|
{
|
||||||
|
//sceKernelDcacheWritebackAll();
|
||||||
|
sceKernelDcacheWritebackRange(addr, size);
|
||||||
|
sceKernelIcacheInvalidateRange(addr, size);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
|
@ -196,7 +196,7 @@ void psp_video_flip(int wait_vsync, int other)
|
||||||
{
|
{
|
||||||
unsigned long fb = (unsigned long)psp_screen & ~0x40000000;
|
unsigned long fb = (unsigned long)psp_screen & ~0x40000000;
|
||||||
if (other) fb ^= 0x44000;
|
if (other) fb ^= 0x44000;
|
||||||
if (wait_vsync) sceDisplayWaitVblankStart();
|
//if (wait_vsync) sceDisplayWaitVblankStart();
|
||||||
sceDisplaySetFrameBuf((void *)fb, 512, PSP_DISPLAY_PIXEL_FORMAT_565,
|
sceDisplaySetFrameBuf((void *)fb, 512, PSP_DISPLAY_PIXEL_FORMAT_565,
|
||||||
wait_vsync ? PSP_DISPLAY_SETBUF_IMMEDIATE : PSP_DISPLAY_SETBUF_NEXTFRAME);
|
wait_vsync ? PSP_DISPLAY_SETBUF_IMMEDIATE : PSP_DISPLAY_SETBUF_NEXTFRAME);
|
||||||
current_screen ^= 1;
|
current_screen ^= 1;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue