1 /* Copyright (C) 2010-2021 The RetroArch team
3 * ---------------------------------------------------------------------------------------
4 * The following license statement only applies to this file (psp_defines.h).
5 * ---------------------------------------------------------------------------------------
7 * Permission is hereby granted, free of charge,
8 * to any person obtaining a copy of this software and associated documentation files (the "Software"),
9 * to deal in the Software without restriction, including without limitation the rights to
10 * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software,
11 * and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
13 * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
16 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
19 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 #ifndef _PSP_DEFINES_H
24 #define _PSP_DEFINES_H
26 /*============================================================
28 ============================================================ */
34 /*============================================================
36 ============================================================ */
38 #if defined(SN_TARGET_PSP2) || defined(VITA)
41 int sceClibPrintf ( const char * format, ... );
42 #define printf sceClibPrintf
43 #define PSP_DISPLAY_PIXEL_FORMAT_8888 (SCE_DISPLAY_PIXELFORMAT_A8B8G8R8)
45 #define PSP_DISPLAY_PIXEL_FORMAT_8888 (SCE_DISPLAY_PIXELFORMAT_A8B8G8R8)
48 #define DisplaySetFrameBuf(topaddr, bufferwidth, pixelformat, sync) sceDisplaySetFrameBuf(topaddr, sync)
50 #define PSP_FB_WIDTH 960
51 #define PSP_FB_HEIGHT 544
52 #define PSP_PITCH_PIXELS 1024
54 // Memory left to the system for threads and other internal stuffs
56 #define RAM_THRESHOLD 0x2000000 + SCE_LIBC_SIZE
58 #define RAM_THRESHOLD 0x2000000
62 #define DisplaySetFrameBuf(topaddr, bufferwidth, pixelformat, sync) sceDisplaySetFrameBuf(topaddr, bufferwidth, pixelformat, sync)
64 #define SCE_DISPLAY_UPDATETIMING_NEXTVSYNC 1
66 #define PSP_FB_WIDTH 512
67 #define PSP_FB_HEIGHT 512
68 #define PSP_PITCH_PIXELS 512
72 /*============================================================
74 ============================================================ */
76 #if defined(SN_TARGET_PSP2) || defined(VITA)
78 #define STATE_BUTTON(state) ((state).buttons)
79 #define STATE_ANALOGLX(state) ((state).lx)
80 #define STATE_ANALOGLY(state) ((state).ly)
81 #define STATE_ANALOGRX(state) ((state).rx)
82 #define STATE_ANALOGRY(state) ((state).ry)
85 #define DEFAULT_SAMPLING_MODE (SCE_CTRL_MODE_ANALOG)
87 #define PSP_CTRL_LEFT SCE_CTRL_LEFT
88 #define PSP_CTRL_DOWN SCE_CTRL_DOWN
89 #define PSP_CTRL_RIGHT SCE_CTRL_RIGHT
90 #define PSP_CTRL_UP SCE_CTRL_UP
91 #define PSP_CTRL_START SCE_CTRL_START
92 #define PSP_CTRL_SELECT SCE_CTRL_SELECT
93 #define PSP_CTRL_TRIANGLE SCE_CTRL_TRIANGLE
94 #define PSP_CTRL_SQUARE SCE_CTRL_SQUARE
95 #define PSP_CTRL_CROSS SCE_CTRL_CROSS
96 #define PSP_CTRL_CIRCLE SCE_CTRL_CIRCLE
97 #define PSP_CTRL_L SCE_CTRL_L1
98 #define PSP_CTRL_R SCE_CTRL_R1
99 #define PSP_CTRL_L2 SCE_CTRL_LTRIGGER
100 #define PSP_CTRL_R2 SCE_CTRL_RTRIGGER
101 #define PSP_CTRL_L3 SCE_CTRL_L3
102 #define PSP_CTRL_R3 SCE_CTRL_R3
104 #define DEFAULT_SAMPLING_MODE (SCE_CTRL_MODE_DIGITALANALOG)
106 #define PSP_CTRL_LEFT SCE_CTRL_LEFT
107 #define PSP_CTRL_DOWN SCE_CTRL_DOWN
108 #define PSP_CTRL_RIGHT SCE_CTRL_RIGHT
109 #define PSP_CTRL_UP SCE_CTRL_UP
110 #define PSP_CTRL_START SCE_CTRL_START
111 #define PSP_CTRL_SELECT SCE_CTRL_SELECT
112 #define PSP_CTRL_TRIANGLE SCE_CTRL_TRIANGLE
113 #define PSP_CTRL_SQUARE SCE_CTRL_SQUARE
114 #define PSP_CTRL_CROSS SCE_CTRL_CROSS
115 #define PSP_CTRL_CIRCLE SCE_CTRL_CIRCLE
116 #define PSP_CTRL_L SCE_CTRL_L
117 #define PSP_CTRL_R SCE_CTRL_R
121 #define CtrlSetSamplingMode(mode) sceCtrlSetSamplingModeExt(mode)
122 #define CtrlPeekBufferPositive(port, pad_data, bufs) sceCtrlPeekBufferPositiveExt2(port, pad_data, bufs)
124 #define CtrlSetSamplingMode(mode) sceCtrlSetSamplingMode(mode)
125 #define CtrlPeekBufferPositive(port, pad_data, bufs) sceCtrlPeekBufferPositive(port, pad_data, bufs)
130 #define PSP_CTRL_L PSP_CTRL_LTRIGGER
131 #define PSP_CTRL_R PSP_CTRL_RTRIGGER
133 #define STATE_BUTTON(state) ((state).Buttons)
134 #define STATE_ANALOGLX(state) ((state).Lx)
135 #define STATE_ANALOGLY(state) ((state).Ly)
136 #define STATE_ANALOGRX(state) ((state).Rx)
137 #define STATE_ANALOGRY(state) ((state).Ry)
139 #define DEFAULT_SAMPLING_MODE (PSP_CTRL_MODE_ANALOG)
141 #define CtrlSetSamplingMode(mode) sceCtrlSetSamplingMode(mode)
142 #define CtrlPeekBufferPositive(port, pad_data, bufs) sceCtrlPeekBufferPositive(pad_data, bufs)