Difference between revisions of "PlayStation Portable"

From ScummVM :: Wiki
Jump to navigation Jump to search
m (The PSP has plugins support now!)
m
 
(37 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
{{PortFeatures|
 
{{PortFeatures|
 
name=PlayStation Portable|
 
name=PlayStation Portable|
backend=psp + sdl|
+
backend=psp|
 
version={{StableVersion}}|
 
version={{StableVersion}}|
 
status=Maintained|
 
status=Maintained|
Line 9: Line 9:
 
zlib=yes|
 
zlib=yes|
 
plugins=yes|
 
plugins=yes|
 +
16bits=yes|
 +
buildbot=yes|
 
firstversion=0.8.0|
 
firstversion=0.8.0|
maintainer=[[User:joostp|joostp]]|
+
maintainer=[[User:rsn8887|rsn8887]], [[User:joostp|joostp]], [[User:bluddy|bluddy]]|
 +
packager=[[User:rsn8887|rsn8887]], [[User:joostp|joostp]]|
 
pkgend=-psp.zip|
 
pkgend=-psp.zip|
 
forum=3|
 
forum=3|
 +
icon=psp|
  
 
agi=yes|
 
agi=yes|
Line 18: Line 22:
 
cine=yes|
 
cine=yes|
 
cruise=yes|
 
cruise=yes|
 +
draci=yes|
 
drascula=yes|
 
drascula=yes|
 
gob=yes|
 
gob=yes|
Line 31: Line 36:
 
sword1=yes|
 
sword1=yes|
 
sword2=yes|
 
sword2=yes|
 +
teenagent=yes|
 
tinsel=yes|
 
tinsel=yes|
 
touche=yes|
 
touche=yes|
Line 36: Line 42:
 
}}
 
}}
  
Based on [http://scummvm.svn.sourceforge.net/viewvc/scummvm/scummvm/trunk/backends/platform/psp/README.PSP.in README.PSP] and [http://forums.scummvm.org/viewtopic.php?t=2626&highlight= jak66's forum post].
+
ScummVM has been ported to the [[Sony]] PlayStation Portable.  The information contained on this page is based on [https://raw.githubusercontent.com/scummvm/scummvm/master/backends/platform/psp/README.PSP README.PSP] and [http://forums.scummvm.org/viewtopic.php?t=2626&highlight= jak66's forum post].
  
= Installation =
+
== Installation ==
First, look up the version/firmware for your PSP. You can do this by going to system settings and then system information.
 
  
You will get 3 lines:
+
* Copy the relevant game datafiles to your memory stick (location doesn't matter).
<pre>MAC Address: (Your PSP's specific MAC address)
+
* Download the latest psp development version [https://buildbot.scummvm.org/builds.html here]
System software version: (Your PSP's firmware version)
+
* Install ScummVM like any other homebrew.
Nickname: (The nickname you put onto PSP)</pre>
+
* Run ScummVM and use the launcher to add games and run them.
 +
* Press Start to return to the launcher and play another game.
  
 +
== Controls ==
 +
{{PSPControls}}
 +
 +
== Image Viewer ==
 +
For your convenience, I've included a simple image viewer in the PSP port.
 +
You can view anything you want while playing a game.
 +
There are a few simple rules to follow:
 +
 +
* Images must be of PNG format. If you have images in another format, many graphics utilities will convert them for you.
  
== Firmware Versions ==
+
* Images must be named psp_image1.png, psp_image2.png etc. This is to make sure there's no possible conflict between image files and game files.
There are 28 different firmware versions:
 
  
=== Official Versions ===
+
* Images must be placed in the game directories. When using the image viewer,only the images of the particular game being played will be available for viewing.
*1.00
 
*1.50
 
*1.51
 
*1.52
 
*2.00
 
*2.01
 
*2.50
 
*2.60
 
*2.70
 
*2.71
 
*2.80
 
*2.81
 
*3.00
 
*3.01
 
*3.02
 
*3.03
 
*3.10
 
*3.11
 
*3.30
 
*3.40
 
 
  
=== Unofficial Versions ===
+
* Don't place any images in the ScummVM directory, or you won't be able to seethe images in the game directories.
  
*1.50 CF (Custom Firmware, Shows as 1.50)
+
* There's no guarantee that you'll be able to view your image. This is because big images take a lot of memory (more than the size of the image on disk). If there isn't enough memory left to show the image, ScummVM will tell you so. Try to make the image smaller by either shrinking it or reducing the colors to 256 color palette mode.
*2.71 SE (Special Edition) (5 different versions; A, B, B', B" and C)
 
*3.02 OE (Open Edition) (2 different versions; A and B)
 
*3.03 OE (Open Edition) (1 version; A)
 
*3.10 OE (Open Edition) (2 different versions; A and A')
 
*3.30 OE (Open Edition) (2 different versions; A and A')
 
*3.40 OE (Open Edition) (1 version; A)
 
  
== Installing onto Memorystick ==
+
== Notes ==
Now that you know your firmware version we can begin with the installation instructions which are different for the firmwares, depending on the exploit they are using. <tt>X:/</tt> is the drive given to your PSP by windows (i.e. <tt>G:/</tt>). XMB stands for Cross Media Bar, which is the menu you get on your PSP (also on PS3).
 
  
=== Firmware 1.00/1.50 CF - No Exploit ===
+
* Notice that you can switch between games! This is much faster than quitting and having to start ScummVM all over again. Go to the global menu and choose 'Return To Launcher'. (Some games may not have the Return To Launcher option available yet.)
Firmware 1.00 needed no exploit to run homebrew as there was no security against the system from running unsigned eboot.pbp's. Firmware 1.50 CF patched a PSP running a regular firmware 1.50 so that it could run unsigned eboot.pbp's like firmware 1.00 (among other features).
 
  
To install ScummVM on one of these firmwares, copy the folder inside the single-eboot folder from the ScummVM PSP zip to <tt>X:/PSP/GAME/</tt>. Then run from the XMB.  
+
* The PSP version of ScummVM uses the Media Engine to accelerate decoding of MP3 files. This means that if you have the choice of compressing using Ogg files or MP3 files, choose MP3 -- the game will generally run faster.
  
=== Firmware 1.50/1.50 CF - kxploit ===
+
* Plugin files are NOT interchangeable between ScummVM versions! You must copy ALL the plugin files that come with every version of ScummVM. They sit in the /plugin subdirectory. If you get a crash upon startup, try deleting all the existing plugin files in the plugin directory and copying the new ones over again.
Patching the vunerability that firmware 1.00 had, firmware 1.50 was released. Shortly after, an exploit was found, 'swaploit', which involved swaping between two memory sticks which enabled the homebrew to load. Later, kxploit was released which could load homebrew from one memory stick using 2 folders (i.e. <tt>example</tt> and <tt>example%</tt>)
 
  
To install ScummVM on one of these firmwares, copy the folders inside the 1.50-eboot folder from the ScummVM PSP zip to <tt>X:/PSP/GAME/</tt>. Then run from the XMB.
+
== Frequently Asked Questions ==
  
=== Firmware 2.00/2.01/2.50/2.60/2.70/2.71/2.80 - Eloader ===
+
'''Q''':  Scummvm crashes upon starting up!
It was firmware 1.51 that blocked kxploit, but many PSP users refused to update. This caused Sony to release a major update that would tempt people to update. Thus, firmware 2.00 was released which came with a built-in web browser, and caused many PSP users to update. However, one of the new features brought two new exploits (both are TIFF exploits). The first was exclusive to 2.00 and was patched with 2.01. The second wasn't discovered until after firmware 2.80 was released, a vulnerability with libtiff. Team Noobz has built on these exploits to bring the homebrew community Eboot Loaders (called Eloader)
 
  
To install ScummVM on one of these firmwares, copy the folder inside the single-eboot folder from the ScummVM PSP zip to <tt>X:/PSP/GAME/</tt>. You now also need to install Eloader, the newest version of which can be found at [http://www.noobz.eu www.noobz.eu]. Download the exe and follow the instructions to make sure you install successfully. Once you have Eloader installed, turn your PSP on and go to the XMB photo viewer. There should be a new folder called eloader0995. Trying to open this folder will do one of two things:
+
'''A''': See the first note above.
  
# Crash your PSP. If this should happen, restart your PSP and try again.
 
# Start Eloader. Run from Eloader menu.
 
  
=== Firmware 2.71 SE/3.02 OE/3.03 OE/3.10 OE/3.30 OE/3.40 OE ===
+
'''Q''':  Pressing select doesn't make the virtual keyboard show up on screen!
All of these custom firmwares were made by Dark_AleX. They combine firmware 1.50 with another firmware (as stated in their names) so PSP users can play homebrew and use higher firmware features (most recently POPS the official PS1 emulator), without needing devhook, two PSPs or a modchip.
 
  
To install ScummVM on one of these firmwares, copy the folders inside the 1.50-eboot folder from the ScummVM PSP zip to <tt>X:/PSP/GAME150/</tt>. Then run from the XMB.
+
'''A''':  You need to make sure that the kbd.zip file is in the same directory as the ScummVM executable.
Alternatively, copy the folder inside the single-eboot folder from the ScummVM PSP zip to <tt>X:/PSP/GAME150/</tt>. Then run from the XMB.
 
  
=== Firmware 1.51/1.52/2.81/3.00/3.01/3.02/3.10/3.11/3.30/3.40 ===
 
Currently there is no exploit that allows you to run unsigned eboots on these firmwares. 1.51, 1.52, 2.81, 3.00, 3.01 and 3.02 can upgrade to a higher firmware that runs homebrew.
 
  
== Notes ==
+
'''Q''':  What do I need to run the games?
* You can downgrade your PSP's firmware to 1.50, but doing so can completely break your PSP (a process called "bricking", as afterward your PSP is essentially nothing but a fancy brick). The reason some brick is mainly due to a hardware problem. Some PSP's have a motherboard referred to as TA-082, and any PSP with this motherboard will not allow 1.50 to be run on the PSP, therefore downgrading will irrevocably break such a PSP.
+
 
 +
'''A''':  A PSP that can run homebrew and the necessary datafiles for the game you want to play.
 +
 
 +
 
 +
'''Q''':  Can I run game X with this?
 +
 
 +
'''A''':  You can find the list of supported games on the compatibility page at http://www.scummvm.org. Note that ScummVM is NOT an emulator. The supported games engines have been painstakingly rewritten. It's not easy to add support for a game you want that currently isn't supported.
 +
 
 +
 
 +
'''Q''':  My Monkey Island 1 doesn't have any music, what gives?
 +
 
 +
'''A''':  If your version of Monkey Island came on a CD then it has the music as CD Audio tracks. You need to rip those to MP3/Ogg (MP3 is preferred), naming them track1.mp3 track2.mp3 etc. and copy them to the same directory as the game datafiles for music to work.
 +
 
 +
 
 +
'''Q''':  Game X crashes, or feature Y doesn't work. Can you fix this?
 +
 
 +
'''A''':  Possibly. Because of the large amount of games ScummVM supports we obviously haven't played them all start-to-finish on the PSP, so it's possible there are bugs or issues that we're not aware of. When you encounter such a bug, please use the "Bug Tracker" you find linked on the ScummVM website, and mention all relevant info i.e. that you're using the PSP version, which ScummVM version it is, if the problem exists in a recent PC version, a detailed description of the problem, and if at all possible a nearby savegame. This will make it much easier for us to reproduce (and hopefully fix) the problem.
 +
 
 +
== Building the source code ==
 +
 
 +
To build ScummVM for PSP you need:
 +
 
 +
* ScummVM source code (svn co https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk)
 +
 
 +
* PSP toolchain (svn co svn://svn.pspdev.org/psp/trunk/psptoolchain)
 +
 
 +
* PSPSDK (svn co svn://svn.pspdev.org/psp/trunk/pspsdk)Note: This usually gets installed by the PSP toolchain, so you don't have to do it manually.
 +
 
 +
* zlib (svn co svn://svn.pspdev.org/psp/trunk/zlib)
 +
 
 +
* libPNG (svn co svn://svn.pspdev.org/psp/trunk/libpng)
 +
 
 +
* libmad(x) (svn co svn://svn.pspdev.org/psp/trunk/libmad)
 +
 
 +
* libTremor(x) (svn co svn://svn.pspdev.org/psp/trunk/libTremor)
  
= Controls =
+
(x) = optional
{{PSPControls}}
 
  
= Notes =
+
Once you've installed these libraries (read their README.PSP for instructions), create a subdirectory in your ScummVM folder called 'builds/psp'. Then, in this folder, type
* While it is possible to compress certain game resources to reduce their size, this can (and usually will) cause games (especially animations) to be choppy sometimes, as it requires extra CPU power to decode these files. As such, it is recommended to play games in their original, uncompressed, form whenever possible.
+
    ../../configure --host=psp --enable-plugins --default-dynamic
 +
If everything is installed correctly, ScummVM will inform you as it finds the right components. Finally type
 +
  make
 +
to build.
  
* Sleep/Suspend mode currently isn't supported, so don't use it when running ScummVM.
+
== Port Authors ==
  
= Frequently Asked Questions =
+
Joost Peters  (joostp@scummvm.org)
'''Q''': What do I need to run the games?<br/>
 
'''A''': A 1.00 or 1.50 firmware PSP (or an EBOOT loader on firmware 2.00 or higher), and the necessary datafiles for the game you want to play and obviously ScummVM.
 
  
'''Q''': Can I run <Game XXX> with this?<br/>
+
Paolo Costabel (paoloc@pacbell.net)
'''A''': See the [http://www.scummvm.org/compatibility.php?version=0.13.0 list of supported games].
 
  
'''Q''': My Monkey Island 1 doesn't have any music, what gives?<br/>
+
Thomas Mayer  (tommybear@internode.on.net)
'''A''': If your version of Monkey Island came on a CD then it has the music as CD Audio tracks. You need to rip those to MP3/Ogg and copy them to the same directory as the game data files for music to work.
 
  
'''Q''': <Game XXX> crashes, or <Feature YYY> doesn't work. Can you fix this?<br/>
+
Yotam Barnoy  (yotambarnoy@gmail.com)
'''A''': Possibly.<br/>
 
Because of the large amount of games ScummVM supports we obviously haven't played them all start-to-finish on the PSP, so it is possible there are bugs or issues that we are not aware of.<br/>
 
When you encounter such a bug, please use the [http://sourceforge.net/tracker/?group_id=37116&atid=418820 ScummVM bug tracker], and mention all relevant info (i.e. that you're using the PSP version, which ScummVM version it is, if the problem exists in a recent PC SVN version, a detailed description of the problem, and if possible a nearby savegame). This will make it much easier for us to understand, reproduce and hopefully fix the problem.
 
  
= External links =
+
== External links ==
 
* [http://forums.scummvm.org/viewforum.php?f=3 ScummVM PSP forum]
 
* [http://forums.scummvm.org/viewforum.php?f=3 ScummVM PSP forum]

Latest revision as of 18:27, 2 June 2020

psp.png PlayStation Portable Port
Latest Released Version 2.1.1
Supported Audio Options MP3, OGG, Uncompressed
Additional Webpage(s) None
Maintainer(s) rsn8887, joostp, bluddy
Packager(s) rsn8887, joostp
Forum Port Forum
Status Maintained
First Official Version 0.8.0

ScummVM has been ported to the Sony PlayStation Portable. The information contained on this page is based on README.PSP and jak66's forum post.

Installation

  • Copy the relevant game datafiles to your memory stick (location doesn't matter).
  • Download the latest psp development version here
  • Install ScummVM like any other homebrew.
  • Run ScummVM and use the launcher to add games and run them.
  • Press Start to return to the launcher and play another game.

Controls

 Game Controller Mapping:
Button Action
Right trigger Modifier key (see below for uses)
Left trigger ESC (Usually skips cutscenes. Depends on game)
Analog Mouse movement
Right trigger + Analog Fine mouse movement
D-Pad Arrow keys (useful mostly in SCI and AGI games)
D-Pad + Right Trigger Diagonal arrow keys (it's hard to input diagonals on some PSPs)
Triangle Enter (useful for some dialogs)
Cross Left Mouse Button (usually the main button)
Circle Right Mouse Button (secondary button in some games)
Square '.' (skip dialogue in some games e.g. Scumm)
Right trigger + Square Spacebar (useful in Gobli*ns and SCI games)
Right trigger + Start F5 (Main Menu in some games)
Select Show/Hide Virtual Keyboard. Hold down to move keyboard onscreen (with D-Pad).
Right trigger + Select Show Image Viewer (see below)
Start Global Menu. Allows you to 'Return To Launcher' to play another game
 Virtual Keyboard Mode:
Start Enter key. Also exits virtual keyboard mode
Select Exit the virtual keyboard mode
Right trigger Input letters: lowercase/uppercase (press to toggle)
Left trigger Input numbers/symbols (press to toggle)
D-Pad Select square of characters (up, down, left or right)
Buttons/Triggers Choose a specific character in the square. The four center characters are chosen by the button in the corresponding position. The 2 top characters are chosen by the triggers.
Analog Moves in a direction (left/right/up/down) (Useful to keep moving while typing in AGI games among other things)
 Image Viewer:
Left/Right previous/next image (e.g. go from psp_image1.png to psp_image2.png)
Up/down zoom in/out
Analog move around the image
Triggers, Start exit image viewer
 1st Person Game Mode (Can be ignored by most users):
Right Trigger + Left Trigger + Square Enable 1st Person Mode
Square Is the modifier key instead of Right Trigger.
Left/Right Trigger Strafe left/right
D-Pad Left/Right Turn left/right
Square + D-Pad F1/F2/F3/F4
Square + Select Image Viewer
Square + Start Esc (shows game menu)


Image Viewer

For your convenience, I've included a simple image viewer in the PSP port. You can view anything you want while playing a game. There are a few simple rules to follow:

  • Images must be of PNG format. If you have images in another format, many graphics utilities will convert them for you.
  • Images must be named psp_image1.png, psp_image2.png etc. This is to make sure there's no possible conflict between image files and game files.
  • Images must be placed in the game directories. When using the image viewer,only the images of the particular game being played will be available for viewing.
  • Don't place any images in the ScummVM directory, or you won't be able to seethe images in the game directories.
  • There's no guarantee that you'll be able to view your image. This is because big images take a lot of memory (more than the size of the image on disk). If there isn't enough memory left to show the image, ScummVM will tell you so. Try to make the image smaller by either shrinking it or reducing the colors to 256 color palette mode.

Notes

  • Notice that you can switch between games! This is much faster than quitting and having to start ScummVM all over again. Go to the global menu and choose 'Return To Launcher'. (Some games may not have the Return To Launcher option available yet.)
  • The PSP version of ScummVM uses the Media Engine to accelerate decoding of MP3 files. This means that if you have the choice of compressing using Ogg files or MP3 files, choose MP3 -- the game will generally run faster.
  • Plugin files are NOT interchangeable between ScummVM versions! You must copy ALL the plugin files that come with every version of ScummVM. They sit in the /plugin subdirectory. If you get a crash upon startup, try deleting all the existing plugin files in the plugin directory and copying the new ones over again.

Frequently Asked Questions

Q: Scummvm crashes upon starting up!

A: See the first note above.


Q: Pressing select doesn't make the virtual keyboard show up on screen!

A: You need to make sure that the kbd.zip file is in the same directory as the ScummVM executable.


Q: What do I need to run the games?

A: A PSP that can run homebrew and the necessary datafiles for the game you want to play.


Q: Can I run game X with this?

A: You can find the list of supported games on the compatibility page at http://www.scummvm.org. Note that ScummVM is NOT an emulator. The supported games engines have been painstakingly rewritten. It's not easy to add support for a game you want that currently isn't supported.


Q: My Monkey Island 1 doesn't have any music, what gives?

A: If your version of Monkey Island came on a CD then it has the music as CD Audio tracks. You need to rip those to MP3/Ogg (MP3 is preferred), naming them track1.mp3 track2.mp3 etc. and copy them to the same directory as the game datafiles for music to work.


Q: Game X crashes, or feature Y doesn't work. Can you fix this?

A: Possibly. Because of the large amount of games ScummVM supports we obviously haven't played them all start-to-finish on the PSP, so it's possible there are bugs or issues that we're not aware of. When you encounter such a bug, please use the "Bug Tracker" you find linked on the ScummVM website, and mention all relevant info i.e. that you're using the PSP version, which ScummVM version it is, if the problem exists in a recent PC version, a detailed description of the problem, and if at all possible a nearby savegame. This will make it much easier for us to reproduce (and hopefully fix) the problem.

Building the source code

To build ScummVM for PSP you need:

(x) = optional

Once you've installed these libraries (read their README.PSP for instructions), create a subdirectory in your ScummVM folder called 'builds/psp'. Then, in this folder, type

   ../../configure --host=psp --enable-plugins --default-dynamic 

If everything is installed correctly, ScummVM will inform you as it finds the right components. Finally type

  make 

to build.

Port Authors

Joost Peters (joostp@scummvm.org)

Paolo Costabel (paoloc@pacbell.net)

Thomas Mayer (tommybear@internode.on.net)

Yotam Barnoy (yotambarnoy@gmail.com)

External links