From 41ae71db4ab9fb2a7c7083ac14860d05d91fc9b8 Mon Sep 17 00:00:00 2001
From: Monster Iestyn <iestynjealous@ntlworld.com>
Date: Fri, 29 Sep 2017 20:34:16 +0100
Subject: [PATCH] postponed PSP

---
 src/Makefile                                |   8 -
 src/Makefile.cfg                            |  12 --
 src/command.c                               |   2 +-
 src/d_main.c                                |   2 +-
 src/d_netcmd.c                              |   2 +-
 src/doomdef.h                               |   4 +-
 src/doomtype.h                              |   6 +-
 src/g_game.c                                |  16 --
 src/g_input.c                               |  90 ++--------
 src/g_input.h                               |   7 +-
 src/m_misc.c                                |   2 +-
 src/m_misc.h                                |   4 -
 src/s_sound.c                               |   6 +-
 src/screen.h                                |   4 +-
 src/sdl12/Makefile.cfg                      |   4 -
 src/sdl12/SRB2PSP/ICON0.png                 | Bin 3678 -> 0 bytes
 src/sdl12/SRB2PSP/Makefile.cfg              | 126 -------------
 src/sdl12/SRB2PSP/PIC1.png                  | Bin 20300 -> 0 bytes
 src/sdl12/SRB2PSP/psp-prxsign/.gitignore    |   2 -
 src/sdl12/SRB2PSP/psp-prxsign/Makefile      |  22 ---
 src/sdl12/SRB2PSP/psp-prxsign/cmac.c        | 130 --------------
 src/sdl12/SRB2PSP/psp-prxsign/cmac.h        |  38 ----
 src/sdl12/SRB2PSP/psp-prxsign/kirk_header.h |  25 ---
 src/sdl12/SRB2PSP/psp-prxsign/main.c        | 190 --------------------
 src/sdl12/SRB2PSP/psp-prxsign/psp_header.h  |  29 ---
 src/sdl12/i_main.c                          |   9 -
 src/sdl12/i_system.c                        |  34 +---
 src/sdl12/i_video.c                         |  38 +---
 src/sdl12/ogl_sdl.c                         |   5 -
 src/sdl12/sdl_sound.c                       |  12 +-
 src/z_zone.c                                |   2 +-
 31 files changed, 41 insertions(+), 790 deletions(-)
 delete mode 100644 src/sdl12/SRB2PSP/ICON0.png
 delete mode 100644 src/sdl12/SRB2PSP/Makefile.cfg
 delete mode 100644 src/sdl12/SRB2PSP/PIC1.png
 delete mode 100644 src/sdl12/SRB2PSP/psp-prxsign/.gitignore
 delete mode 100644 src/sdl12/SRB2PSP/psp-prxsign/Makefile
 delete mode 100644 src/sdl12/SRB2PSP/psp-prxsign/cmac.c
 delete mode 100644 src/sdl12/SRB2PSP/psp-prxsign/cmac.h
 delete mode 100644 src/sdl12/SRB2PSP/psp-prxsign/kirk_header.h
 delete mode 100644 src/sdl12/SRB2PSP/psp-prxsign/main.c
 delete mode 100644 src/sdl12/SRB2PSP/psp-prxsign/psp_header.h

diff --git a/src/Makefile b/src/Makefile
index f25d34ec26..3952c17438 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -528,18 +528,12 @@ ifdef PANDORA
 all:	pre-build $(BIN)/$(PNDNAME)
 endif
 
-ifdef PSP
-all:	 pre-build $(BIN)/$(BINNAME) post-build
-endif
-
 
-ifndef PSP
 ifdef MINGW
 ifndef SDL
 all:	 pre-build $(BIN)/$(EXENAME) dll
 endif
 endif
-endif
 
 ifdef SDL
 all:	 pre-build $(BIN)/$(EXENAME)
@@ -601,12 +595,10 @@ endif
 
 # mac os x lsdlsrb2 does not like objcopy
 ifndef MACOSX
-ifndef PSP
 	$(OBJCOPY) $(BIN)/$(EXENAME) $(BIN)/$(DBGNAME)
 	$(OBJCOPY) --strip-debug $(BIN)/$(EXENAME)
 	-$(OBJCOPY) --add-gnu-debuglink=$(BIN)/$(DBGNAME) $(BIN)/$(EXENAME)
 endif
-endif
 ifndef NOUPX
 	-$(UPX) $(UPX_OPTS) $(BIN)/$(EXENAME)
 endif
diff --git a/src/Makefile.cfg b/src/Makefile.cfg
index 679727c905..bf9aa5feb3 100644
--- a/src/Makefile.cfg
+++ b/src/Makefile.cfg
@@ -211,7 +211,6 @@ endif
 
 #indicate platform and what interface use with
 ifndef WINCE
-ifndef PSP
 ifndef WII
 ifndef LINUX
 ifndef FREEBSD
@@ -230,7 +229,6 @@ endif
 endif
 endif
 endif
-endif
 
 #determine the interface directory (where you put all i_*.c)
 i_cdmus_o=$(OBJDIR)/i_cdmus.o
@@ -336,15 +334,6 @@ ifdef MINGW
 	OBJDIR:=$(OBJDIR)/Mingw
 	BIN:=$(BIN)/Mingw
 else
-ifdef PSP
-	INTERFACE=sdl12
-	NONX86=1
-	SDL=1
-	SDL12=1
-	OBJDIR:=$(OBJDIR)/PSP
-	BIN:=$(BIN)/PSP
-	NOUPX=1
-else
 ifdef WINCE
 	INTERFACE=sdl12
 	NONX86=1
@@ -370,7 +359,6 @@ endif
 endif
 endif
 endif
-endif
 
 ifdef GP2X
 ifdef SDL
diff --git a/src/command.c b/src/command.c
index fc81a362de..8c275c23e5 100644
--- a/src/command.c
+++ b/src/command.c
@@ -1255,7 +1255,7 @@ static void Got_NetVar(UINT8 **p, INT32 playernum)
 		CONS_Alert(CONS_WARNING, "Netvar not found with netid %hu\n", netid);
 		return;
 	}
-#if 0 //defined (GP2X) || defined (PSP)
+#if 0 //defined (GP2X)
 	CONS_Printf("Netvar received: %s [netid=%d] value %s\n", cvar->name, netid, svalue);
 #endif
 	DEBFILE(va("Netvar received: %s [netid=%d] value %s\n", cvar->name, netid, svalue));
