CONTENTS

Home
Projects
  Electronics
  Graphics
  Java
  Java Mobile
  Other Stuff
Resume
Music
Links To Friends
Pictures
About Mike
Contact

Random Link
3D Images



Michael Kohn

Playstation 2 Programming


Introduction

I've recently started learning how to do programming on Sony's Playstation 2 console. This has been some of the most fun programming I've done in a while. This is my first time even dealing with 3D graphics on this level and such (other than the old kohn3d java demo I made). If you'd like to try out any of the sample programs I've been working on, you'll need either a Playstation 2 with a modchip (which will allow you to burn a CDROM with the following programs and boot them on your console), a USBExtreme type kit, a Naplink kit, or an exploit.

The Hardware Development Kit

I started by buying premodded Playstation 2 with a DMS4 modchip from Modchip World (http://www.modchipworld.com/). If you're looking for modchips and such I would HIGHLY recommend them. I ordred the unit on a Monday and it arrived on a Friday. The machine was in perfect condition. I couldn't even tell that someone had opened the PS2 to modify the motherboard. I've also found the USBExtreme kit can also be used to boot homebrew programs off a USB CompactFlash card. The PGEN Genesis Emulator boots and runs just fine like this, altho it won't find any ROMS from the Compact Flash. My homebrew programs however do not work using this method. I'll find out why later :). Also, I've found that the USBExtreme is a bit picky which USB flash memory it will recognize. The USBExtreme kit can also be purchased from Modchip World.

The SDK and Documentation

I decided to start with simple C until I understand the hardware better and then move to assembly language. I downloaded a script from Dan Peori's http://www.oopo.net/consoledev/ site that downloaded all the components and patches I needed and installed the development kit. This guy has tons of great examples and documentation on programming the Playstation 2. Another great site for Playstation 2 programming is http://www.ps2dev.org/.

Test2 Program

This is my first simple test program which draws 3 moving triangles on the screen and my name spinning in 3D in the center of the screen. This is for the most part a modified version of Dan Peori's introduction to 3D on the PS2.

I posted a video on YouTube of it here: http://www.youtube.com/watch?v=DhdJ39Y01nU. Kinda a crappy video :(. I should have moved the camera closer.. you can barely see my name and weird handdrawn smily face in there. The Toxic logo came from the modchip and wasn't a part of my programming.

Download Source and ELF: test2-2006-03-16.tar.gz

ps2mandel mandelbrot generator

I think I'm too obsessed with mandelbrots :). This program will draw a mandelbrot on the screen using code from my old Mandel Server program. As far as mandelbrot programs go, this thing is worthless. The picture is pretty ugly and as you zoom in, it gets VERY ugly. I wrote this because a few years ago I tried using my mandelserver program on Playstation2 Linux, but for some reason it was extremely slow. I think the floating point may have been done in software or something. This time it's quite fast actually, altho not quite fast enough to be real time. After booting this program, you can use the the joystick pad and left joystick to rotate the image. The right joystick will move inside the mandelbrot and the X button will zoom in.

I posted a video on YouTube of it here: http://www.youtube.com/watch?v=QbjIsUzE9cA. The Toxic logo came from the modchip.

Download Source and ELF: ps2mandel-2006-03-16.tar.gz

ps2jatari Atari 2600 Emulator

This is my ultimate goal for Playstation 2 programming. I already have code I've written to emulate the CPU in C and Java.





Copyright 1997-2008 - Michael Kohn

Please visit my many other projects, including free J2ME Java games for Mobile phones, graphics and sound programs, chat software, and much more at http://www.mikekohn.net.

This page was designed to work with all standard HTML compatible webbrowsers including Firefox, IE, Safari, and Links.