PSP HOMEBREW

-----------------------------------------------------

TrailBlaze PSP    by dangee    version 1.1a    Feb 08

-----------------------------------------------------

**************************************************************************

Description
-----------

 Trailblaze PSP is an application to view and manipulate PNG images
in 3d. A number of techniques can easily be used to create various
interesting graphics effects.
 This version is exclusively for use on Homebrew enabled PSPs.

**************************************************************************

Installation
------------

  Standard use; custom firmware with kernel mode 1.50
    unzip the /TRAILB folder to ms0:/PSP/GAME150 or ms0:/PSP/GAME

  Firmware 1.5; the EBOOT.PBP needs to be KXploited before
                installation. (There are a number of tools
                freely available for this purpose)

  Firmware 2.6-2.8; EBOOT.PBP is known to work off the TIFF eloader

  --------------
  Update 27/2/08

  Phat PSP - most CFWs are reported to run Trailblaze without any
             problems.

  Trailblaze is reported to run on PSP Slim so long as the
  Dark Alex Time Machine is installed ,but may also run using
  eloader 0.98.

  But, its reported not to boot in m33-3.90. No idea why ATM.

**************************************************************************

Notes
-----

 Patch any "PNG" image into the application by copying the image to
"revi.png" in the main EBOOT folder,

  i.e.  ms0:/PSP/GAME150/TRAILB/revi.png
                                
 A default revi.png is created if not found
 Maximum resolution is 512x512
 Image resolution above 256x256 may cause animation lag. this can
be smoothed using loRes mode, at the expense of image quality.
 Displayed images are always rescaled to the screen
 Images with semi-transparent alpha levels can be used. 
 Best results are from 256x256 resolution, with on/off alpha only
(a=0 (on), or a=255 (off) ).

 Delta rotation combined with view rotation can easily send the
image outside the viewport. It can be brought back by reversing
direction with the R shoulder button, by holding down the controls
until the image rotates around 360 degrees, or simply by using the
triangle to reset.

 Screenshots are saved to:
  ms0:/PSP/GAME150/TRAILB/SCREENSHOT/scrn%N.png
where N is the lowest unused screenshot number
(The /SCREENSHOT folder is created automatically)
 The screenshot is taken from the screen buffer. Tracer levels from
VRAM are not included.

 This file, "README.TXT", should always be included in its original
form in the main EBOOT folder.

  --------------
  Update 27/2/08

  The main purpose of v1.1 is to remove the minilogo in Guide off
  mode. I believe that this small change makes a big improvement
  to the quality of the visual experience, and also allows for
  an uncluttered fullscreen screenshot.

  The program source is rearranged. The 3d Sprite engine, and
  control functions can now be accessed externally in SysMode,
  either by creating a folder /XBOOT in the main EBOOT folder,
  or by holding down the L shoulder button during gameboot or
  exit.
  A default SysMode script is included in this distribution.

  In SysMode, TrailBlaze runs Luaplayer 0.16- Cools Mod 4,
  booting from the normal filepaths:

  i.e.     ms0:/PSP/GAME150/TRAILB/SCRIPT.LUA
       or  ms0:/PSP/GAME150/TRAILB/System/SYSTEM.LUA

  The following methods are available:

  -- Create new Sprite3
  spr = Sprite3.new(Image,width,height,Color)
        -- width, height defaults are Image width,height
        -- default Color is white
        Sprite3.new(nil) -- returns a white square 16x16


  -- change sprite vertex colors
  spr:setColor(Color,v) -- set vertex v, 1<=v<=4
  spr:setColor(Color)   -- set vertices 1-4

  --change Sprite3 texture
  spr:texture(Image) -- new texture
  spr:texture(nil)   -- remove texture

  --render Sprite3 to screen
  spr:draw3()

  --Matrix transforms
  spr:identity()            -- reset sprite3 matrix
  spr:translate(x,y,z)      -- Sprite3 translation
  spr:scale(x,y,z)          -- Sprite3 scaling
  spr:rotateX(deg360Int)
  spr:rotateY(deg360Int)
  spr:rotateZ(deg360Int)

  Each new transform multiplies with the existing transform matrix.
  spr:identity() resets the matrix.
  Rotation angles should be in degrees, an int from 1 to 360.

  The default Sysmode script has some examples.

**************************************************************************

Credits/thx
-----------

The LuaPlayer creators,developers and maintainers
     http://www.luaplayer.org/
Cools for the modified LuaPlayer 'COOLS MOD4'
     http://www/cools.biaklan.com
Kagato for 'GX', a Gu starter 
     http://www.studiokagato.com
Ghoti for many useful 3d tutorials
     www.ghoti.nl
iamabe, for porting nehe's openGL tutorials to the PSP Gu
     http://www.PSP-programming.com
mediumguage for filer PSP, used often during development
     http://www.geocities.jp/mediumgauge
DCEmu for PSP homebrew expertise & Resources
     http://www.dcemu.co.uk
qj.net for hosting & distributing TrailblazePSPv1
     dl.qj.net
pspgen for a French translation and distribution of TrailblazePSPv1
     http://www.pspgen.com
Dark Alex for 3.40OE-A (used for development), and Time Machine. 
     www.dark-alex.org
Sony Computer Entertainment for the PSP & F/ware 1.5
     sony.com

& All the dedicated hackers who made PSP homebrew possible.

**************************************************************************

Legal/License
-------------

This Application is distributed in the file:

  TrailblazePSPv11.zip

and includes the following files

  EBOOT.PBP      - the Application
  README.TXT     - this file
  SCRIPT.LUA     - Example source: an external boot script

The Application and boot script are
  copyright (c) Feb. 2008 dangee.net
The author, 'dangee' , reserves all rights.

The software may be freely Redistributed and used for any
non-commercial purpose provided that any redistribution retains
this file ('README.TXT') in its original unmodified form.
Any image produced by the software may also be freely used for
any non-commercial purpose.


Redistribution or use of the software, or of images produced by it,
for any commercial purpose are subject to prior agreement with the
author. Contact: dan@dangee.net

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


**************************************************************************

The software includes a modified version of 'LuaPlayer v0.16',
which requires inclusion of the following licence:

  ************************************************************************
  Copyright (c) 2005  Frank Buss
  All rights reserved.
  
  Redistribution and use in source and binary forms, with or without
  modification, are permitted provided that the following conditions
  are met:
  1. Redistributions of source code must retain the above copyright
     notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright
     notice, this list of conditions and the following disclaimer in the
     documentation and/or other materials provided with the distribution.
  3. The names of the authors may not be used to endorse or promote products
     derived from this software without specific prior written permission.
  
  THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
  IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY DIRECT, INDIRECT,
  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
  NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  
  ************************************************************************

**************************************************************************