No me rula pero debe ser problema de algo de este código:
int salir=0;
	SDL_Event event;
	while (!salir){
		while (SDL_PollEvent (&event)) {		
			if (event.type == SDL_JOYBUTTONDOWN) {			
				if (event.jbutton.button == PSP_BUTTON_CIRCLE){
					salir=1;
				}
			}				
		}
                //...alguna llamada a alguna función
                SDL_Delay(100);
        }
-las funciones del bucle no tocan para nada el valor de la varible local salir
-todo esto dentro del main, y no me sale del programa ese es el problema.
edito: estoy usando los defines de eskema