mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
(PSP) Some cleanups
This commit is contained in:
parent
07e28ebb8a
commit
f1811644c4
@ -83,33 +83,33 @@ static void psp_input_poll(void *data)
|
||||
|
||||
SceCtrlData state_tmp;
|
||||
int ret = CtrlReadBufferPositive(0, &state_tmp, 1);
|
||||
state = 0;
|
||||
|
||||
if (ret == SCE_OK)
|
||||
{
|
||||
state = 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_RIGHT) ? PSP_GAMEPAD_DPAD_RIGHT : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_UP) ? PSP_GAMEPAD_DPAD_UP : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_START) ? PSP_GAMEPAD_START : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_SELECT) ? PSP_GAMEPAD_SELECT : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_TRIANGLE) ? PSP_GAMEPAD_TRIANGLE : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_SQUARE) ? PSP_GAMEPAD_SQUARE : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_CROSS) ? PSP_GAMEPAD_CROSS : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_CIRCLE) ? PSP_GAMEPAD_CIRCLE : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_R) ? PSP_GAMEPAD_R : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_L) ? PSP_GAMEPAD_L : 0;
|
||||
state |= (STATE_ANALOGLX(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_LSTICK_LEFT_MASK : 0;
|
||||
state |= (STATE_ANALOGLX(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_LSTICK_RIGHT_MASK : 0;
|
||||
state |= (STATE_ANALOGLY(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_LSTICK_UP_MASK : 0;
|
||||
state |= (STATE_ANALOGLY(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_LSTICK_DOWN_MASK : 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_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_UP) ? PSP_GAMEPAD_DPAD_UP : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_START) ? PSP_GAMEPAD_START : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_SELECT) ? PSP_GAMEPAD_SELECT : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_TRIANGLE) ? PSP_GAMEPAD_TRIANGLE : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_SQUARE) ? PSP_GAMEPAD_SQUARE : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_CROSS) ? PSP_GAMEPAD_CROSS : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_CIRCLE) ? PSP_GAMEPAD_CIRCLE : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_R) ? PSP_GAMEPAD_R : 0;
|
||||
state |= (STATE_BUTTON(state_tmp) & PSP_CTRL_L) ? PSP_GAMEPAD_L : 0;
|
||||
state |= (STATE_ANALOGLX(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_LSTICK_LEFT_MASK : 0;
|
||||
state |= (STATE_ANALOGLX(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_LSTICK_RIGHT_MASK : 0;
|
||||
state |= (STATE_ANALOGLY(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_LSTICK_UP_MASK : 0;
|
||||
state |= (STATE_ANALOGLY(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_LSTICK_DOWN_MASK : 0;
|
||||
#ifdef SN_TARGET_PSP2
|
||||
state |= (STATE_ANALOGRX(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_RSTICK_LEFT_MASK : 0;
|
||||
state |= (STATE_ANALOGRX(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_RSTICK_RIGHT_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_ANALOGRX(state_tmp) < ANALOGSTICK_DEADZONE_LOW) ? PSP_GAMEPAD_RSTICK_LEFT_MASK : 0;
|
||||
state |= (STATE_ANALOGRX(state_tmp) > ANALOGSTICK_DEADZONE_HIGH) ? PSP_GAMEPAD_RSTICK_RIGHT_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;
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
psp1_video_t *vid = (psp1_video_t*)data;
|
||||
psp1_video_t *psp = (psp1_video_t*)data;
|
||||
|
||||
sceGuInit();
|
||||
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);
|
||||
sceGuClear(GU_COLOR_BUFFER_BIT);
|
||||
|
||||
sceGuOffset(2048 - (SCEGU_SCR_WIDTH / 2), 2048 - (SCEGU_SCR_HEIGHT / 2));
|
||||
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);
|
||||
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);
|
||||
sceGuTexFilter(GU_LINEAR, GU_LINEAR);
|
||||
sceGuEnable(GU_TEXTURE_2D);
|
||||
@ -76,7 +75,7 @@ static void init_texture(void *data, const video_info_t *video)
|
||||
sceDisplayWaitVblankStart();
|
||||
sceGuDisplay(GU_TRUE);
|
||||
|
||||
vid->rgb32 = video->rgb32;
|
||||
psp->rgb32 = video->rgb32;
|
||||
}
|
||||
|
||||
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)
|
||||
{
|
||||
psp1_video_t *vid = (psp1_video_t*)driver.video_data;
|
||||
psp1_video_t *psp = (psp1_video_t*)driver.video_data;
|
||||
|
||||
/* Reinitialize textures here */
|
||||
//init_texture(vid, video);
|
||||
@ -96,17 +95,17 @@ static void *psp_init(const video_info_t *video,
|
||||
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;
|
||||
|
||||
init_texture(vid, video);
|
||||
init_texture(psp, video);
|
||||
|
||||
vid->tex_w = 512;
|
||||
vid->tex_h = 512;
|
||||
psp->tex_w = 512;
|
||||
psp->tex_h = 512;
|
||||
|
||||
return vid;
|
||||
return psp;
|
||||
error:
|
||||
RARCH_ERR("PSP1 video could not be initialized.\n");
|
||||
return (void*)-1;
|
||||
@ -119,13 +118,11 @@ static bool psp_frame(void *data, const void *frame,
|
||||
(void)height;
|
||||
(void)pitch;
|
||||
(void)msg;
|
||||
psp1_video_t *psp = (psp1_video_t*)data;
|
||||
|
||||
if(!frame)
|
||||
return true;
|
||||
|
||||
#if 0
|
||||
psp1_video_t *vid = (psp1_video_t*)data;
|
||||
|
||||
sceKernelDcacheWritebackInvalidateAll();
|
||||
|
||||
sceGuStart(GU_DIRECT, list);
|
||||
@ -146,9 +143,8 @@ static bool psp_frame(void *data, const void *frame,
|
||||
|
||||
void *frame_ptr = &frame;
|
||||
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);
|
||||
#endif
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user