Affichage des articles dont le libellé est network. Afficher tous les articles
Affichage des articles dont le libellé est network. Afficher tous les articles

mardi 17 juin 2008

Remote connection and configuring ps2link

To connect remotely to the PS2, I had outlined 2 steps:
  1. launch the ps2link.elf on the memory card
  2. use ps2client (included in the toolchain) to connect to it
Simple? No.
  • The included doc does not explain how the ps2client works
  • Once launched, ps2client does not give feedback (it is not hung up)
Since I was not even sure ps2link was working, I downloaded the Xlink client for Windows from the Loaders page of ps2dev.org. I discovered the ominous messages on the TV display were indicating a problem: ps2link was initializing with a wrong IP adress. When starting, ps2link gets it's IP configuration from an IPCONFIG.DAT file found in the same directory it is situated. It also uses the information from a second EXTRACONF.DAT file. That's not documented of course...

I quickly solved the problem by editing the IPCONFIG.DAT file on my memory card. The file has 2 lines: first is IP config (adress, netmask, ?) and second points to the EXTRACONF.DAT file.

As of now, I have the following files in my memory card's BOOT directory:
The BOOT.ELF is the boot manager I use to launch ps2link.elf. BOOT2.ELF is the Aura for laura demo. The IRX files are support files for the boot manager and ps2link.

The modus operandi to access remotely to the PS2 is this:
  1. Start the PS2 holding the R1 button to launch the loader
  2. Use the loader to browse to and start ps2link.elf; ps2link starts with the 192.168.2.23 IP (which I specified)
  3. Start Xlink on Windows and configure the IP as 192.168.2.23
Through Xlink, I can now start ELF files directly from my PC . I can have some console output, and I can send executables to each unit of the PS2 and peek around in the memory and registers. That's good, but it is not in my Ubuntu development virtual machine so I will try to find a GUI program for ps2client.

mardi 13 mai 2008

Starting up

This is more of a lab book than a real blog. I am going to post my progress with Playstation 2 development from the ground up.

Why?
Some may wonder why I start fiddling with an aging platform instead of going for the XBox 360, Wii or Playstation 3. Well, I have 2 good reasons for that: one, I am a cheap bastard and I have most of the stuff on hand and two, this is my first experience with a console so I wanted something that is well-known and with the homebrew SDK ironed out.

The setup:
I have an old-style "fat" PS2, unmodified and without a hard drive or network adapter. I have a friend that has an adapter gathering dust and that is willing to give it away, but eBaying could land me an example for cheap. The adapter will let me access the Playstation remotely to execute code or use a console program to execute shell commands(?) I will probably add a hard drive soon to expand my options but for now it is superfluous.

To inject my homebrew code in the Playstation's memory, I need to bypass the copy-protection features that prevents running unauthorized discs. Since I have no love for soldering modchips, I will use the "PS2 Independence Exploit" to do that. In a nutshell, that exploit uses a "feature" of the PS1 subsystem to execute some arbitrary boot code from a memory card. PS2link is one of the possibilities, and the basis of the PS2DEV toolchain. NOTE: this will NOT work on "slim" PS2's.

The first acquisition:
Which brings me to my first official acquisition: the Memor32 memory card with USB port. This card looks nifty: you can upload and download save files between it and a computer (Windows, Mac or Linux) . This is totally untested for homebrew dev (this toy is still new on the market), but to me this looks like the best way to put the Independence Exploit on a memory card without doing swap tricks or soldering.

Next step: waiting for the postman, then doing a test run of a precompiled demo ELF.

The workflow should look like this:
  1. Make an Independence memory file for an original PS1 game I have on hand
  2. Upload the memory file from (1) on the Memor32
  3. Put the PS1 game and Memor32 card in the PS2
  4. Push Power on the PS2
  5. Use a PC client (PS2EXEC for Win32) to upload the ELF to the PS2 through the network
  6. Bask in the demo-ey glory of it all.