mirror of
https://github.com/libretro/RetroArch
synced 2025-04-07 13:23:32 +00:00
(PSP) Some cleanups
This commit is contained in:
parent
07e28ebb8a
commit
f1811644c4
@ -83,10 +83,11 @@ static void psp_input_poll(void *data)
|
|||||||
|
|
||||||
SceCtrlData state_tmp;
|
SceCtrlData state_tmp;
|
||||||
int ret = CtrlReadBufferPositive(0, &state_tmp, 1);
|
int ret = CtrlReadBufferPositive(0, &state_tmp, 1);
|
||||||
|
|
||||||
if (ret == SCE_OK)
|
|
||||||
{
|
|
||||||
state = 0;
|
state = 0;
|
||||||
|
|
||||||
|
if (ret != SCE_OK)
|
||||||
|
return;
|
||||||
|
|
||||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_LEFT) ? PSP_GAMEPAD_DPAD_LEFT : 0;
|
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_LEFT) ? PSP_GAMEPAD_DPAD_LEFT : 0;
|
||||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_DOWN) ? PSP_GAMEPAD_DPAD_DOWN : 0;
|
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_DOWN) ? PSP_GAMEPAD_DPAD_DOWN : 0;
|
||||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_RIGHT) ? PSP_GAMEPAD_DPAD_RIGHT : 0;
|
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_RIGHT) ? PSP_GAMEPAD_DPAD_RIGHT : 0;
|
||||||
@ -109,7 +110,6 @@ static void psp_input_poll(void *data)
|
|||||||
state |= (STATE_ANALOGRY(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_RSTICK_UP_MASK : 0;
|
state |= (STATE_ANALOGRY(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_RSTICK_UP_MASK : 0;
|
||||||
state |= (STATE_ANALOGRY(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_RSTICK_DOWN_MASK : 0;
|
state |= (STATE_ANALOGRY(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_RSTICK_DOWN_MASK : 0;
|
||||||
#endif
|
#endif
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int16_t psp_input_state(void *data, const struct retro_keybind **binds,
|
static int16_t psp_input_state(void *data, const struct retro_keybind **binds,
|
||||||
|
@ -47,22 +47,21 @@ static unsigned int __attribute__((aligned(16))) list[262144];
|
|||||||
|
|
||||||
static void init_texture(void *data, const video_info_t *video)
|
static void init_texture(void *data, const video_info_t *video)
|
||||||
{
|
{
|
||||||
psp1_video_t *vid = (psp1_video_t*)data;
|
psp1_video_t *psp = (psp1_video_t*)data;
|
||||||
|
|
||||||
sceGuInit();
|
sceGuInit();
|
||||||
sceGuStart(GU_DIRECT, list);
|
sceGuStart(GU_DIRECT, list);
|
||||||
|
|
||||||
sceGuDrawBuffer(vid->rgb32 ? GU_PSM_8888 : GU_PSM_5650, (void*)0, SCEGU_VRAM_WIDTH);
|
sceGuDrawBuffer(psp->rgb32 ? GU_PSM_8888 : GU_PSM_5650, (void*)0, SCEGU_VRAM_WIDTH);
|
||||||
sceGuDispBuffer(SCEGU_SCR_WIDTH, SCEGU_SCR_HEIGHT, (void*)0x88000, SCEGU_VRAM_WIDTH);
|
sceGuDispBuffer(SCEGU_SCR_WIDTH, SCEGU_SCR_HEIGHT, (void*)0x88000, SCEGU_VRAM_WIDTH);
|
||||||
sceGuClear(GU_COLOR_BUFFER_BIT);
|
sceGuClear(GU_COLOR_BUFFER_BIT);
|
||||||
|
|
||||||
sceGuOffset(2048 - (SCEGU_SCR_WIDTH / 2), 2048 - (SCEGU_SCR_HEIGHT / 2));
|
sceGuOffset(2048 - (SCEGU_SCR_WIDTH / 2), 2048 - (SCEGU_SCR_HEIGHT / 2));
|
||||||
sceGuViewport(2048, 2048, SCEGU_SCR_WIDTH, SCEGU_SCR_HEIGHT);
|
sceGuViewport(2048, 2048, SCEGU_SCR_WIDTH, SCEGU_SCR_HEIGHT);
|
||||||
|
|
||||||
/* FIXME - we will want to disable all this */
|
|
||||||
sceGuScissor(0, 0, SCEGU_SCR_WIDTH, SCEGU_SCR_HEIGHT);
|
sceGuScissor(0, 0, SCEGU_SCR_WIDTH, SCEGU_SCR_HEIGHT);
|
||||||
sceGuEnable(GU_SCISSOR_TEST);
|
sceGuEnable(GU_SCISSOR_TEST);
|
||||||
sceGuTexMode(vid->rgb32 ? GU_PSM_8888 : GU_PSM_5650, 0, 0, GU_FALSE);
|
sceGuTexMode(psp->rgb32 ? GU_PSM_8888 : GU_PSM_5650, 0, 0, GU_FALSE);
|
||||||
sceGuTexFunc(GU_TFX_REPLACE, GU_TCC_RGBA);
|
sceGuTexFunc(GU_TFX_REPLACE, GU_TCC_RGBA);
|
||||||
sceGuTexFilter(GU_LINEAR, GU_LINEAR);
|
sceGuTexFilter(GU_LINEAR, GU_LINEAR);
|
||||||
sceGuEnable(GU_TEXTURE_2D);
|
sceGuEnable(GU_TEXTURE_2D);
|
||||||
@ -76,7 +75,7 @@ static void init_texture(void *data, const video_info_t *video)
|
|||||||
sceDisplayWaitVblankStart();
|
sceDisplayWaitVblankStart();
|
||||||
sceGuDisplay(GU_TRUE);
|
sceGuDisplay(GU_TRUE);
|
||||||
|
|
||||||
vid->rgb32 = video->rgb32;
|
psp->rgb32 = video->rgb32;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *psp_init(const video_info_t *video,
|
static void *psp_init(const video_info_t *video,
|
||||||
@ -88,7 +87,7 @@ static void *psp_init(const video_info_t *video,
|
|||||||
|
|
||||||
if (driver.video_data)
|
if (driver.video_data)
|
||||||
{
|
{
|
||||||
psp1_video_t *vid = (psp1_video_t*)driver.video_data;
|
psp1_video_t *psp = (psp1_video_t*)driver.video_data;
|
||||||
|
|
||||||
/* Reinitialize textures here */
|
/* Reinitialize textures here */
|
||||||
//init_texture(vid, video);
|
//init_texture(vid, video);
|
||||||
@ -96,17 +95,17 @@ static void *psp_init(const video_info_t *video,
|
|||||||
return driver.video_data;
|
return driver.video_data;
|
||||||
}
|
}
|
||||||
|
|
||||||
psp1_video_t *vid = (psp1_video_t*)calloc(1, sizeof(psp1_video_t));
|
psp1_video_t *psp = (psp1_video_t*)calloc(1, sizeof(psp1_video_t));
|
||||||
|
|
||||||
if (!vid)
|
if (!psp)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
init_texture(vid, video);
|
init_texture(psp, video);
|
||||||
|
|
||||||
vid->tex_w = 512;
|
psp->tex_w = 512;
|
||||||
vid->tex_h = 512;
|
psp->tex_h = 512;
|
||||||
|
|
||||||
return vid;
|
return psp;
|
||||||
error:
|
error:
|
||||||
RARCH_ERR("PSP1 video could not be initialized.\n");
|
RARCH_ERR("PSP1 video could not be initialized.\n");
|
||||||
return (void*)-1;
|
return (void*)-1;
|
||||||
@ -119,13 +118,11 @@ static bool psp_frame(void *data, const void *frame,
|
|||||||
(void)height;
|
(void)height;
|
||||||
(void)pitch;
|
(void)pitch;
|
||||||
(void)msg;
|
(void)msg;
|
||||||
|
psp1_video_t *psp = (psp1_video_t*)data;
|
||||||
|
|
||||||
if(!frame)
|
if(!frame)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
#if 0
|
|
||||||
psp1_video_t *vid = (psp1_video_t*)data;
|
|
||||||
|
|
||||||
sceKernelDcacheWritebackInvalidateAll();
|
sceKernelDcacheWritebackInvalidateAll();
|
||||||
|
|
||||||
sceGuStart(GU_DIRECT, list);
|
sceGuStart(GU_DIRECT, list);
|
||||||
@ -146,9 +143,8 @@ static bool psp_frame(void *data, const void *frame,
|
|||||||
|
|
||||||
void *frame_ptr = &frame;
|
void *frame_ptr = &frame;
|
||||||
DisplaySetFrameBuf(frame_ptr, pitch,
|
DisplaySetFrameBuf(frame_ptr, pitch,
|
||||||
vid->rgb32 ? PSP_DISPLAY_PIXEL_FORMAT_8888 : PSP_DISPLAY_PIXEL_FORMAT_565,
|
psp->rgb32 ? PSP_DISPLAY_PIXEL_FORMAT_8888 : PSP_DISPLAY_PIXEL_FORMAT_565,
|
||||||
PSP_DISPLAY_SETBUF_IMMEDIATE);
|
PSP_DISPLAY_SETBUF_IMMEDIATE);
|
||||||
#endif
|
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user