VU Coding Contest Harness
Release: Wednesday May 14, 2003
==============================================================

This package contains the VU Coding Contest Harness for the 2003 Linux
for PlayStation 2 VU Coding Contest, open to *amateurs* everywhere.
(If you're a pro - feel free to send us a demo anyway, but we can't enter you!).

For inspiration, demos from previous VU Contests are included, along with an
empty framework for you to use for writing your own.
 
The object of the competition is to create the most graphically impressive 
and unique demo program using only the 16K of instruction memory and 16K of 
data memory of the EE Vector Unit 1. 

The deadline is midnight GMT on Monday 21st July 2003.
Please read the Rules and Specs file before you sumbit and entry to us.
If you submit, please make sure you remember to tell us everything we ask for
in clause 2 of the rules.

Contents
========
readme.txt                              this file
PS2LinuxRulesAndSpecs.doc		PS2Linux 2003 contest rules, MS word format
PS2LinuxRulesAndSpecs.txt    		PS2Linux 2003 contest rules, text format

previous_demos/				harness fitted with VU demos from previous contests
plain_harness/				harness fitted with just the basic one to let you get started 
plain_harness/demodata                  binary files for the 2002 demo competition
plain_harness/demosrc                   source for the basic sample
plain_harness/harness_src               sources for the harness itself

Launching the demos
===================

cd previous_demos
./harness -h

Writing your own demo
=====================
There is a basic framework provided in the sources that can be used as a starting
point for your own demo. To take a look at this, do:

cd plain_harness
cd demosrc
cd basic
make

Adding demos
============
To make a demo for the demo harness:

1.  Write VCL code and run the VCL preprocessor on it, or write the VU code 
    by hand, etc.
2.  Assemble the VU source code into an object file with an assembler.
3.  Convert the object file to a .bin binary code file.  This file will be 
    loaded into VU1 instruction memory at address 0.
4.  Make any binary .dat data file needed by your demo using a VU assembler or 
    another program.  This file will be loaded into VU1 data memory at address 
    0.
5.  Write a plain text .hlp help file containing the controller usage and any 
    other user information that will be displayed when the user presses the help 
    button.
6.  Write a plain text .inf file containing the name of the demo and the 
    author, to be displayed at the bottom of the screen while the demo is 
    running.
7.  Put your demo files in the demo directory (demodata).
8.  Modify the demotest.ini file to include your files. Careful not to put spaces
    around the commas, and ensure the last entry ends in a '#'.
9.  Run the demo harness.

Note that the VU code and data are loaded by a direct copy operation so no 
dma or vif information should be embedded in the data.

Please refer to the official contest rules for complete file specifications 
and entry requirements.

The source code for many previous demos, including past winners, is included
in previous_demos/demosrc

Changes
=======
13 Feb 2003  LLemarie, SCEE     First version for PlayStation 2 Linux/DevStation
14 May 2003  SEwen, SCEE	Revised for Global PS2Linux Competition
