Craig's Yaroze Page

The Action Replay File Server

I've just released (today, 22/2/98) Release 2 of the ARS.

New Stuff Includes:

o Support for GNU C!!! Welcome to the world guys...
o I’ve put in some new stuff on retries to prevent the link from locking up.
o cg_fsinit() is now a function which does some tricky stuff to hook into the Playstation OS kernal jump table to redirect file access and printf’s at a much lower level. Cool, ‘coz it means we now catch all the Playstation OS messages (like "ResetGraph:jtb=…") on the ARS console instead of them coming up in the slow serial debug window.
o One new call cg_shutdown() which you should call before your program exits to unhook all the vectors ARS stole.

About ARS

One of the most useful things about CodeWarrior is the File Server function that allows you to load files from the PC's hard drive instead of the Playstation's CDROM. Unfortunately it's a bit slow, and has a habit of locking the machine (at least on the PC version).

The GNU environment doesn't provide this at all - but ARS does now!!!

What I've done here is to take a hacker tool (the Datel Action Replay) plus the PC-Link card that goes with it and provide a simple library that replaces the MWDebugIO.lib library from Metrowerks.

You can then load files from the PC using the super-fast parallel port instead of the dodgy slow serial link. Excellent.

Disclaimer And Notices

I am aware that several Hacker toolsets are available on the net (Caetla from Japan, and EZ-o-Ray from Europe) that provide this functionality (they're slower though), but unlike them ars

DOES NOT require or attempt to re-program the action replay card

DOES NOT provide any form of assistance for hacking a Playstation.

It simply performs as a high speed File Server and console log for the Yaroze.

What Do You Get?


Well, the main advantage is the speed - the file loading is about 20 times faster than the Metrowerks Code Warrior file server.


The CW fileserver has a habit of locking up - this one doesn't.

Diagnostics / Debug Printing

Printing to the Action Replay is much much faster than the serial debug print that the Playstation is capable of - this is due to the higher bandwidth link (2Mbit/sec) and also the fact that the Playstation's serial port doesn't work very well.

Library Calls

The system is in two parts:
1) The PC server software - run it in a DOS prompt and forget it.
2) The Playstation file i/o library. You get the following functionality (but don't have to use it any more as I/O is redirected at a lower level):
//Open a file on the PC - returns a file handle (16 files at once is the max)
int cg_fopen(char *fname, int mode);
//File close
void cg_fclose(int handle);
//Read bytes from a file on the PC
void cg_fread(int handle, char *buf, int num);
//Read in a whole file at once (bypass the file handles & stuff)
int cg_fload(char *fname, unsigned char *buf);
//Print text to the ARS console
void cg_print(char *t);
//Low level byte read/write to the Action Replay comms channel
asm unsigned char ar_rw(unsigned char v);

Anyway, enough already....if you want it, download it here