Sony PlayStation Portable Hardware

From homebrew.pixelbath
Revision as of 10:24, 4 February 2021 by Mhoskins (talk | contribs) (→‎Hardware Revisions: +slim)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Introduction

This document is an unofficial compilation of information on the Sony PlayStation Portable gaming system. It is not, in any way, endorsed by Sony or any of its subsidiaries.

The majority of this document was compiled by Groepaz of the Hitmen group (now defunct). It existed mostly as a long 5-ish MB PDF prior to this document. The original document's design goal was "this was made to give you what you need in the most compressed and visually pleasing form possible. Stuff that matters." This article will keep with that goal without adding a bunch of extra fluff.

What's In This Document

Nearly everything explicitly and specifically related to the PSP hardware and software internals and its programming. Everything inside the box is subject to be documentation, whether it's relevant for actual programming or not. It is meant as a reference for anyone who wants to know in all possible detail what makes the PSP tick.

Please note that this is technical documentation presented for pure educational purposes and higher learning. No warranty or support should be implied or will be given.

What's Not In This Document

  1. Emulating the PSP on a different system, apart from raw technical documentation about PSP hardware.
  2. Instructions on using any tools that let you upload and execute code on the PSP, or any other development-related tools except anything related to setting up and using gcc for cross-compilation to the PSP.
  3. Software-related information, such as games or third-party software.
  4. Detailed and/or complete source code, except when used for illustration or clarification purposes.
  5. Any information related to playing/booting/copying copied/imaged/backed up games

Conventions

Bits are counted starting from 0, with the most significant bit (MSB) of a single byte being 7. The PSP is a big-endian system, meaning bits go from most-significant to least in a left-to-right fashion. When dealing with 16- or 32-bit values, all figures are also big endian.

Note that while everything is handled in big endian format, the Allegrex CPU itself is a little endian processor, which means bit order is reversed inside the CPU.

If known (from patents or other freely available sources), we use the same terminology as Sony does. In particular, we try to use the same names and abbreviations for hardware registers, signals, and the like as a weak attempt of providing consistency with other existing documentation.

Absolute memory addresses are shown as-used in real-world PSP programs. For that matter, we dont use physical adresses to avoid confusion for the majority of our readers.

Code snippets are in either real or pseudo-C language. Any logical or arithmetic expressions outside code snippets are loosely similar to C notation and use the same bitwise and arithmetic operators. Not that in outside code, this document does not make a distinction between logical and bitwise operations. When in doubt, the operation should be considered a bitwise operation.

PSP Main Unit

This is a detailed list of the features of the PSP:

Core System

  • Main CPU (System clock frequency 1-333MHz), MIPS32R2 'Allegrex' core (little endian)
  • Media Engine CPU (System clock frequency 1~333MHz), MIPS32R2 core (little endian)
  • Main Memory 32MB DDR SDRAM
  • Flash Memory 32MB
  • Embedded DRAM 4MB
  • 4.3-inch 16:9 TFT LCD screen, 480 x 272 pixel, 16.77 million colors, backlight, Maximum luminance 180/130/80 cd/m2 on battery, 200/180/80 cd/m2 via AC adaptor

Input

  • Analog stick
  • D-pad (up/down/left/right)
  • Controller buttons (triangle, circle, cross, square, left shoulder, right shoulder, Select, Start)
  • Home button
  • Power/hold switch
  • Volume up/down buttons
  • Sound button
  • Wireless LAN switch on/off
  • Open latch for UMD bay

Storage and Media

  • Proprietary "Universal Media Disc" (UMD) - 60mm optical secured ROM disc inside cartridge with 1.8 GB capacity
  • Memory Stick PRO Duo

Communication and Networking

  • Wireless LAN (802.11b) - A maximum of 16 PSP systems can be connected through the ad-hoc wireless mode with a typical indoor range of approx. 30m at 11Mbps and approx. 91m at 1Mbps, and a typical outdoor range of approx. 120m at 11Mbps and approx. 460m at 1Mbps.
  • IrDA, IR Remote (SIRCS)
  • USB 2.0 (5-pin Mini B)

Power

  • Lithium-ion battery (1800 mAh)
  • +5VDC via wall adapter

Models/Revisions

Standard/Slim PSP Models

Since the standard PSP has a different model revision for each region, a straight listing of hardware revisions takes up a lot of space. PSP model numbers have the following features:

PSP-X0YY

In the model number format above, X refers to the hardware revision. For example, PSP-1000 indicates the PSP is a first-generation model release prior to the Slim revision.

In the following list, substitute the values into X:

  • 1 - Original PSP release (fat)
  • 2 - First hardware revision (PSP Slim & Lite)
  • 3 - Second hardware revision (PSP Brite)

In the following list, substitute the values into YY:

  • 00 - Japan
  • 01 - US
  • 02 - EU
  • 03 - UK
  • 04 - Europe, Middle East, Africa
  • 05 - Korea
  • 06 - Hong Kong/Singapore
  • 07 - Taiwan
  • 08 - Russia
  • 09 - China
  • 10 - Mexico

