====== Linux on my Playstation 2 ====== Running linux on a Playstation 2 ? What a strange idea... Absoulutlely not, it's a very good and cheap way to try coding games and graphic demos on a real graphics oriented architecture (and also try a MIPS based computer...). You will not find any incredible hardware or software PS2 hacking here since I run linux on my gaming machine by using the official Sony's PS2 Linux distribution. It's only an elegant way to thanks the [[http://playstation2-linux.com|Linux for PS2 community]] and add a few words about my own experience on this hardware. My PS2 is plugged on a nice Sony MFM-HT95 which accept VGA signals with Sync-On-Green (SOG) (this simply means that the signal coming out the Multi-AV connector at the rear of the Sony's machine does not have separate H-Sync an V-sync signals as usual : the synchronization information is carried inside the green color component). Your monitor must accept SOG (it's not a trivial caracteristic) or you'll never be able to get a PS2 picture (I recommend that you read the [[http://playstation2-linux.com/faq.php|Linux (for PlayStation®2) Version 1.0 FAQ]] for all these technical information). Yes, the PS2 can generate CVBS (composite PAL/NTSC), S-Video, VGA (up to 1280x1024 60/75 Hz) and even HD (with analog YCrCb connection : 780p, 720p & 1080i) signals (usable with the linux kit). Why games do not use these high resolutions ? I clearly think that the mains limitations come from the 4Mbytes of VRAM (double buffering at high res. is impossible) : just compare it to the specifications of the modern PC world graphic cards. Note that you will find some precompiled binaries for PS2 on this website. (mainly my own programs). It's now time to start an overview of the hardware. ===== (Brief) Hardware specifications ===== **Base PS2 Hardware** * CPU Emotion Engine (MIPS R5900 core at ~300Mhz / 16k I-Cache / 8k D-Cache + extra peripherals) * Vectorial Unit 0 with 4k Data / 4k Instruction * Vectorial Unit 1 with 16k Data / 16k Instruction * Internal bus size 128bits * RAM 32MB * VRAM 4MB (Graphic Synthesizer / 8k Frame / 8k Textures) * USB x 2 / ieee1394 / controllers I/F... **Linux Kit "Add-ons"** * 40GB Maxtor IDE HDD (more details...) * 10/100 Ethernet I/F * USB keyboad (QWERTY) & mouse When you write code for the PS2 (eg. a graphic app.) you have to consider the entire architecture, not only think CPU + Graphic Memory. For more details, please read through the links at the end of this page. The linux kit also comes with a complete set of PS2 hardware documentation. ===== /proc/cpuinfo ===== The famous one... cpu : MIPS cpu model : R5900 V3.1 system type : EE PS2 BogoMIPS : 392.40 byteorder : little endian unaligned accesses : 0 wait instruction : no microsecond timers : no extra interrupt vector : yes hardware watchpoint : no VCED exceptions : not available VCEI exceptions : not available and the /proc/interrupts file 9: 872859 Ch-0 timer/counter 16: 0 + VIF0 DMA 17: 0 + VIF1 DMA 18: 55657 + GIF DMA 19: 0 + fromIPU DMA 20: 0 + toIPU DMA 21: 2841 + SIF0 DMA 24: 0 + fromSPR DMA 25: 0 + toSPR DMA 33: 0 + GS FINISH 41: 61991 + ide0, + PlayStation 2 Ethernet 42: 144 usb-ohci ===== Screenshots ===== Some pictures of the PS2 running ctetris in an old KDE 1.x and gnuboy (a game boy emulator which compile perfectly "right out the box") in wmaker. {{gallery>ps2?150x150?3?lightbox&1024X768}} ===== Additional links ===== [[http://www.technology.scee.net/presentations|SCEE's presentations]] [[http://www.technology.scee.net/files/presentations/gdw2003/IntroductionToPS2.pdf|Introduction to PS2 (SCEE's document)]] [[http://www.technology.scee.net/files/presentations/kri2003/InsidePlayStation2.pdf|Inside Playstation 2 (SCEE's document)]] [[http://research.scea.com/|Sony Computer Entertainment US / Research and Development]] \\ Article by Stellae (N. Lemouël) //November, 5th 2006// PlayStation & PlayStation 2 are registered trademarks of Sony Computer Entertainment Inc.