Sony Playstation

From Data Crystal
Jump to: navigation, search


Sony Playstation
PSX Console.jpg
Manufacturer Sony
CPU MIPS R3000 (33.8688 MHz)
GPU 32bit Graphic Processing Unit
RAM 2MB
VRAM 1MB
SRAM 512KB
Media CD ROM
Connectivity UART Serial and Parallel Ports
Players supported 2 (with Multi-Tap, 4)

The Sony Playstation, or PSX, was a video game console based around the MIPS RS3400. This chip was also the basis for the Nintendo 64 console, The PSX was one of the first consoles to use CDROM as its game medium instead of ROM cartridges.

Games

Hardware

Emulators

The Sony Playstation has many emulators but the most popular current emulators are ePSXe, PCSX, no$psx, and pSX. Some historic emulators include PS Emu Pro, Psyke, Bleem and the Connectix Virtual Game Station. Some emulators have built in debugger support. pSX and no$psx have debugger support built in and the Agemo version of PCSX adds debugger support for that emulator.

Playstation Emulators with Debugger Support
Emulator Link Comment
PCSX Agemo http://www.romhacking.net/utilities/475/ A debugger built on top of PCSX
pSX Logger http://www.romhacking.net/utilities/364/ The most well featured debugger for the PSX, has built in logging support but requires the Front End to use it https://sites.google.com/site/ultimasites/psx-frontend
No$PSX http://problemkaputt.de/psx.htm The most well researched emulator available, the site has extensive information about the PSX platform http://problemkaputt.de/psx-spx.htm
IDA Pro http://www.romhacking.net/utilities/1165/ The industry standard for reverse engineering. There are flirt signatures available for identifying BIOS libraries https://www.romhacking.net/utilities/771/

CD ROM Images

The PSX uses CDROM disks. These disks use the industry standard ISO9660 virtual file format. These images can be in iso format and bin/cue or img/cue format. The bin/cue and img/cue formats are the same and these are simply raw dumps of the CDROM. The iso format is smaller and strips out all overhead such as empty sectors. Standard CD Authoring software can be used to manipulate these CDROM images. The most popular CDROM authoring tool is CDMage. The ISO9660 File Format uses Error Correction Codes (ECC) which must be corrected in order for the image to operate on real hardware. Tools such as ECC Regen can be used to achieve this with modified CDROM images.

CD Authoring Software
Tool Name Link Comment
CD Mage https://www.emuparadise.me/links-and-downloads/General_CD_Utils/CDmage_1.02.1_Beta_5/20 This tool can be used to extract and insert data files
EccRegen http://consolecopyworld.com/psx/psx_utils_misc.shtml This tool can be used to correct the CDROM Error Detection and Correction Codes so that modifications can run on real hardware

Patching

RomHacks for the PSX platform are typically distributed as patches. The PPF (Playstation Patch Format) is the most popular format. Some emulators (such as ePSXe) have built in support for loading these patches. A PPF patch can created using PPF Studio and can be applied using PPF-O-Matic.

PPF Patching Software
Tool Name Link Comment
PPF Studio http://www.romhacking.net/utilities/514/ This tool creates a PPF patch
PPF-O-Matic http://www.romhacking.net/utilities/356/ This tool applies a PPF patch

Memory Card Images

The PSX has two memory card ports, each memory card has 128KB of storage capacity. Most emulators simply use raw dumps for these memory cards with a small header prefixed to some formats. The MCD, MCR and BIN formats are of this form. The GME file format is a proprietary Dex Drive format which was used to back up memory cards to a PC. Tools exist to convert between these formats with MemCardRex being a mature memory card tool.

Memory Card Editors
Tool Link Comment
MemCardRex https://www.zophar.net/utilities/psxutil/memcardrex.html This allows you to modify and convert between memory card formats

Game Shark Codes

The PSX version of Game Shark allows a user to patch memory, and can be used as a crude form of hacking games on the PSX platform. The CEP program can be used with most emulators to provide GameShark support for that emulator. The PSX GameShark uses the following code formats.

Playstation GameShark Codes
Code Comment
30XXXXXX 00YY 8-bit write (contents of XXXXXX = YY)
20XXXXXX 00YY 8-bit increment (add YY to address XXXXXX)
21XXXXXX 00YY 8-bit decrement (subtract YY from address XXXXXX)
E0XXXXXX 00YY 8-bit equal to activator (if contents of XXXXXX is equal to YY, then do the next code)
E1XXXXXX 00YY 8-bit not equal to activator (if contents of XXXXXX is not equal to YY, then do the next code)
E2XXXXXX 00YY 8-bit less than activator (if contents of XXXXXX is less than YY, then do the next code)
E3XXXXXX 00YY 8-bit greater than activator (if contents of XXXXXX is greater than YY, then do the next code)
80XXXXXX YYYY 16-bit write (contents of XXXXXX = YYYY)
10XXXXXX YYYY 16-bit increment (add YYYY to address XXXXXX)
11XXXXXX YYYY 16-bit decrement (subtract YYYY from address XXXXXX)
D0XXXXXX YYYY 16-bit equal to activator (if contents of XXXXXX is equal to YYYY, then do the next code)
D1XXXXXX YYYY 16-bit not equal to activator (if contents of XXXXXX is not equal to YYYY, then do the next code)
D2XXXXXX YYYY 16-bit less than activator (if contents of XXXXXX is less than YYYY, then do the next code)
D3XXXXXX YYYY 16-bit greater than activator (if contents of XXXXXX is greater than YYYY, then do the next code)