Hardware Revisions

PSP-2XXX

The first hardware revision of the PSP reduced size from 0.91 to 0.73 inches (23 to 18.6 mm) and mass from 9.87 to 6.66 ounces (280 to 189 g). As a result, the PSP-2XXX is often referred to as the "PSP Slim".

The serial port was modified to accommodate a new video-out feature, making it incompatible with older PSP remote controls. On the PSP-2XXX, games only output to external monitors and televisions in progressive scan mode. Non-game video outputs work in either progressive or interlaced mode. USB charging was introduced and the d-pad was raised in response to complaints of poor performance, and the responsiveness of the buttons was improved.

Other changes include improved WLAN modules and micro-controller, and a thinner, brighter LCD screen. To improve the poor loading times of UMD games on the original PSP, the internal memory (RAM and Flash ROM) was doubled from 32 MB to 64 MB, part of which now acting as a cache, also improving the web browser's performance.

The size of the battery was reduced, and its capacity lowered to 1200 mAh from 1800 mAh. The smaller battery is also present in the PSP-3XXX.

PSP-3XXX

The PSP-3XXX, also known as the "PSP Brite", has an improved LCD screen with an increased color range, five times the contrast ratio, a halved pixel response time, new sub-pixel structure, and anti-reflective technology to reduce outdoor glare. The disc tray, logos, and buttons were all redesigned, and a microphone was added. Games could now be output in either component or composite video using the video-out cable.

On its release, a problem with interlacing when objects were in motion on the PSP-3000 screen was noticed. Sony announced this problem would not be fixed.

Other PSP Models

In addition to the mainline PSP models, some specialty models were produced.

PSP Go (N1000)

The PSP Go (model PSP-N1000) was released on October 1, 2009, in North American and European territories, and on November 1 in Japan. Its design is significantly different from other PSP models. The unit is 43% lighter and 56% smaller than the original PSP-1000, and 16% lighter and 35% smaller than the PSP-3000. Its rechargeable battery is not intended to be removed by the user. It has a 3.8-inch (97 mm) 480 × 272 pixel LCD screen, which slides up to reveal the main controls.

The N1000 features 802.11b Wi-Fi like its predecessors, although the USB port was replaced with a proprietary connector. A compatible cable that connects to other devices' USB ports is included with the unit. The new multi-use connector allows video and sound output with the same connector using an optional composite or component AV cable. As with previous models, Sony also offers a cradle (PSP-N340) for charging, video out, and USB data transfer on the PSP Go. This model adds support for Bluetooth connectivity, which enables the playing of games using a Sixaxis or DualShock 3 controller. The use of the cradle with the controller allow players to use the PSP Go as a portable device and as a console, although output is not upscaled. PlayStation 1 games can be played in full screen using the AV/component cable or the cradle.

The PSP Go lacks a UMD drive, and instead has 16 GB of internal flash memory, which can be extended by up to 32 GB with the use of a Memory Stick Micro (M2). Games must be downloaded from the PlayStation Store. The removal of the UMD drive effectively region-locks the unit because it must be linked to a single, region-locked PlayStation Network account. While the PSP Go can download games to itself, users can also download and transfer games to the device from a PlayStation 3 console, or the Windows-based software Media Go.

All downloadable PSP and PlayStation games available for older PSP models are compatible with the PSP Go.

PSP Street (E1000)

The PSP-E1000, which was announced at Gamescom 2011, is a budget-focused model that was released across the PAL region on October 26, 2011. The E1000 lacks Wi-Fi capability and has a matte, charcoal-black finish similar to that of the slim PlayStation 3. It has a mono speaker instead of the previous models' stereo speakers and lacks a microphone. An ice-white version was released in PAL territories on July 20, 2012 with the same hardware specifications.

Hardware Overview

Headphones / Remote Control

PSP-1000

 
connector for PSP-1000

The connector for the PSP-1000 is different from most connectors on later PSP models. The dual plug is only compatible with the PSP-120 remote control, but the 3.5mm jack will accept any TRS-style headphone plug. Notably, the PSP-120 can convert a TRRS headset using OMTP standard into a functional headset for the PSP.


On the PSP-1000 series, the remote control connector is a small 6-pin connector located next to the headphone jack. The stock PSP remote for this connector is the PSP-120. The pins are numbered as viewed from the outside of the PSP:

