(PSP1) Add Makefile

This commit is contained in:
twinaphex 2012-11-23 07:19:21 +01:00
parent 728b775905
commit 5f08905109
6 changed files with 48 additions and 11 deletions

21
Makefile.psp1 Normal file
View File

@ -0,0 +1,21 @@
RARCH_VERSION = "0.9.8-beta2"
TARGET = retroarch_psp
OBJS = console/griffin/griffin.o
INCDIR =
CFLAGS = -O2 -G0 -Wall -std=gnu99
CXXFLAGS = $(CFLAGS) -fno-exceptions -fno-rtti
ASFLAGS = $(CFLAGS)
RARCH_DEFINES = -DPSP -DHAVE_DEFAULT_RETROPAD_INPUT -DRARCH_CONSOLE -DHAVE_FILEBROWSER -DHAVE_RARCH_MAIN_WRAP -DHAVE_ZLIB -DWANT_RZLIB -DHAVE_CONFIGFILE=1 -DHAVE_GRIFFIN=1 -DPACKAGE_VERSION=\"$(RARCH_VERSION)\" -Dmain=rarch_main
CFLAGS += $(RARCH_DEFINES)
LIBDIR =
LDFLAGS =
LIBS = -lpspaudiolib -lpspaudio
#EXTRA_TARGETS = EBOOT.PBP
#PSP_EBOOT_TITLE = RetroArch PSP1
include $(PSPSDK)/lib/build.mak

View File

@ -45,7 +45,10 @@
#include "android/native/jni/android_general.h"
#endif
#if defined(XENON) || defined(__CELLOS_LV2__)
/* FIXME - If PATH_MAX is not defined, can we instead define
* it here? Could get rid of this long if conditional here
* which is a maintenance hazard */
#if defined(XENON) || defined(__CELLOS_LV2__) || defined(PSP)
#undef PATH_MAX
#define PATH_MAX 4096
#endif

View File

