Found this forum post showing that a version of the RenderWare SDK for the PS2 is contained within the game disc for "Bloody Roar 4" as dummy data to expand the disk image size. RenderWare was a very popular cross-platform game engine/SDK used on a bunch of popular PS2 titles; I watched an interesting youtube video on it: link
I've been experimenting with it and thought I'd document the setup process as they don't really go over it in the forum post.
In order to program new stuff with the SDK, the compiler needs to be provided separately (the RenderWare SDK in terms of code is just a library). After some more searching, I found a version of the official SONY compiler and libraries here. This provides a disk image that contains a Windows installer.
Loading up a Windows XP VM and inserting the disk image into the VM, we can run the installer:
This places the compiler, library, tools, and documentation in C:\usr\local\sce. Oddly the compiler and library are for unix/linux, NOT Windows, so while some of the tool programs can run in the XP VM, the actual compiler needs to be run on a 32-bit Unix/Linux system.
So I copied the entire C:\usr\local\sce directory onto my host machine via a shared folder and installed a new Ubuntu 16.04 32-bit VM, and re-copied the folder into /usr/local/sce. I also changed permissions on the folder in /usr/local so I can modify it without root access:
sudo chown -R bj /usr/local/sce
sudo chgrp -R bj /usr/local/sce
Next, looking at the SCE PS2 SDK guide pdf in /usr/local/sce/1st_read/setup_3.0.pdf, It says the following directories need to be in our PATH environment variable:
/usr/local/sce/bin
/usr/local/sce/ee/gcc/bin
/usr/local/sce/iop/gcc/bin
To accomplish this I added the following to the VM's ~/.bashrc
export PATH=/usr/local/sce/bin:/usr/local/sce/ee/gcc/bin:/usr/local/sce/iop/gcc/bin:$PATH
I can now run the compiler, ee-gcc, which outputs the following version:
bj@bj-VirtualBox:~$ ee-gcc -v
Reading specs from /usr/local/sce/ee/gcc/lib/gcc-lib/ee/3.2-ee-040921/specs
Configured with: ../src/configure --prefix=/usr/local/sce/ee/gcc --target=ee --enable-c-cpplib --without-sim --disable-sim --enable-c-mbchar --enable-threads
Thread model: eekernel
gcc version 3.2-ee-040921
Now that the compiler's installed, we can get back to installing the RenderWare SDK. Booting up the Windows XP VM again and mounting a Bloody Roar 4 disk image, we can inspect its contents, and extract the SDK installer following the forum link instructions:
The resulting contents are put in C:\RW. I then copied that entire RW folder onto my host machine again via a shared folder. Next is to boot the Ubuntu 16 VM again and copy the RW folder onto that.
To figure out what to do next I was able to look at the RenderWare build documentation from a different available RenderWare SDK from here, which includes a windows installer, so I installed that back on the windows XP VM and copied the files back onto my host again. The important file out of this was RW/Graphics/docs/whitepapers/BuildRW.pdf which contains instructions for building the RenderWare libraries from source. Fortunately the version inside of Bloody Roar is pre-compiled for a Unix/Linux env, but BuildRW.pdf contains documentation on the options.mak file and what each entry means. Not sure why, but it shows that the RenderWare sdk refers to the PS2 targets/platforms as 'sky' and 'sky2'.
Testing compiling one of the sample applications, I had to modify the options.mak file in RW/Graphics/examples to set the full path of RWGSDK:
RWGSDK=/home/bj/RWsdkBR4/RW/Graphics/rwsdk
RWTARGET=sky2
RWOS=sky
RWCOMPILER=skygcc
RWDEBUG=0
RWMETRICS=0
RWLOGO=1
RWSPLASH=0
RWMOUSE=1
CDEBUG=1
DXSDK=c:/mssdk
OGLLIBPATH=c:/ogllib
IOPPATH=/usr/local/sce/iop
XBOXSDK=c:/Progra~1/Micros~3
APPLEGLSDKPATH=c:/aoglsdk
And I set the RWOPTIONS env var in my .bashrc:
export RWOPTIONS=/home/bj/RWsdkBR4/RW/Graphics/options.mak
A few of the examples I looked at try and load files from the host system (as in a pc connected to the PS2 over network), so they would need some modifcation to load from cd/dvd instead. The animation example I tried starts up fine in PCSX2 but of course fails to load anything. The blending example however seems to work fine (again in PCSX2):
Now I've been reading some of the included documentation and following the RenderWare user guide. The most useful files have been UserGuideVol1.pdf in RW/Graphics/docs/userguide, RW/Graphics/docs/apireference/sky2.chm, and the pdfs in /usr/local/sce/doc/ee. My main goal is to figure out how to initialize and load files off the cd in order to get the bigger examples working.
<-- Back to Home