Pin Wire color Description
1 Brown Shield (?) (GND) - Unused by standard remote/headphones
2 Blue Digital ground (GND)
3 Orange TXD
4 Green Sense (?) +2.5v, seems to be controlled by PSP - Unused by standard remote/headphones
5 Yellow +2.5v (0v when plug isn't inserted - see Notes below)
6 Grey RXD
Tip Pink Left audio (+600mV DC bias)
Ring Red Right audio
Sleeve Black Audio ground (GND)
Notes

If a jack is plugged in and the PSP is on standby, the 2.5v output is always active regardless of whether the external device replies to potential PSP queries or not. In other words, when the PSP is on standby, external power is applied indefinitely to any remote device. This is done so the PSP may be woken up using a PLAY command(0x0001) over the serial bus.

If a jack is plugged in and the PSP is turned on, things become interesting:

  • As soon as the PSP is turned on, voltage on pin 5 drops from +2.5v to 0v for approximately 0.5 seconds. This forces any external device plugged into the remote port into a cold reset
  • After the reset phase, +2.5v is turned back on, but only maintained if the remote device replies to a specific query from the PSP within 5 seconds
  • If no proper reply is supplied by the external device within 5 seconds, external voltage is turned off until the PSP itself is powered off again

PSP-2000

 
connector for PSP-2000 and up

Sony changed the connector for the headphone to include an A/V output. The new connector features 12 smaller pins next to the 3.5mm jack.

Pin Description
1 Rx
2 Sense - behaves the same as PSP-1000, see Notes for Sense pin
3 Cable detect input (42k to gnd means component cable is present )
4 Remote detect line ( cts )
5 Pb signal (blue-luma)
6 Agnd
7 Mic input
8 Tx
9 Dgnd (Agnd in component cable mode)
10 Y signal (luma)
11 Agnd
12 Pr signal (red-luma)

Memory Stick

The Memory Stick slot on the PSP-1000, PSP-2000, and PSP-3000 series can accept MemoryStick Duo, MemoryStick PRO Duo, or Memory Stick Micro cards with an adapter. The PSP Go (PSP-N1000) can only accept Memory Stick Micro cards. The maximum capacity of external cards is generally 32 GB, but special adapters and custom firmware may increase this limit.

Pinout

 
pin numbers for Memory Stick

The below table describes the full pinout of the Memory Stick running in parallel mode. For serial communication (which the PSP uses), pins 3, 5, and 7 are open.

Pin Signal Direction Description
1 VSS
2 BS IN Bus State - Indicates bus state (0-3) on the SDIO and the timing to start signal transfer
3 DATA1 IN/OUT Data - Open in serial mode
4 SDIO/DATA0 IN/OUT Serial Data In-Out / Data - Transfer direction and types of data change depending on the Bus State
5 DATA2 IN/OUT Data - Open in serial mode
6 INS OUT
7 DATA3 IN/OUT Data - Open in serial mode
8 SCLK IN Serial CloCK - Host device outputs signals on BS and SDIO at falling edge and inputs (latches) at rising edge. SCLK is always output during BS1-BS3
9 VCC
10 VSS

Notes

Both Pin 1 and Pin 10 will be connected to VSS.

Filesystem

In the root folder of the Memory Stick, there are three entries that concern the PSP. The first is MEMSTICK.IND (or MSTK_PRO.IND), which seems to be an indication that the stick is formatted. The second is the directory PSP, which itself contains directories for the different types of data used by the PSP. These subdirectories are not mandatory, and may be simply missing if the appropriate media type is not stored on the media. The third root-level directory of interest to the PSP is MP_ROOT, which stores video, and should only contain a single directory with the name 100mnv01.

Note that for the directory structure illustrated below, not all directories are required to be present:

  • PSP
    • GAME - Contains PSP software to be run directly, in the form of *.PBP files
      • UPDATE - Official firmware updates should be placed here
    • MUSIC - Audio tracks in .mp3 format - only one level of subdirectories is supported by the music player
    • PHOTO - Image files in .jpg format - only one level of subdirectories is supported by the image viewer
    • SAVEDATA - Savegame data - Each game creates a subdirectory with its product code (e.g. ILJS00002) in the following format:
      • ILJS00002 - product code
        • ICON0.PNG - A still picture icon in PNG format (24bpp, 144x80 standard, or 300x170 maximum)
        • ICON1.PMF - (Optional) Animated version of the icon (file format still unknown)
        • PIC1.PNG - A fullscreen background picture for the file manager in PNG format (24bpp, 480x272)
        • SND0.AT3 - (Optional) Background music to play in the file manager, ATRAC3plus encoded in WAV (max 500kb and 55 seconds)
        • PARAM.SFO - Metadata about the game as a PSF file with a category of MS
    • SYSTEM
      • BROWSER
  • MP_ROOT
    • 100MNV01 - Video clips for playback in the music player - according to the PSP manual, these must be MPEG-4 (h.264/AVC MP Level 3) with a maximum bitrate of 768kbps, and named m4vnnnnn.mp4 with nnnnn being a 5-digit number - thumbnails can be optionally included with the same filename and extension of .thm
  • HIFI - Used for DRM-protected ATRAC3 files
  • CONTROL - Used for DRM-protected ATRAC3 files
    • PACKAGES
      • PKGxxxxx - Contains package.xml, which is song information in an XML format that works similar to ID3v2 tags
  • DCIM - Used by the Sony Cybershot Camera to store photos in JPEG format
  • MISC - Used by the Sony Cybershot Camera, ignored by the PSP