diff --git a/src/d_main.c b/src/d_main.c
index b2f586607e..39188d7cdd 100644
--- a/src/d_main.c
+++ b/src/d_main.c
@@ -1005,7 +1005,7 @@ void D_SRB2Main(void)
 
 		if (!userhome)
 		{
-#if ((defined (__unix__) && !defined (MSDOS)) || defined(__APPLE__) || defined (UNIXCOMMON)) && !defined (__CYGWIN__) && !defined (PSP) && !defined(GP2X)
+#if ((defined (__unix__) && !defined (MSDOS)) || defined(__APPLE__) || defined (UNIXCOMMON)) && !defined (__CYGWIN__) && !defined(GP2X)
 			I_Error("Please set $HOME to your home directory\n");
 #elif defined (_WIN32_WCE) && 0
 			if (dedicated)
diff --git a/src/d_netcmd.c b/src/d_netcmd.c
index a234f3c0c7..58c2d7acd7 100644
--- a/src/d_netcmd.c
+++ b/src/d_netcmd.c
@@ -249,7 +249,7 @@ consvar_t cv_usejoystick = {"use_joystick", "1", CV_SAVE|CV_CALL, usejoystick_co
 	I_InitJoystick, 0, NULL, NULL, 0, 0, NULL};
 consvar_t cv_usejoystick2 = {"use_joystick2", "2", CV_SAVE|CV_CALL, usejoystick_cons_t,
 	I_InitJoystick2, 0, NULL, NULL, 0, 0, NULL};
-#elif defined (PSP) || defined (GP2X) || defined (_NDS) //only one joystick
+#elif defined (GP2X) || defined (_NDS) //only one joystick
 consvar_t cv_usejoystick = {"use_joystick", "1", CV_SAVE|CV_CALL, usejoystick_cons_t,
 	I_InitJoystick, 0, NULL, NULL, 0, 0, NULL};
 consvar_t cv_usejoystick2 = {"use_joystick2", "0", CV_SAVE|CV_CALL, usejoystick_cons_t,
diff --git a/src/doomdef.h b/src/doomdef.h
index 2a9f7b1f36..1d2b941e05 100644
--- a/src/doomdef.h
+++ b/src/doomdef.h
@@ -548,12 +548,12 @@ extern const char *compdate, *comptime, *comprevision, *compbranch;
 ///	    	Most modifications should probably enable this.
 //#define SAVEGAME_OTHERVERSIONS
 
-#if !defined (_NDS) && !defined (_PSP)
+#if !defined (_NDS)
 ///	Shuffle's incomplete OpenGL sorting code.
 #define SHUFFLE // This has nothing to do with sorting, why was it disabled?
 #endif
 
-#if !defined (_NDS) && !defined (_PSP)
+#if !defined (_NDS)
 ///	Allow the use of the SOC RESETINFO command.
 ///	\note	Builds that are tight on memory should disable this.
 ///	    	This stops the game from storing backups of the states, sprites, and mobjinfo tables.
diff --git a/src/doomtype.h b/src/doomtype.h
index d4ebbb92d1..618e5665ad 100644
--- a/src/doomtype.h
+++ b/src/doomtype.h
@@ -105,9 +105,7 @@ typedef long ssize_t;
 	#define strncasecmp             strnicmp
 	#define strcasecmp              strcmpi
 #endif
-#ifdef _PSP
-	#include <malloc.h>
-#elif (defined (__unix__) && !defined (MSDOS)) || defined(__APPLE__) || defined (UNIXCOMMON)
+#if (defined (__unix__) && !defined (MSDOS)) || defined(__APPLE__) || defined (UNIXCOMMON)
 	#undef stricmp
 	#define stricmp(x,y) strcasecmp(x,y)
 	#undef strnicmp
@@ -141,7 +139,7 @@ typedef long ssize_t;
 	#endif
 #endif //macintosh
 
-#if defined (PC_DOS) || defined (_WIN32) || defined (_WII) || defined (_PSP) || defined (__HAIKU__) || defined(_NDS)
+#if defined (PC_DOS) || defined (_WIN32) || defined (_WII) || defined (__HAIKU__) || defined(_NDS)
 #define HAVE_DOSSTR_FUNCS
 #endif
 
diff --git a/src/g_game.c b/src/g_game.c
index 9d3933aaf8..7e667cc05c 100644
--- a/src/g_game.c
+++ b/src/g_game.c
@@ -395,21 +395,9 @@ consvar_t cv_fireaxis = {"joyaxis_fire", "LAnalog", CV_SAVE, joyaxis_cons_t, NUL
 consvar_t cv_firenaxis = {"joyaxis_firenormal", "RAnalog", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
 #else
 consvar_t cv_turnaxis = {"joyaxis_turn", "X-Axis", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#ifdef PSP
-consvar_t cv_moveaxis = {"joyaxis_move", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#else
 consvar_t cv_moveaxis = {"joyaxis_move", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#endif
-#ifdef PSP
-consvar_t cv_sideaxis = {"joyaxis_side", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#else
 consvar_t cv_sideaxis = {"joyaxis_side", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#endif
-#ifdef PSP
-consvar_t cv_lookaxis = {"joyaxis_look", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#else
 consvar_t cv_lookaxis = {"joyaxis_look", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#endif
 consvar_t cv_fireaxis = {"joyaxis_fire", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
 consvar_t cv_firenaxis = {"joyaxis_firenormal", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
 #endif
@@ -424,11 +412,7 @@ consvar_t cv_firenaxis2 = {"joyaxis2_firenormal", "RAnalog", CV_SAVE, joyaxis_co
 #else
 consvar_t cv_turnaxis2 = {"joyaxis2_turn", "X-Axis", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
 consvar_t cv_moveaxis2 = {"joyaxis2_move", "Y-Axis", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#ifdef _PSP
-consvar_t cv_sideaxis2 = {"joyaxis2_side", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#else
 consvar_t cv_sideaxis2 = {"joyaxis2_side", "Z-Axis", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
-#endif
 consvar_t cv_lookaxis2 = {"joyaxis2_look", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
 consvar_t cv_fireaxis2 = {"joyaxis2_fire", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
 consvar_t cv_firenaxis2 = {"joyaxis2_firenormal", "None", CV_SAVE, joyaxis_cons_t, NULL, 0, NULL, NULL, 0, 0, NULL};
diff --git a/src/g_input.c b/src/g_input.c
index d7e8837355..3dcf01c007 100644
--- a/src/g_input.c
+++ b/src/g_input.c
@@ -268,7 +268,7 @@ static keyname_t keynames[] =
 	{KEY_MOUSE1+0,"MOUSE1"},
 	{KEY_MOUSE1+1,"MOUSE2"},
 	{KEY_MOUSE1+2,"MOUSE3"},
-#if !defined (_PSP) && !defined (_WII)
+#if !defined (_WII)
 	{KEY_MOUSE1+3,"MOUSE4"},
 	{KEY_MOUSE1+4,"MOUSE5"},
 	{KEY_MOUSE1+5,"MOUSE6"},
@@ -278,7 +278,7 @@ static keyname_t keynames[] =
 	{KEY_2MOUSE1+0,"SEC_MOUSE2"}, // BP: sorry my mouse handler swap button 1 and 2
 	{KEY_2MOUSE1+1,"SEC_MOUSE1"},
 	{KEY_2MOUSE1+2,"SEC_MOUSE3"},
-#if !defined (_PSP) && !defined (_WII)
+#if !defined (_WII)
 	{KEY_2MOUSE1+3,"SEC_MOUSE4"},
 	{KEY_2MOUSE1+4,"SEC_MOUSE5"},
 	{KEY_2MOUSE1+5,"SEC_MOUSE6"},
@@ -290,19 +290,7 @@ static keyname_t keynames[] =
 	{KEY_2MOUSEWHEELUP, "Wheel 2 UP"},
 	{KEY_2MOUSEWHEELDOWN, "Wheel 2 Down"},
 
-#ifdef _PSP
-	{KEY_JOY1+0, "TRIANGLE"},
-	{KEY_JOY1+1, "CIRCLE"  },
-	{KEY_JOY1+2, "CROSS"   },
-	{KEY_JOY1+3, "SQUARE"  },
-	{KEY_JOY1+4, "LTRIGGER"},
-	{KEY_JOY1+5, "RTRIGGER"},
-	{KEY_JOY1+6, "SELECT"  },
-	{KEY_JOY1+7, "START"   },
-	{KEY_JOY1+8, "HOME"    },
-	{KEY_JOY1+9, "HOLD"    },
-#define NOMOREJOYBTN_1S
-#elif defined (GP2X)
+#if defined (GP2X)
 	{KEY_JOY1+0, "JOYA"},
 	{KEY_JOY1+1, "JOYY"},
 	{KEY_JOY1+2, "JOYB"},
@@ -420,7 +408,7 @@ static keyname_t keynames[] =
 	{KEY_HAT1+1, "HATDOWN"},
 	{KEY_HAT1+2, "HATLEFT"},
 	{KEY_HAT1+3, "HATRIGHT"},
-#if !defined (_PSP) && !defined (_WII)
+#if !defined (_WII)
 	{KEY_HAT1+4, "HATUP2"},
 	{KEY_HAT1+5, "HATDOWN2"},
 	{KEY_HAT1+6, "HATLEFT2"},
@@ -438,7 +426,7 @@ static keyname_t keynames[] =
 	{KEY_DBLMOUSE1+0, "DBLMOUSE1"},
 	{KEY_DBLMOUSE1+1, "DBLMOUSE2"},
 	{KEY_DBLMOUSE1+2, "DBLMOUSE3"},
-#if !defined (_PSP) && !defined (_WII)
+#if !defined (_WII)
 	{KEY_DBLMOUSE1+3, "DBLMOUSE4"},
 	{KEY_DBLMOUSE1+4, "DBLMOUSE5"},
 	{KEY_DBLMOUSE1+5, "DBLMOUSE6"},
@@ -448,7 +436,7 @@ static keyname_t keynames[] =
 	{KEY_DBL2MOUSE1+0, "DBLSEC_MOUSE2"}, // BP: sorry my mouse handler swap button 1 and 2
 	{KEY_DBL2MOUSE1+1, "DBLSEC_MOUSE1"},
 	{KEY_DBL2MOUSE1+2, "DBLSEC_MOUSE3"},
-#if !defined (_PSP) && !defined (_WII)
+#if !defined (_WII)
 	{KEY_DBL2MOUSE1+3, "DBLSEC_MOUSE4"},
 	{KEY_DBL2MOUSE1+4, "DBLSEC_MOUSE5"},
 	{KEY_DBL2MOUSE1+5, "DBLSEC_MOUSE6"},
@@ -456,18 +444,7 @@ static keyname_t keynames[] =
 	{KEY_DBL2MOUSE1+7, "DBLSEC_MOUSE8"},
 #endif
 
-#ifdef _PSP
-	{KEY_DBLJOY1+0, "DBLTRIANGLE"},
-	{KEY_DBLJOY1+1, "DBLCIRCLE"  },
-	{KEY_DBLJOY1+2, "DBLCROSS"   },
-	{KEY_DBLJOY1+3, "DBLSQUARE"  },
-	{KEY_DBLJOY1+4, "DBLLTRIGGER"},
-	{KEY_DBLJOY1+5, "DBLRTRIGGER"},
-	{KEY_DBLJOY1+6, "DBLSELECT"  },
-	{KEY_DBLJOY1+7, "DBLSTART"   },
-	{KEY_DBLJOY1+8, "DBLHOME"    },
-	{KEY_DBLJOY1+9, "DBLHOLD"    },
-#elif defined (GP2X)
+#if defined (GP2X)
 	{KEY_DBLJOY1+0, "DBLJOYA"},
 	{KEY_DBLJOY1+1, "DBLJOYY"},
 	{KEY_DBLJOY1+2, "DBLJOYB"},
@@ -584,7 +561,7 @@ static keyname_t keynames[] =
 	{KEY_DBLHAT1+1, "DBLHATDOWN"},
 	{KEY_DBLHAT1+2, "DBLHATLEFT"},
 	{KEY_DBLHAT1+3, "DBLHATRIGHT"},
-#if !defined (_PSP) && !defined (_WII)
+#if !defined (_WII)
 	{KEY_DBLHAT1+4, "DBLHATUP2"},
 	{KEY_DBLHAT1+5, "DBLHATDOWN2"},
 	{KEY_DBLHAT1+6, "DBLHATLEFT2"},
@@ -599,19 +576,7 @@ static keyname_t keynames[] =
 	{KEY_DBLHAT1+15, "DBLHATRIGHT4"},
 #endif
 
-#ifdef _PSP
-	{KEY_2JOY1+0, "SEC_TRIANGLE"},
-	{KEY_2JOY1+1, "SEC_CIRCLE"  },
-	{KEY_2JOY1+2, "SEC_CROSS"   },
-	{KEY_2JOY1+3, "SEC_SQUARE"  },
-	{KEY_2JOY1+4, "SEC_LTRIGGER"},
-	{KEY_2JOY1+5, "SEC_RTRIGGER"},
-	{KEY_2JOY1+6, "SEC_SELECT"  },
-	{KEY_2JOY1+7, "SEC_START"   },
-	{KEY_2JOY1+8, "SEC_HOME"    },
-	{KEY_2JOY1+9, "SEC_HOLD"    },
-#define NOMOREJOYBTN_2S
-#elif defined (WMINPUT)
+#if defined (WMINPUT)
 	{KEY_2JOY1+0,  "SEC_JOYB"},
 	{KEY_2JOY1+1,  "SEC_JOYA"},
 	{KEY_2JOY1+2,  "SEC_JOYUP"},
@@ -709,7 +674,7 @@ static keyname_t keynames[] =
 	{KEY_2HAT1+1,  "SEC_HATDOWN"},
 	{KEY_2HAT1+2,  "SEC_HATLEFT"},
 	{KEY_2HAT1+3,  "SEC_HATRIGHT"},
-#if !defined (_PSP) && !defined (_WII)
+#if !defined (_WII)
 	{KEY_2HAT1+4, "SEC_HATUP2"},
 	{KEY_2HAT1+5, "SEC_HATDOWN2"},
 	{KEY_2HAT1+6, "SEC_HATLEFT2"},
@@ -724,19 +689,7 @@ static keyname_t keynames[] =
 	{KEY_2HAT1+15, "SEC_HATRIGHT4"},
 #endif
 
-#ifdef _PSP
-	{KEY_DBL2JOY1+0, "DBLSEC_TRIANGLE"},
-	{KEY_DBL2JOY1+1, "DBLSEC_CIRCLE"  },
-	{KEY_DBL2JOY1+2, "DBLSEC_CROSS"   },
-	{KEY_DBL2JOY1+3, "DBLSEC_SQUARE"  },
-	{KEY_DBL2JOY1+4, "DBLSEC_LTRIGGER"},
-	{KEY_DBL2JOY1+5, "DBLSEC_RTRIGGER"},
-	{KEY_DBL2JOY1+6, "DBLSEC_SELECT"  },
-	{KEY_DBL2JOY1+7, "DBLSEC_START"   },
-	{KEY_DBL2JOY1+8, "DBLSEC_HOME"    },
-	{KEY_DBL2JOY1+9, "DBLSEC_HOLD"    },
-#define NOMOREJOYBTN_2DBL
-#elif defined (WMINPUT)
+#if defined (WMINPUT)
 	{KEY_DBL2JOY1+0,  "DBLSEC_JOYB"},
 	{KEY_DBL2JOY1+1,  "DBLSEC_JOYA"},
 	{KEY_DBL2JOY1+2,  "DBLSEC_JOYUP"},
@@ -832,7 +785,7 @@ static keyname_t keynames[] =
 	{KEY_DBL2HAT1+1, "DBLSEC_HATDOWN"},
 	{KEY_DBL2HAT1+2, "DBLSEC_HATLEFT"},
 	{KEY_DBL2HAT1+3, "DBLSEC_HATRIGHT"},
-#if !defined (_PSP) && !defined (_WII)
+#if !defined (_WII)
 	{KEY_DBL2HAT1+4, "DBLSEC_HATUP2"},
 	{KEY_DBL2HAT1+5, "DBLSEC_HATDOWN2"},
 	{KEY_DBL2HAT1+6, "DBLSEC_HATLEFT2"},
@@ -947,24 +900,7 @@ INT32 G_KeyStringtoNum(const char *keystr)
 	return 0;
 }
 
-#ifdef _PSP
-void G_Controldefault(void)
-{
-	gamecontrol[gc_forward    ][0] = KEY_HAT1+0; // Up
-	gamecontrol[gc_backward   ][0] = KEY_HAT1+1; // Down
-	gamecontrol[gc_turnleft   ][0] = KEY_HAT1+2; // Left
-	gamecontrol[gc_turnright  ][0] = KEY_HAT1+3; // Right
-	gamecontrol[gc_strafeleft ][0] = KEY_JOY1+4; // L
-	gamecontrol[gc_straferight][0] = KEY_JOY1+5; // R
-	gamecontrol[gc_tossflag   ][0] = KEY_JOY1+0; // Triangle
-	gamecontrol[gc_use        ][0] = KEY_JOY1+1; // Circle
-	gamecontrol[gc_camtoggle  ][0] = KEY_JOY1+6; // Select
-	gamecontrol[gc_camreset   ][0] = KEY_JOY1+3; // Square
-	gamecontrol[gc_centerview ][0] = KEY_JOY1+9; // Hold
-	gamecontrol[gc_pause      ][0] = KEY_JOY1+8; // Start
-	gamecontrol[gc_jump       ][0] = KEY_JOY1+2; // Cross
-}
-#elif defined (GP2X)
+#if defined (GP2X)
 void G_Controldefault(void)
 {
 	gamecontrol[gc_fire       ][0] = KEY_JOY1+0; //A
diff --git a/src/g_input.h b/src/g_input.h
index a2697c9dbb..892ef9c7aa 100644
--- a/src/g_input.h
+++ b/src/g_input.h
@@ -23,12 +23,7 @@
 #define NUMKEYS 256
 
 
-#ifdef _PSP
-#define MOUSEBUTTONS 3
-#define JOYBUTTONS   14 // 10 buttons
-#define JOYHATS      1  // 1 hat
-#define JOYAXISSET   1  // 1 Set of 2 axises
-#elif defined (_WII)
+#if defined (_WII)
 #define MOUSEBUTTONS 3
 #define JOYBUTTONS   20 // 20 buttons
 #define JOYHATS      1  // 1 hat
diff --git a/src/m_misc.c b/src/m_misc.c
index a0efb8bf41..8928494c86 100644
--- a/src/m_misc.c
+++ b/src/m_misc.c
@@ -58,7 +58,7 @@ typedef off_t off64_t;
 
 #if defined (_WIN32)
 #define PRIdS "Iu"
-#elif defined (_PSP) || defined (DJGPP) || defined (_WII) || defined (_NDS)
+#elif defined (DJGPP) || defined (_WII) || defined (_NDS)
 #define PRIdS "u"
 #else
 #define PRIdS "zu"
diff --git a/src/m_misc.h b/src/m_misc.h
index 4f1256764a..14f590516e 100644
--- a/src/m_misc.h
+++ b/src/m_misc.h
@@ -40,11 +40,7 @@ void M_SaveFrame(void);
 void M_StopMovie(void);
 
 // the file where game vars and settings are saved
-#ifdef PSP
-#define CONFIGFILENAME "srb2psp.cfg"
-#else
 #define CONFIGFILENAME "config.cfg"
-#endif
 
 INT32 M_MapNumber(char first, char second);
 
diff --git a/src/s_sound.c b/src/s_sound.c
index 07f5e18f0f..53279729c8 100644
--- a/src/s_sound.c
+++ b/src/s_sound.c
@@ -64,7 +64,7 @@ consvar_t sndserver_arg = {"sndserver_arg", "-quiet", CV_SAVE, NULL, 0, NULL, NU
 
 #if defined (_WIN32_WCE) || defined(GP2X)
 consvar_t cv_samplerate = {"samplerate", "11025", 0, CV_Unsigned, NULL, 11025, NULL, NULL, 0, 0, NULL}; //Alam: For easy hacking?
-#elif defined(_PSP) || defined(_WINDOWS)
+#elif defined(_WINDOWS)
 consvar_t cv_samplerate = {"samplerate", "44100", 0, CV_Unsigned, NULL, 44100, NULL, NULL, 0, 0, NULL}; //Alam: For easy hacking?
 #elif defined(_WII)
 consvar_t cv_samplerate = {"samplerate", "32000", 0, CV_Unsigned, NULL, 32000, NULL, NULL, 0, 0, NULL}; //Alam: For easy hacking?
@@ -93,7 +93,7 @@ static void Captioning_OnChange(void)
 consvar_t cv_closedcaptioning = {"closedcaptioning", "Off", CV_SAVE|CV_CALL, CV_OnOff, Captioning_OnChange, 0, NULL, NULL, 0, 0, NULL};
 
 // number of channels available
-#if defined (_WIN32_WCE) || defined (PSP) || defined(GP2X)
+#if defined (_WIN32_WCE) || defined(GP2X)
 consvar_t cv_numChannels = {"snd_channels", "8", CV_SAVE|CV_CALL, CV_Unsigned, SetChannelsNum, 0, NULL, NULL, 0, 0, NULL};
 #else
 consvar_t cv_numChannels = {"snd_channels", "32", CV_SAVE|CV_CALL, CV_Unsigned, SetChannelsNum, 0, NULL, NULL, 0, 0, NULL};
@@ -1379,7 +1379,7 @@ static boolean S_DigMusic(const char *mname, boolean looping)
 
 void S_ChangeMusic(const char *mmusic, UINT16 mflags, boolean looping)
 {
-#if defined (_WIN32_WCE) || defined (PSP) || defined(GP2X)
+#if defined (_WIN32_WCE) || defined(GP2X)
 	S_ClearSfx();
 #endif
 
diff --git a/src/screen.h b/src/screen.h
index 5f1f4bee3c..79f8e5cf09 100644
--- a/src/screen.h
+++ b/src/screen.h
@@ -28,7 +28,7 @@
 #endif
 
 // quickhack for V_Init()... to be cleaned up
-#if defined (_WIN32_WCE) || defined (PSP) || defined (NOPOSTPROCESSING)
+#if defined (_WIN32_WCE) || defined (NOPOSTPROCESSING)
 #define NUMSCREENS 2
 #else
 #define NUMSCREENS 5
@@ -43,7 +43,7 @@
 // we try to re-allocate a minimum of buffers for stability of the memory,
 // so all the small-enough tables based on screen size, are allocated once
 // and for all at the maximum size.
-#if defined (_WIN32_WCE) || defined (_PSP) || defined (_NDS)
+#if defined (_WIN32_WCE) || defined (_NDS)
 #define MAXVIDWIDTH 320
 #define MAXVIDHEIGHT 200
 #elif defined (GP2X)
diff --git a/src/sdl12/Makefile.cfg b/src/sdl12/Makefile.cfg
index cd7309c26a..8c2eb7bd01 100644
--- a/src/sdl12/Makefile.cfg
+++ b/src/sdl12/Makefile.cfg
@@ -14,10 +14,6 @@ ifdef PANDORA
 include sdl12/SRB2Pandora/Makefile.cfg
 endif #ifdef PANDORA
 
-ifdef PSP
-include sdl12/SRB2PSP/Makefile.cfg
-endif #ifdef PSP
-
 ifdef WINCE
 include sdl12/SRB2CE/Makefile.cfg
 endif #ifef WINCE
diff --git a/src/sdl12/SRB2PSP/ICON0.png b/src/sdl12/SRB2PSP/ICON0.png
deleted file mode 100644
index 140230c1e17bcf341498374ede7feea16ac5b54c..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3678
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

diff --git a/src/sdl12/SRB2PSP/Makefile.cfg b/src/sdl12/SRB2PSP/Makefile.cfg
deleted file mode 100644
index 5e4c0ba2ff..0000000000
--- a/src/sdl12/SRB2PSP/Makefile.cfg
+++ /dev/null
@@ -1,126 +0,0 @@
-#
-# Makefile.cfg for SRB2/PSP
-#
-
-#
-#hmmm, the PSP
-#
-
-	PSPSDK=$(shell psp-config -p)
-	PSPDEV=$(shell psp-config -d)
-	PSPPREFIX=$(shell psp-config -P)
-	STRIP=psp-strip
-	MKSFO?=mksfoex -d MEMSIZE=1
-	#MKSFO=mksfo
-	PACK_PBP=pack-pbp
-	FIXUP=psp-fixup-imports
-	HOSTCC:=$(CC)
-	CC=$(PSPDEV)/bin/psp-gcc
-	OBJCOPY=psp-objcopy
-	OBJDUMP=psp-objdump
-ifdef FIXEDPRX
-	PRXGEN=psp-prxgen
-else
-	PRXGEN=$(OBJCOPY)
-endif
-ifndef PRXSIGN
-	SIGNER:=$(PSPDEV)/bin/$(OBJCOPY)
-endif
-
-ifndef ECHO
-	MKSFO:=@$(MKSFO)
-	PACK_PBP:=@$(PACK_PBP)
-	FIXUP:=@$(FIXUP)
-	PRXGEN:=@$(PRXGEN)
-endif
-
-	PSP_EBOOT_TITLE=SRB2-PSP vME
-	PSP_EBOOT_SFO=$(BIN)/PARAM.SFO
-	PSP_EBOOT_ICON=sdl12/SRB2PSP/ICON0.png
-	PSP_EBOOT_ICON1=NULL
-	PSP_EBOOT_UNKPNG=NULL
-	PSP_EBOOT_PIC1=sdl12/SRB2PSP/PIC1.png
-	PSP_EBOOT_SND0=NULL
-	PSP_EBOOT_PSAR=NULL
-
-	SIGNER?=sdl12/SRB2PSP/psp-prxsign/psp-prxsign
-
-	SDL=1
-	PREFIX=psp
-	NONX86=1
-	#NOHW=1
-	NOHS=1
-	NOMD5=1
-	NONET=1       #No TCPIP code
-	NOPNG=1       #No Screenshot
-
-	OPTS=-I$(PSPPREFIX)/include -I$(PSPSDK)/include
-	OPTS+=-DUNIXCOMMON -DFORCESDLMAIN -G0
-	WFLAGS+=-Wno-undef
-	WFLAGS+=-O1
-	LIBS=-lm
-	SDL_CONFIG?=$(PSPPREFIX)/bin/sdl-config
-	#SDL_CFLAGS?=-I$(PSPDEV)/psp/include/SDL
-	#SDL_LDFLAGS?=-lSDLmain -lSDL -lglut -lGLU -lGL -lpspgu -lpspaudiolib -lpspaudio -lpsphprm -lpspvfpu -lpsprtc
-ifndef NOMIXER
-	LIBS:=-liberty -lvorbisfile -lvorbis -logg -lSDL $(LIBS)
-endif
-ifndef NOHW
-	OPTS+=-DSTATIC_OPENGL -DMINI_GL_COMPATIBILITY
-	LIBS+=-lGLU -lGL -lm
-endif
-	#PSPSDK_LIBS=-L$(PSPSDK)/lib -lpspdebug -lpspdisplay -lpspge -lpspctrl -lpspsdk
-	#LIBS+=$(PSPSDK_LIBS) -lc -lpspnet -lpspnet_inet -lpspnet_apctl -lpspnet_resolver -lpsputility -lpspuser -lpspkernel
-ifdef FIXEDPRX
-	LDFLAGS := -specs=$(PSPSDK)/lib/prxspecs -Wl,-q,-T$(PSPSDK)/lib/linkfile.prx $(LDFLAGS)
-	LIBS+=$(PSPSDK)/lib/prxexports.o
-endif
-
-ifeq ($(PSP_FW_VERSION),)
-PSP_FW_VERSION=150
-endif
-
-	CPPFLAGS:=-D_PSP_FW_VERSION=$(PSP_FW_VERSION) $(CPPFLAGS)
-
-
-	# name of the exefile
-	EXENAME?=SRB2PSP.elf
-	PRXNAME?=SRB2PSP.prx
-	DBGNAME?=SRB2PSP.debug
-
-post-build: $(BIN)/EBOOT.PBP
-
-kxploit: $(BIN)/$(EXENAME) $(PSP_EBOOT_SFO)
-	-$(MKDIR) "$(BIN)/kxploit/srb2"
-	@echo emitting kxploit/srb2/
-	$(STRIP) $(BIN)/$(EXENAME) -o $(BIN)/kxploit/srb2/EBOOT.PBP
-	@echo emitting kxploit/srb2%
-	-$(MKDIR) "$(BIN)/kxploit/srb2%/"
-	$(PACK_PBP) "$(BIN)/kxploit/srb2%/EBOOT.PBP" $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON)  \
-		$(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1)  \
-		$(PSP_EBOOT_SND0) NULL $(PSP_EBOOT_PSAR)
-
-sdl12/SRB2PSP/psp-prxsign/psp-prxsign:
-	-$(MAKE) -C sdl12/SRB2PSP/psp-prxsign CFLAGS=-pipe CC="$(HOSTCC)"
-
-fix-up: $(BIN)/$(EXENAME)
-	@echo Running psp-fixup-imports on $(EXENAME)
-	$(FIXUP) $(BIN)/$(EXENAME)
-
-$(BIN)/$(PRXNAME): $(BIN)/$(EXENAME) fix-up
-	@echo Building $(PRXNAME) out of $(EXENAME)
-	$(PRXGEN) $(BIN)/$(EXENAME) $@
-
-$(BIN)/EBOOT.PBP: $(BIN)/$(PRXNAME) $(SIGNER) $(PSP_EBOOT_SFO)
-	@echo Signing and running pack-pbp to make PBP
-	$(SIGNER) $(BIN)/$(PRXNAME) $(BIN)/$(PRXNAME).sign
-	$(PACK_PBP) $@ $(PSP_EBOOT_SFO) $(PSP_EBOOT_ICON)  \
-		$(PSP_EBOOT_ICON1) $(PSP_EBOOT_UNKPNG) $(PSP_EBOOT_PIC1)  \
-		$(PSP_EBOOT_SND0)  $(BIN)/$(PRXNAME).sign $(PSP_EBOOT_PSAR)
-	$(REMOVE) $(BIN)/$(PRXNAME).sign
-
-$(PSP_EBOOT_SFO):
-	-$(MKDIR) $(BIN)
-	$(MKSFO) '$(PSP_EBOOT_TITLE)' $@
-
-#include $(PSPSDK)/lib/build.mak
diff --git a/src/sdl12/SRB2PSP/PIC1.png b/src/sdl12/SRB2PSP/PIC1.png
deleted file mode 100644
index 0722a96bc78ce4c82edaed348bc6f86826e5690a..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20300
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

diff --git a/src/sdl12/SRB2PSP/psp-prxsign/.gitignore b/src/sdl12/SRB2PSP/psp-prxsign/.gitignore
deleted file mode 100644
index 6a07f1a5a2..0000000000
--- a/src/sdl12/SRB2PSP/psp-prxsign/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/psp-prxsign
-/psp-prxsign.exe
diff --git a/src/sdl12/SRB2PSP/psp-prxsign/Makefile b/src/sdl12/SRB2PSP/psp-prxsign/Makefile
deleted file mode 100644
index 4a9b7da0f2..0000000000
--- a/src/sdl12/SRB2PSP/psp-prxsign/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-EXE=psp-prxsign
-SRC=main.c cmac.c
-OBJ=$(SRC:.c=.o)# replaces the .c from SRC with .o
-
-OPENSSL_PKGCONFIG?=openssl
-OPENSSL_CFLAGS?=$(shell pkg-config $(OPENSSL_PKGCONFIG) --cflags)
-OPENSSL_LDFLAGS?=$(shell pkg-config $(OPENSSL_PKGCONFIG) --libs)
-
-CFLAGS+=$(OPENSSL_CFLAGS)
-LDFLAGS+=$(OPENSSL_LDFLAGS)
-
-.PHONY : all     # .PHONY ignores files named all
-
-all: $(EXE)      # all is dependent on $(BIN) to be complete
-
-
-$(EXE): $(OBJ) # $(EXE) is dependent on all of the files in $(OBJ) to exist
-	$(CC) $^ $(LDFLAGS) -o $@
-
-.PHONY : clean   # .PHONY ignores files named clean
-clean:
-	-$(RM) $(OBJ) $(EXE)
diff --git a/src/sdl12/SRB2PSP/psp-prxsign/cmac.c b/src/sdl12/SRB2PSP/psp-prxsign/cmac.c
deleted file mode 100644
index f527f7a71a..0000000000
--- a/src/sdl12/SRB2PSP/psp-prxsign/cmac.c
+++ /dev/null
@@ -1,130 +0,0 @@
-#include "cmac.h"
-
-#define AES_128 0
-unsigned char const_Rb[16] = {
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87
-};
-unsigned char const_Zero[16] = {
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
-};
-
-void xor_128(unsigned char *a, unsigned char *b, unsigned char *out)
-{
-	int i;
-	for (i=0;i<16; i++)
-	{
-		out[i] = a[i] ^ b[i];
-	}
-}
-
-/* AES-CMAC Generation Function */
-
-static inline void leftshift_onebit(unsigned char *input,unsigned char *output)
-{
-	int i;
-    unsigned char overflow = 0;
-
-	for ( i=15; i>=0; i-- )
-	{
-		output[i] = input[i] << 1;
-		output[i] |= overflow;
-		overflow = (input[i] & 0x80)?1:0;
-	}
-}
-
-void generate_subkey(unsigned char *key, unsigned char *K1, unsigned char *K2)
-{
-	unsigned char L[16];
-	unsigned char Z[16];
-	unsigned char tmp[16];
-	int i;
-
-	for ( i=0; i<16; i++ ) Z[i] = 0;
-
-	AES_KEY aes;
-	AES_set_encrypt_key(key, 128, &aes);
-
-	AES_encrypt(Z, L, &aes);
-
-	if ( (L[0] & 0x80) == 0 ) /* If MSB(L) = 0, then K1 = L << 1 */
-	{
-		leftshift_onebit(L,K1);
-	} else {    /* Else K1 = ( L << 1 ) (+) Rb */
-        leftshift_onebit(L,tmp);
-        xor_128(tmp,const_Rb,K1);
-    }
-
-	if ( (K1[0] & 0x80) == 0 )
-	{
-        leftshift_onebit(K1,K2);
-    } else {
-        leftshift_onebit(K1,tmp);
-        xor_128(tmp,const_Rb,K2);
-    }
-}
-
-static inline void padding ( unsigned char *lastb, unsigned char *pad, int length )
-{
-	int j;
-
-	/* original last block */
-	for ( j=0; j<16; j++ )
-	{
-		if ( j < length )
-		{
-            pad[j] = lastb[j];
-        } else if ( j == length ) {
-            pad[j] = 0x80;
-        } else {
-            pad[j] = 0x00;
-        }
-	}
-}
-
-void AES_CMAC ( unsigned char *key, unsigned char *input, int length, unsigned char *mac )
-{
-    unsigned char X[16],Y[16], M_last[16], padded[16];
-    unsigned char K1[16], K2[16];
-    int n, i, flag;
-    generate_subkey(key,K1,K2);
-
-    n = (length+15) / 16;       /* n is number of rounds */
-
-    if ( n == 0 )
-	{
-        n = 1;
-        flag = 0;
-    } else {
-		if ( (length%16) == 0 ) { /* last block is a complete block */
-            flag = 1;
-        } else { /* last block is not complete block */
-            flag = 0;
-        }
-
-    }
-
-    if ( flag ) { /* last block is complete block */
-        xor_128(&input[16*(n-1)],K1,M_last);
-    } else {
-        padding(&input[16*(n-1)],padded,length%16);
-        xor_128(padded,K2,M_last);
-    }
-    AES_KEY aes;
-    AES_set_encrypt_key(key, 128, &aes);
-
-    for ( i=0; i<16; i++ ) X[i] = 0;
-    for ( i=0; i<n-1; i++ )
-    {
-        xor_128(X,&input[16*i],Y); /* Y := Mi (+) X  */
-        AES_encrypt(Y, X, &aes); /* X := AES-128(KEY, Y); */
-    }
-
-    xor_128(X,M_last,Y);
-    AES_encrypt(Y, X, &aes);
-
-    for ( i=0; i<16; i++ ) {
-        mac[i] = X[i];
-    }
-}
diff --git a/src/sdl12/SRB2PSP/psp-prxsign/cmac.h b/src/sdl12/SRB2PSP/psp-prxsign/cmac.h
deleted file mode 100644
index 5630458417..0000000000
--- a/src/sdl12/SRB2PSP/psp-prxsign/cmac.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- ---------------------------------------------------------------------------
- Copyright (c) 1998-2008, Brian Gladman, Worcester, UK. All rights reserved.
-
- LICENSE TERMS
-
- The redistribution and use of this software (with or without changes)
- is allowed without the payment of fees or royalties provided that:
-
-  1. source code distributions include the above copyright notice, this
-     list of conditions and the following disclaimer;
-
-  2. binary distributions include the above copyright notice, this list
-     of conditions and the following disclaimer in their documentation;
-
-  3. the name of the copyright holder is not used to endorse products
-     built using this software without specific written permission.
-
- DISCLAIMER
-
- This software is provided 'as is' with no explicit or implied warranties
- in respect of its properties, including, but not limited to, correctness
- and/or fitness for purpose.
- ---------------------------------------------------------------------------
- Issue Date: 6/10/2008
-*/
-
-#ifndef CMAC_AES_H
-#define CMAC_AES_H
-
-#include <string.h>
-#include <openssl/aes.h>
-
-void xor_128(unsigned char *a, unsigned char *b, unsigned char *out);
-void generate_subkey(unsigned char *key, unsigned char *K1, unsigned char *K2);
-void AES_CMAC(unsigned char *key, unsigned char *input, int length, unsigned char *mac);
-
-#endif
diff --git a/src/sdl12/SRB2PSP/psp-prxsign/kirk_header.h b/src/sdl12/SRB2PSP/psp-prxsign/kirk_header.h
deleted file mode 100644
index 76c921ef06..0000000000
--- a/src/sdl12/SRB2PSP/psp-prxsign/kirk_header.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __kirk_header__
-#define __kirk_header__
-
-static unsigned int size_kirk_header = 272;
-static unsigned char kirk_header[] __attribute__((aligned(16))) = {
-	0x2a, 0x4f, 0x3c, 0x49, 0x8a, 0x73, 0x4e, 0xd1, 0xf4, 0x55, 0x93, 0x0b, 0x9b, 0x69, 0xdc, 0x65,
-	0x73, 0x22, 0x69, 0xd3, 0x73, 0x96, 0x7a, 0x60, 0x66, 0x8c, 0x88, 0xcf, 0x2f, 0x83, 0x58, 0xbc,
-	0xb2, 0x00, 0x0a, 0x11, 0x72, 0x43, 0xc5, 0xde, 0xef, 0xbb, 0x2c, 0xbf, 0x97, 0x79, 0x6b, 0x9c,
-	0x10, 0x1e, 0x7c, 0x57, 0x0e, 0xdb, 0x1d, 0x61, 0x6e, 0xb5, 0xf9, 0x3d, 0x35, 0xe9, 0x5c, 0xd8,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x33, 0x55, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x7e, 0x50, 0x53, 0x50, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x22, 0x74, 0x69, 0x66, 0x70, 0x73,
-	0x70, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x33, 0x55, 0x00, 0x50, 0x34, 0x55, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x40, 0x67, 0x3d, 0x00, 0x50, 0x55, 0x0a, 0x01, 0x10, 0x00, 0x40, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x6b, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x4c, 0x6b, 0x3d, 0x00, 0xcc, 0xbb, 0x11, 0x01, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-};
-
-#endif
diff --git a/src/sdl12/SRB2PSP/psp-prxsign/main.c b/src/sdl12/SRB2PSP/psp-prxsign/main.c
deleted file mode 100644
index a970ae6c1f..0000000000
--- a/src/sdl12/SRB2PSP/psp-prxsign/main.c
+++ /dev/null
@@ -1,190 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <openssl/aes.h>
-#include <openssl/sha.h>
-#include <elf.h>
-#include "cmac.h"
-#include "kirk_header.h"
-#include "psp_header.h"
-
-typedef unsigned char byte;
-
-typedef struct {
-	byte key[16];
-	byte ckey[16];
-	byte head_hash[16];
-	byte data_hash[16];
-	byte unused[32];
-	int unk1; // 1
-	int unk2; // 0
-	int unk3[2];
-	int datasize;
-	int dataoffset;
-	int unk4[6];
-} kirk1head_t;
-
-// secret kirk command 1 key
-byte kirk_key[] = {
-	0x98, 0xc9, 0x40, 0x97, 0x5c, 0x1d, 0x10, 0xe8, 0x7f, 0xe6, 0x0e, 0xa3, 0xfd, 0x03, 0xa8, 0xba
-};
-
-int main(int argc, char **argv)
-{
-	int i, relrem, size, fullsize, blocks, datasize;
-	size_t j;
-	kirk1head_t kirk;
-	byte iv[16];
-	byte cmac[32];
-	byte subk[32];
-	byte psph[0x150];
-	byte *datablob;
-	byte *filebuff;
-	FILE *f;
-	AES_KEY aesKey;
-	Elf32_Ehdr *ehdr;
-	Elf32_Shdr *shdr;
-	Elf32_Rel *relo;
-
-	if(argc < 3) {
-		printf("Usage: %s unsigned.prx signed.prx\n", argv[0]);
-		return 1;
-	}
-
-	// clean kirk header, use modified PRXdecrypter to get it
-	/*f = fopen(argv[1], "rb");
-	if(!f) {
-		printf("failed to open %s\n", argv[1]);
-		return 1;
-	}
-	fread(&kirk, 1, sizeof(kirk1head_t), f);
-	fclose(f);*/
-	//memcpy(&kirk, kirk_header, size_kirk_header);
-	memcpy(&kirk, kirk_header, sizeof(kirk1head_t));
-
-	datasize = kirk.datasize;
-	if(datasize % 16) datasize += 16 - (datasize % 16);
-
-	// original ~PSP header
-	/*f = fopen(argv[2], "rb");
-	if(!f) {
-		free(datablob);
-		printf("failed to open %s\n", argv[2]);
-		return 1;
-	}
-	fread(psph, 1, 0x150, f);
-	fclose(f);*/
-	memcpy(&psph, psp_header, size_psp_header);
-
-	// file to encrypt
-	f = fopen(argv[1], "rb");
-	if(!f) {
-		printf("psp-prxsign: Unable to open PRX\n");
-		return 1;
-	}
-	fseek(f, 0, SEEK_END);
-	size = ftell(f);
-	if(size > datasize - 16) {
-		fclose(f);
-		printf("psp-prxsign: PRX is too large\n");
-		return 1;
-	}
-	printf("%s : %i\n", argv[1], size);
-	fseek(f, 0, SEEK_SET);
-
-	fullsize = datasize + 0x30 + kirk.dataoffset;
-
-	// datablob holds everything needed to calculate data HASH
-	datablob = malloc(fullsize);
-	if(!datablob) {
-		fclose(f);
-		printf("psp-prxsign: Failed to allocate memory for blob\n");
-		return 1;
-	}
-	memset(datablob, 0, fullsize);
-	memcpy(datablob, &kirk.unk1, 0x30);
-	memcpy(datablob + 0x30, psph, kirk.dataoffset);
-	filebuff = datablob + 0x30 + kirk.dataoffset;
-
-	int whocares = fread(filebuff, 1, size, f);
-	(void)whocares;
-	fclose(f);
-
-	// remove relocations type 7
-	relrem = 0;
-	ehdr = (void *)filebuff;
-	if(!memcmp(ehdr->e_ident, ELFMAG, 4) && ehdr->e_shnum) {
-		shdr = (void *)(filebuff + ehdr->e_shoff);
-		for(i = 0; i < ehdr->e_shnum; i++) {
-			if(shdr[i].sh_type == 0x700000A0) {
-				relo = (void *)(filebuff + shdr[i].sh_offset);
-				for(j = 0; j < shdr[i].sh_size / sizeof(Elf32_Rel); j++) {
-					if((relo[j].r_info & 0xFF) == 7) {
-						relo[j].r_info = 0;
-						relrem++;
-					}
-				}
-			}
-		}
-	}
-	//printf("%i relocations type 7 removed\ncalculating ...\n", relrem);
-
-	// get AES/CMAC key
-	AES_set_decrypt_key(kirk_key, 128, &aesKey);
-	memset(iv, 0, 16);
-	AES_cbc_encrypt(kirk.key, kirk.key, 32, &aesKey, iv, AES_DECRYPT);
-
-	// check header hash, optional
-	// if you take correct kirk header, hash is always correct
-/*	AES_CMAC(kirk.ckey, datablob, 0x30, cmac);
-	if(memcmp(cmac, kirk.head_hash, 16)) {
-		free(datablob);
-		printf("header hash invalid\n");
-		return 1;
-	}
-*/
-
-	// encrypt input file
-	AES_set_encrypt_key(kirk.key, 128, &aesKey);
-	memset(iv, 0, 16);
-	AES_cbc_encrypt(filebuff, filebuff, datasize, &aesKey, iv, AES_ENCRYPT);
-
-	// make CMAC correct
-	generate_subkey(kirk.ckey, subk, subk + 16);
-	AES_set_encrypt_key(kirk.ckey, 128, &aesKey);
-	blocks = fullsize / 16;
-	memset(cmac, 0, 16);
-	for(i = 0; i < blocks - 1; i++) {
-		xor_128(cmac, &datablob[16 * i], cmac + 16);
-		AES_encrypt(cmac + 16, cmac, &aesKey);
-	}
-
-	AES_set_decrypt_key(kirk.ckey, 128, &aesKey);
-	AES_decrypt(kirk.data_hash, iv, &aesKey);
-	xor_128(cmac, iv, iv);
-	xor_128(iv, subk, &datablob[16 * (blocks-1)]);
-	// check it, optional
-	// it works, this is only if you want to change something
-/*	AES_CMAC(kirk.ckey, datablob, fullsize, cmac);
-	if(memcmp(cmac, kirk.data_hash, 16)) {
-		fclose(f);
-		free(datablob);
-		printf("data hash calculation error\n");
-		return 1;
-	}
-*/
-	f = fopen(argv[2], "wb");
-	if(!f) {
-		free(datablob);
-		printf("psp-prxsign: Failed to write signed PRX\n");
-		return 1;
-	}
-	//printf("saving ...\n");
-	// save ~PSP header
-	fwrite(psph, 1, 0x150, f);
-	// save encrypted file
-	fwrite(filebuff, 1, fullsize - 0x30 - kirk.dataoffset, f);
-	fclose(f);
-	free(datablob);
-	//printf("everything done\n");
-	return 0;
-}
diff --git a/src/sdl12/SRB2PSP/psp-prxsign/psp_header.h b/src/sdl12/SRB2PSP/psp-prxsign/psp_header.h
deleted file mode 100644
index 7faef832c9..0000000000
--- a/src/sdl12/SRB2PSP/psp-prxsign/psp_header.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef __psp_header__
-#define __psp_header__
-
-static unsigned int size_psp_header = 336;
-static unsigned char psp_header[] __attribute__((aligned(16))) = {
-	0x7e, 0x50, 0x53, 0x50, 0x00, 0x02, 0x00, 0x00, 0x01, 0x01, 0x22, 0x74, 0x69, 0x66, 0x70, 0x73,
-	0x70, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x00, 0x33, 0x55, 0x00, 0x50, 0x34, 0x55, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x40, 0x67, 0x3d, 0x00, 0x50, 0x55, 0x0a, 0x01, 0x10, 0x00, 0x40, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x6b, 0x3d, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x4c, 0x6b, 0x3d, 0x00, 0xcc, 0xbb, 0x11, 0x01, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00,
-	0x90, 0x82, 0x4c, 0x48, 0xa3, 0x53, 0xb2, 0x1b, 0x13, 0x95, 0x2f, 0xf1, 0x0b, 0x90, 0x9c, 0x11,
-	0x61, 0x40, 0x20, 0x67, 0xf8, 0xdb, 0xfc, 0x95, 0x5c, 0xbe, 0x8c, 0x80, 0xf3, 0x92, 0x03, 0x01,
-	0xb0, 0xbe, 0xf5, 0xf8, 0xa1, 0xaf, 0xaf, 0xa8, 0x38, 0x26, 0x63, 0x09, 0x26, 0x0e, 0xb7, 0xd5,
-	0x00, 0x33, 0x55, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x5c, 0x3e, 0x03, 0x22, 0xe5, 0x7d, 0xb9, 0xd1, 0x13, 0x67, 0x97, 0xa3, 0x5b, 0xd8, 0x77, 0x1f,
-	0xf0, 0x05, 0xf3, 0xad, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x4a, 0xd7, 0x37,
-	0xc2, 0x8f, 0x15, 0x43, 0x33, 0x93, 0x4d, 0x5b, 0xc0, 0x6e, 0xe4, 0x00, 0xc6, 0x0a, 0x71, 0x11,
-	0x98, 0xb6, 0xc3, 0xb7, 0x59, 0x66, 0x21, 0xa8, 0x65, 0xf6, 0x53, 0xa9, 0x7a, 0x48, 0x17, 0xb6,
-};
-
-#endif
diff --git a/src/sdl12/i_main.c b/src/sdl12/i_main.c
index 9300963738..180be311ea 100644
--- a/src/sdl12/i_main.c
+++ b/src/sdl12/i_main.c
@@ -39,15 +39,6 @@ static char gateway[16] = {0};
 static char netmask[16] = {0};
 #endif
 
-#ifdef _PSP
-#include <pspmoduleinfo.h>
-#include <pspthreadman.h>
-PSP_HEAP_SIZE_KB(24*1024);
-PSP_MAIN_THREAD_ATTR(PSP_THREAD_ATTR_USER | PSP_THREAD_ATTR_VFPU);
-PSP_MAIN_THREAD_NAME("SRB2");
-PSP_MAIN_THREAD_STACK_SIZE_KB(256);
-#endif
-
 #ifdef HAVE_SDL
 
 #ifdef HAVE_TTF
diff --git a/src/sdl12/i_system.c b/src/sdl12/i_system.c
index 1d577b7429..1b62e81e4f 100644
--- a/src/sdl12/i_system.c
+++ b/src/sdl12/i_system.c
@@ -78,9 +78,6 @@ typedef BOOL (WINAPI *p_SetProcessAffinityMask) (HANDLE, DWORD_PTR);
 #define HAVE_SDLCPUINFO
 #endif
 
-#ifdef _PSP
-//#include <pspiofilemgr.h>
-#else
 #if defined (__unix__) || defined(__APPLE__) || (defined (UNIXCOMMON) && !defined (__HAIKU__) && !defined (_WII))
 #if defined (__linux__)
 #include <sys/vfs.h>
@@ -96,9 +93,8 @@ typedef BOOL (WINAPI *p_SetProcessAffinityMask) (HANDLE, DWORD_PTR);
 #include <sys/vmmeter.h>
 #endif
 #endif
-#endif
 
-#if defined (__linux__) || (defined (UNIXCOMMON) && !defined (_PSP) && !defined (__HAIKU__) && !defined (_WII))
+#if defined (__linux__) || (defined (UNIXCOMMON) && !defined (__HAIKU__) && !defined (_WII))
 #ifndef NOTERMIOS
 #include <termios.h>
 #include <sys/ioctl.h> // ioctl
@@ -147,13 +143,6 @@ typedef BOOL (WINAPI *p_SetProcessAffinityMask) (HANDLE, DWORD_PTR);
 #define DEFAULTWADLOCATION2 "usb:/srb2wii"
 #define DEFAULTSEARCHPATH1 "sd:/srb2wii"
 #define DEFAULTSEARCHPATH2 "usb:/srb2wii"
-#elif defined (_PSP)
-#define NOCWD
-#define NOHOME
-#define DEFAULTWADLOCATION1 "host0:/bin/Resources"
-#define DEFAULTWADLOCATION2 "ms0:/PSP/GAME/SRB2PSP"
-#define DEFAULTSEARCHPATH1 "host0:/"
-#define DEFAULTSEARCHPATH2 "ms0:/PSP/GAME/SRB2PSP"
 #elif defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
 #define DEFAULTWADLOCATION1 "/usr/local/share/games/SRB2"
 #define DEFAULTWADLOCATION2 "/usr/local/games/SRB2"
@@ -972,11 +961,6 @@ void I_GetJoystickEvents(void)
 					event.type = ev_keydown;
 				else
 					event.type = ev_keyup;
-#ifdef _PSP
-				if (i == 12)
-					event.data1 = KEY_ESCAPE;
-				else
-#endif
 				event.data1 = KEY_JOY1 + i;
 				D_PostEvent(&event);
 			}
@@ -2436,9 +2420,7 @@ void I_ShutdownSystem(void)
 
 void I_GetDiskFreeSpace(INT64 *freespace)
 {
-#if defined (_PSP)
-	*freespace = 0;
-#elif defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
+#if defined (__unix__) || defined(__APPLE__) || defined (UNIXCOMMON)
 #if defined (SOLARIS) || defined (__HAIKU__) || defined (_WII)
 	*freespace = INT32_MAX;
 	return;
@@ -2485,9 +2467,6 @@ char *I_GetUserName(void)
 #ifdef GP2X
 	static char username[MAXPLAYERNAME] = "GP2XUSER";
 	return username;
-#elif defined (PSP)
-	static char username[MAXPLAYERNAME] = "PSPUSER";
-	return username;
 #elif !defined (_WIN32_WCE)
 	static char username[MAXPLAYERNAME];
 	char *p;
@@ -2667,7 +2646,7 @@ static const char *locateWad(void)
 	if (((envstr = I_GetEnv("SRB2WADDIR")) != NULL) && isWadPathOk(envstr))
 		return envstr;
 
-#if defined(_WIN32_WCE) || defined(_PSP)
+#if defined(_WIN32_WCE)
 	// examine argv[0]
 	strcpy(returnWadPath, myargv[0]);
 	pathonly(returnWadPath);
@@ -2792,12 +2771,7 @@ const char *I_LocateWad(void)
 // quick fix for compil
 UINT32 I_GetFreeMem(UINT32 *total)
 {
-#if defined (_PSP)
-	// PSP
-	if (total)
-		*total = 32<<20;
-	return 16<<20;
-#elif defined (FREEBSD)
+#if defined (FREEBSD)
 	struct vmmeter sum;
 	kvm_t *kd;
 	struct nlist namelist[] =
diff --git a/src/sdl12/i_video.c b/src/sdl12/i_video.c
index 00e1a1b3d0..8ddec58042 100644
--- a/src/sdl12/i_video.c
+++ b/src/sdl12/i_video.c
@@ -54,7 +54,7 @@
 
 #ifdef HAVE_IMAGE
 #include "SDL_image.h"
-#elseif !(defined (_WIN32_WCE) || defined (PSP) || defined(GP2X))
+#elseif !(defined (_WIN32_WCE) || defined(GP2X))
 #define LOAD_XPM //I want XPM!
 #include "IMG_xpm.c" //Alam: I don't want to add SDL_Image.dll/so
 #define HAVE_IMAGE //I have SDL_Image, sortof
@@ -105,7 +105,7 @@
 #endif
 
 // maximum number of windowed modes (see windowedModes[][])
-#if defined (_WIN32_WCE) || defined (PSP) || defined(GP2X)
+#if defined (_WIN32_WCE) || defined(GP2X)
 #define MAXWINMODES (1)
 #elif defined (WII)
 #define MAXWINMODES (8)
@@ -163,14 +163,10 @@ static const Uint32      surfaceFlagsW = SDL_HWPALETTE; //Can't handle WinCE cha
 #else
 static const Uint32      surfaceFlagsW = SDL_HWPALETTE/*|SDL_RESIZABLE*/;
 #endif
-#ifdef _PSP
-static const Uint32      surfaceFlagsF = SDL_HWSURFACE|SDL_FULLSCREEN;
-#else
 static const Uint32      surfaceFlagsF = SDL_HWPALETTE|SDL_FULLSCREEN;
-#endif
 static       SDL_bool    mousegrabok = SDL_TRUE;
 #define HalfWarpMouse(x,y) SDL_WarpMouse((Uint16)(x/2),(Uint16)(y/2))
-#if defined (_WIN32_WCE) || defined (PSP) || defined(GP2X)
+#if defined (_WIN32_WCE) || defined(GP2X)
 static       SDL_bool    videoblitok = SDL_TRUE;
 #else
 static       SDL_bool    videoblitok = SDL_FALSE;
@@ -180,7 +176,7 @@ static       SDL_bool    exposevideo = SDL_FALSE;
 // windowed video modes from which to choose from.
 static INT32 windowedModes[MAXWINMODES][2] =
 {
-#if !(defined (_WIN32_WCE) || defined (PSP) || defined (GP2X))
+#if !(defined (_WIN32_WCE) || defined (GP2X))
 #ifndef WII
 	{1920,1200}, // 1.60,6.00
 	{1680,1050}, // 1.60,5.25
@@ -223,9 +219,6 @@ static void SDLSetMode(INT32 width, INT32 height, INT32 bpp, Uint32 flags)
 #ifdef _WII
 	bpp = 16; // 8-bit mode poo
 #endif
-#ifdef PSP
-	bpp = 16;
-#endif
 #ifdef GP2X
 	bpp = 16;
 #ifdef HAVE_GP2XSDL
@@ -628,7 +621,7 @@ static void VID_Command_Info_f (void)
 
 static void VID_Command_ModeList_f(void)
 {
-#if !defined (_WIN32_WCE) && !defined (_PSP) &&  !defined(GP2X)
+#if !defined (_WIN32_WCE) && !defined(GP2X)
 	INT32 i;
 #ifdef HWRENDER
 	if (rendermode == render_opengl)
@@ -901,21 +894,6 @@ static inline void SDLJoyRemap(event_t *event)
 		}
 		//I_OutputMsg("Button %i: event key %i and type: %i\n", button, event->data1, event->type);
 	}
-#elif defined(_PSP)
-	if (event->data1 > KEY_JOY1 + 9 + 2) // All button after D-Pad and Select/Start
-		event->data1 -= 4; // remap D-pad to Hats, offset of -4
-	else if (event->data1 == KEY_JOY1 + 6) // Down
-		event->data1 = KEY_HAT1+1;
-	else if (event->data1 == KEY_JOY1 + 7) // Left
-		event->data1 = KEY_HAT1+2;
-	else if (event->data1 == KEY_JOY1 + 8) // Up
-		event->data1 = KEY_HAT1+0;
-	else if (event->data1 == KEY_JOY1 + 9) // Right
-		event->data1 = KEY_HAT1+3;
-	else if (event->data1 == KEY_JOY1 + 10) // Select
-		event->data1 = KEY_TAB;
-	else if (event->data1 == KEY_JOY1 + 11) // Start
-		event->data1 = KEY_ESCAPE;
 #else
 	(void)event;
 #endif
@@ -1262,7 +1240,7 @@ static inline boolean I_SkipFrame(void)
 
 	skip = !skip;
 
-#if 0 //(defined (GP2X) || defined (PSP))
+#if 0 //defined (GP2X)
 	return skip;
 #endif
 
@@ -1833,11 +1811,7 @@ void I_StartupGraphics(void)
 #ifdef FILTERS
 	CV_RegisterVar (&cv_filter);
 #endif
-#ifdef _PSP // pitch is 0, mod of 0 crash
-	disable_mouse = true;
-#else
 	disable_mouse = M_CheckParm("-nomouse");
-#endif
 	if (disable_mouse)
 		I_PutEnv(SDLNOMOUSE);
 	if (!I_GetEnv("SDL_VIDEO_CENTERED"))
diff --git a/src/sdl12/ogl_sdl.c b/src/sdl12/ogl_sdl.c
index 8fda4aeb6b..0790d5eff4 100644
--- a/src/sdl12/ogl_sdl.c
+++ b/src/sdl12/ogl_sdl.c
@@ -62,13 +62,8 @@ PFNglGetIntegerv pglGetIntegerv;
 PFNglGetString pglGetString;
 #endif
 
-#ifdef _PSP
-static const Uint32 WOGLFlags = SDL_HWSURFACE|SDL_OPENGL/*|SDL_RESIZABLE*/;
-static const Uint32 FOGLFlags = SDL_HWSURFACE|SDL_OPENGL|SDL_FULLSCREEN;
-#else
 static const Uint32 WOGLFlags = SDL_OPENGL/*|SDL_RESIZABLE*/;
 static const Uint32 FOGLFlags = SDL_OPENGL|SDL_FULLSCREEN;
-#endif
 
 /**	\brief SDL video display surface
 */
diff --git a/src/sdl12/sdl_sound.c b/src/sdl12/sdl_sound.c
index 990136ef72..261d7f6223 100644
--- a/src/sdl12/sdl_sound.c
+++ b/src/sdl12/sdl_sound.c
@@ -85,7 +85,7 @@
 //  mixing buffer, and the samplerate of the raw data.
 
 // Needed for calling the actual sound output.
-#if defined (_WIN32_WCE) || defined (PSP) || defined(GP2X)
+#if defined (_WIN32_WCE) || defined(GP2X)
 #define NUM_CHANNELS            MIX_CHANNELS
 #else
 #define NUM_CHANNELS            MIX_CHANNELS*4
@@ -93,7 +93,7 @@
 
 #define INDEXOFSFX(x) ((sfxinfo_t *)x - S_sfx)
 
-#if defined (_WIN32_WCE) || defined (PSP)
+#if defined (_WIN32_WCE)
 static Uint16 samplecount = 512; //Alam: .5KB samplecount at 11025hz is 46.439909297052154195011337868481ms of buffer
 #elif defined(GP2X)
 static Uint16 samplecount = 128;
@@ -1225,13 +1225,7 @@ void I_StartupSound(void)
 		audio.samples /= 2;
 	}
 
-#if defined (_PSP)  && defined (HAVE_MIXER) // Bug in PSP's SDL_OpenAudio, can not open twice
-	I_SetChannels();
-	sound_started = true;
-	Snd_Mutex = SDL_CreateMutex();
-#else
 	if (nosound)
-#endif
 		return;
 
 #ifdef HW3SOUND
@@ -1513,7 +1507,7 @@ void I_InitMusic(void)
 #endif
 	I_OutputMsg("Linked with SDL_mixer version: %d.%d.%d\n",
 	            MIXlinked->major, MIXlinked->minor, MIXlinked->patch);
-#if !(defined (PSP) || defined(GP2X) || defined (WII))
+#if !(defined(GP2X) || defined (WII))
 	if (audio.freq < 44100 && !M_CheckParm ("-freq")) //I want atleast 44Khz
 	{
 		audio.samples = (Uint16)(audio.samples*(INT32)(44100/audio.freq));
diff --git a/src/z_zone.c b/src/z_zone.c
index eecb6e808d..a30b160a39 100644
--- a/src/z_zone.c
+++ b/src/z_zone.c
@@ -220,7 +220,7 @@ static void *xm(size_t size)
 
 		if (p == NULL)
 		{
-#if defined (_NDS) | defined (_PSP)
+#if defined (_NDS)
 			// Temporary-ish debugging measure
 			Command_Memfree_f();
 #endif
-- 
GitLab