Sony Playstation: Net Yaroze.
Official Playstation Hobbyist Development Kit

The Sony Net Yaroze (Playstation) is a hobbyist development PS1. It is a cut-down library of the official development libraries which required serial data communication (no executable running of the cdrom). Yarōze means "Let's do it!". I’ve uploaded my old net yaroze stuff.. which wasn’t much.
I’m trying to find the source files for this project.
But I’ve gone through a few hard drives since 2001, but I still got them.
I remember doing it in a few weeks, (mostly on jolt cola,creaming soda and the purple one) but I can’t remember how I did it! Garrgg!

Good thing I’ve got these notes!

Looking at the sense today, it still looks active: has annual comps!

Nice write up on the past major members and what they are doing now.

I had the newsgroup archived… somewhere :(

Here you will find my programming notes, screenshots and photos of my Net Yaroze.

Most of my low-res B/W textures were taken on the gameboy camera! This is/was me!

Here’s a good video explaining what it was, remember this is back in 1997, the peak of the Playstation’s life!


Comments now disabled.
For comments or questions, please post on twitter @mgarcia.

Project: UN-NAMED.
Description: 2d scroller fighter using 3d objects in C++.
Started:   15-10-00
Finishing: ??-??-200?

This is far from complete but I thought I would put some stuff up and to share some ideas that I hacked out ........
So here it is (Current Versions -world v40 -obj v20).



View my flash Net Yaroze presentation, Click top right [?] to start.

I have converted all my loading to use cyclone, a file server for the Net Yaroze.
So instead of loading all my files into the memory of the playstation I can load each file of my computers hardrive when

Cyclone v2.0 File Server      16/06/99
Copyright(C)1999 Peter Armstrong


C++  So far three classes are used-


Plays SEQ as background music.
** NEED TO BE A NET YAROZE MEMBER** 330k   Or visit my Net Yaroze Site.


Started on 15-10-00.

Special Features

Displays TMD objects with TOD animation. ( TOD is an animation file format that 3d4 (DOS) supports using a plugin from the Yaroze dev page)
Reuses identical TMD saving memory, e.g. legs & feet.
Changing TMD colour values on the fly.

Reuses identical TMD saving memory, e.g. legs & feet. - The Object List

An array of GsDOBJ2  (I call it olist - object list ) is passed to the init function for the obj_c.

The first number tells the size of the objects list and how many GsDOBJ2 to create and link,
  the following numbers are used as references to link GsDOBJ2 to TMD data.

.e.g. TMD file has 4 3d objects (TMD ID's start from 0).

/************ TMD FILE *********
 ID 3     WAIST
************ TMD FILE *********/

To save memory foot and leg parts can be reused instead of being included in the TMD file redundantly.

 the object list looks like this ( GsDOBJ2 pointers are used after initialisation)
 GsDOBJ2 *olist[]={
    (GsDOBJ2 *)      7, // Number of GsDOBJ2 objects in class but not it TMD, the TMD file only has 4 not 7.
    (GsDOBJ2 *)      0, // GsDOBJ2 0 link to TMD ID 0 - foot LEFT
    (GsDOBJ2 *)      1, // GsDOBJ2 1 link to TMD ID 1 - lower leg LEFT
    (GsDOBJ2 *)      2, // GsDOBJ2 2 link to TMD ID 2 - upper leg LEFT
    (GsDOBJ2 *)      3, // GsDOBJ2 3 link to TMD ID 3 - waist
    (GsDOBJ2 *)      2, // GsDOBJ2 4 link to TMD ID 2 - upper leg  RIGHT
    (GsDOBJ2 *)     1, // GsDOBJ2 5 link to TMD ID 1 - lower leg RIGHT
    (GsDOBJ2 *)      0 // GsDOBJ2  6 link to TMD ID 0 - foot RIGHT

It links the TMD data to GsDOBJ2 in an array - OBJ_DATA_m .
Then instead of using the OBJ_DATA_m array to refference the objects the olist is used.

 for(int i = 0; i < OBJ_nobj_m;  i++)
  olist[i] =  &OBJ_DATA_m[ (u_long)( olist[ i+1] ) ];   //converts to list to pointers - the +1 is to skip the first number

Changing TMD colour values on the fly.

Each obj_c manipulates a type of tmd object and changes its appearance according to the objController_c.

All TMD's colour values that are white can be change on the fly, giving the appearance of many TMD objs
eg white legs and waist ( see pictures- only 2 TMD files used - top and bottom).

Obj_c stores the memory address of  the TMD colour value (that equals white) in a  array called clist_m.
Before displaying the TMD the class changes the values of the deferenced pointers in the list with a given colour.

To get a colour list going I just give it the size of the TMD,  it searches from the start of the TMD to the end, looking for any
 for(int i=0; i{
      if( *tmd  == 0x00FFFFFF)
           clist_m[i] = (colourTMD_t *)tmd;

I will rename this class to something like tmdController_c when I clean up the code.


Start on 16-12-00.

The class controls  a person (I should have called it person_c or something....)..

A person is spilt into two,  top (head , chest, upper arms and lower arms) and bottom (waist, upper legs and lower legs).

Each part has its own TMD & TOD data (see obj_c).

here is my init function
    obj_c *top_obj, // pointer to the top obj
    obj_c *bot_obj, // pointer to the bottom obj

    // top colour values
    u_char tr,
    u_char tg,
    u_char tb,

    // bottom colour values
    u_char br,
    u_char bg,
    u_char bb

This class controls the a person's top and bottom-
    TMD colour.
    TOD Action (run, jump, kick etc) and Frame.
and  the person's  life value, coordinate, rotation, speed, name etc.

I will rename this class too.


Start on the first week-end of 2001.

Special Features

Dynamic TMD objects.
Changing TMD colour values on the fly.

Dynamic TMD objects.

The world so far only uses flat coloured and textured quads with no lights.
The world is split into three sections - the floor, wall and background.
the background is one big flat textured starting at UV 32 0 to 69 255 in tpage 1

Changing TMD colour values on the fly.

This is the all of the textures used in the world (so far).
All textures have been taken on a GB camera (2bit 4colours) saved as one large 4bit 256 x  252 tim.


each cell (if textured) has it's own CBA (clut for textures).

The original CLUT  is loaded under the image and 15 others are added after it to fill
the the rest of the tpage.

The red and green strips are my empty colours (easier to debug).

The world also moves the people and checks that its a valid move.



Textured heads

Starting off my my face!

  Added top,left,right and face to the block men, staring Jim!

The world with 8 animated people walking randomly

max is 28 so far.

half the world with the orignal CBA

Close up.

Normal view.