@ -35,6 +35,8 @@
#define ANALOGSTICK_DEADZONE_LOW (0x40)
#define ANALOGSTICK_DEADZONE_HIGH (0xc0)
#define MAX_PADS 1
static uint64_t state;
static void psp_input_poll(void *data)
@ -42,7 +44,7 @@ static void psp_input_poll(void *data)
(void)data;
SceCtrlData state_tmp;
int ret = sceCtrlReadBufferPositive(0, &state_tmp, 1);
int ret = CtrlReadBufferPositive(0, &state_tmp, 1);
if (ret == SCE_OK)
{

View File

@ -32,13 +32,15 @@
#if defined(SN_TARGET_PSP2)
#define PSP_DISPLAY_PIXEL_FORMAT_8888 (SCE_DISPLAY_PIXELFORMAT_A8B8G8R8)
#define sceDisplaySetFrameBuf(topaddr, bufferwidth, pixelformat, sync) sceDisplaySetFrameBuf(topaddr, sync)
#define DisplaySetFrameBuf(topaddr, bufferwidth, pixelformat, sync) sceDisplaySetFrameBuf(topaddr, sync)
#define PSP_FB_WIDTH 960
#define PSP_FB_HEIGHT 544
#define PSP_PITCH_PIXELS 1024
#elif defined(PSP)
#define DisplaySetFrameBuf(topaddr, bufferwidth, pixelformat, sync) sceDisplaySetFrameBuf(topaddr, bufferwidth, pixelformat, sync)
#define SCE_DISPLAY_UPDATETIMING_NEXTVSYNC 1
#define PSP_FB_WIDTH 512
@ -73,17 +75,22 @@
#define PSP_CTRL_L SCE_CTRL_L
#define PSP_CTRL_R SCE_CTRL_R
#define sceCtrlReadBufferPositive(port, pad_data, bufs) sceCtrlReadBufferPositive(port, pad_data, bufs)
#define CtrlReadBufferPositive(port, pad_data, bufs) sceCtrlReadBufferPositive(port, pad_data, bufs)
#elif defined(PSP)
#define PSP_CTRL_L PSP_CTRL_LTRIGGER
#define PSP_CTRL_R PSP_CTRL_RTRIGGER
#define STATE_BUTTON(state) ((state).Buttons)
#define STATE_ANALOGLX(state) ((state).Lx)
#define STATE_ANALOGLX(state) ((state).Ly)
#define STATE_ANALOGLY(state) ((state).Ly)
#define STATE_ANALOGRX(state) ((state).Rx)
#define STATE_ANALOGRY(state) ((state).Ry)
#define DEFAULT_SAMPLING_MODE (PSP_CTRL_MODE_ANALOG)
#define sceCtrlReadBufferPositive(port, pad_data, bufs) sceCtrlReadBufferPositive(pad_data, bufs)
#define CtrlReadBufferPositive(port, pad_data, bufs) sceCtrlReadBufferPositive(pad_data, bufs)
#endif
#endif

View File

@ -1,5 +1,6 @@
/* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2012 - Hans-Kristian Arntzen
* Copyright (C) 2011-2012 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
@ -15,7 +16,8 @@
#include <pspkernel.h>
#include <pspdisplay.h>
#include <pspgpu.h>
#include <pspgu.h>
#include <pspgum.h>
#include "../psp/sdk_defines.h"
#include "../general.h"
@ -37,6 +39,8 @@ 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;
sceGuInit();
sceGuStart(GU_DIRECT, list);
@ -51,7 +55,7 @@ static void init_texture(void *data, const video_info_t *video)
sceGuScissor(0, 0, PSP_SCREEN_WIDTH, PSP_SCREEN_HEIGHT);
sceGuEnable(GU_SCISSOR_TEST);
sceGuTexMode(vid->rgb32 ? GU_PSM_8888 : GU_PSM_5650, 0, 0, GU_FALSE);
sceGuTxFunc(GU_TFX_REPLACE, GU_TCC_RGBA);
sceGuTexFunc(GU_TFX_REPLACE, GU_TCC_RGBA);
sceGuTexFilter(GU_LINEAR, GU_LINEAR);
sceGuEnable(GU_TEXTURE_2D);
@ -130,7 +134,7 @@ static bool psp_gfx_frame(void *data, const void *frame,
sceGuFinish();
sceDisplayWaitVblankStart();
sceDisplaySetFrameBuf(frame, pitch,
DisplaySetFrameBuf(frame, pitch,
vid->rgb32 ? PSP_DISPLAY_PIXEL_FORMAT_8888 : PSP_DISPLAY_PIXEL_FORMAT_565,
PSP_DISPLAY_SETBUF_IMMEDIATE);

View File

@ -187,9 +187,9 @@ static void disp_callback(const void *callback_data)
framebuf.width = PSP_FB_WIDTH;
framebuf.height = PSP_FB_HEIGHT;
ret = sceDisplaySetFrameBuf(&framebuf, PSP_FB_WIDTH, PSP_DISPLAY_PIXELFORMAT_8888, SCE_DISPLAY_UPDATETIMING_NEXTVSYNC);
ret = DisplaySetFrameBuf(&framebuf, PSP_FB_WIDTH, PSP_DISPLAY_PIXELFORMAT_8888, SCE_DISPLAY_UPDATETIMING_NEXTVSYNC);
#elif defined(PSP)
ret = sceDisplaySetFrameBuf(&display_data->address, PSP_FB_WIDTH, PSP_DISPLAY_PIXELFORMAT_8888, SCE_DISPLAY_UPDATETIMING_NEXTVSYNC);
ret = DisplaySetFrameBuf(&display_data->address, PSP_FB_WIDTH, PSP_DISPLAY_PIXELFORMAT_8888, SCE_DISPLAY_UPDATETIMING_NEXTVSYNC);
#endif
/* TODO - Don't bother with error checking for now in here */