
HEY YOU. THAT'S RIGHT, YOU THERE. READ ALL OF THIS FILE. ALL OF IT :)

======================================================================

   ExultPSP v2.2 20080829
   CFW Firmware build 3.XX/4.XX
   PSP port & additional support graphics by Phantom Fighter
   ExultPSP logo and website by Chemical (MAME logo creator! w00t)
   ExultPSP website: http://www.thefoodsucks.com/chuckles

======================================================================

--/  Who goes there?!  \------------------------------------------------

ExultPSP is a port of Exult v1.2 (http://exult.sourceforge.net) which
is a framework that allows you to play one of the greatest CRPGs of
all time, Ultima VII.  It requires you to have the original game(s),
Black Gate/Forge of Virtue  and/or  Serpent Isle/Silver Seed, as it
recreates Ultima VII by using the original graphics and data files.
ExultPSP does not include these for legal reasons.  Please do not ask
me for them.


--/  Smashing. Tell me more!  \-----------------------------------------

ExultPSP represents a bit of effort to coerce the PSP into running
Ultima VII, complicated by not actually owning a PSP, I had to borrow
one :P  By default, Exult will *not* run on the PSP by a simple
compile.  Changes (violent hammering) had to be made to get the
engine to play nice with the PSP.

The PSP is a sexy, fantastic piece of technology. Exult is a phenominal
body of work done by a tireless, dedicated group of individuals who
have been working on Exult for years, and continue to do so to this
day.  Since Exult makes quite liberal use of resources, this
unfortunately doesn't bode well for the PSP.  Neither is at fault,
they simply weren't made with eachother in mind.  I'll spare the
technical details but in short there were glaring issues which
prevented Exult from running, from freakish filesystem limitations on
the PSP to audio memory allocations *cringe* issues on the Exult side,
and so on, but these were eventually skirted/solved.

With regards to CFW on the FAT PSPs, memory will be an issue and can
cause an eventual crash (save games regularly, and rotate your saves).
Fortunately on SLIM PSPs, the extra memory is used and it seems to
serve Exult's memory needs fairly well.



--/  Good show! How do I install?  \------------------------------------

Simply extract the ExultPSP archive to your ms0:/PSP/GAME/ directory.

Straightforward, yeah?

Create a directory on your memstick INSIDE the ExultPSP/
directory called "ULTIMA7" and copy the "STATIC" directory from
an actual Ultima VII (Black Gate/Forge of Virtue) game there.

You should now have a directory structure that looks like:
  ms0:/PSP/GAME/ExultPSP/ULTIMA7/STATIC

If you happen to have the Ultima VII Serpent Isle/Silver seed game
and wish to play that, the steps are similar:

Create a directory on your memstick INSIDE the ExultPSP/
directory called "SERPENT" and copy the "STATIC" directory from
an actual Ultima VII (Serpent Isle/Silver Seed) game there.

You should now have a directory structure that looks like:
  ms0:/PSP/GAME/ExultPSP/SERPENT/STATIC


--/  Sounds good! Speaking of sounds...  \------------------------------

ExultPSP requires a soundpack if you want to hear sound effects.
Go to http://exult.sourceforge.net/download.php and grab the
jmsfx.zip ("Sound pack for Black Gate") file, and extract it to
  ms0:/PSP/GAME/ExultPSP/resources/soundfxbg/
You'll have to do the same for Serpent Isle/Silver Seed if you have
the game, as there is a specific sound pack for it too:
jmsfxsi.zip ("Sound pack for Serpent Isle"), and extract it to
  ms0:/PSP/GAME/ExultPSP/resources/soundfxsi/

This is where ExultPSP expects to find them.  You can grab the
slightly better quality Roland MT-32 soundpacks, but these take up
more space and requires you to monkey with the config file. If you
*really* *really* want it, this is what to do to use the fancier MT-32
package. Go to http://exult.sourceforge.net/download.php and grab the
sqsfxbg.zip ("Sound pack for Black Gate (Roland MT-32)") file, and extract to
    ms0:/PSP/GAME/ExultPSP/resources/soundfxbg/
In the config file, youll have to change the following line:
    ms0:/PSP/GAME/ExultPSP/resources/soundfxbg/jmsfx.flx
to:
    ms0:/PSP/GAME/ExultPSP/resources/soundfxbg/sqsfxbg.flx
See the difference?  I'm sure you can handle the serpent isle Roland MT-32
pack yourself ;)


--/  That's music to my ears! Wait, what about music?  \----------------

ExultPSP natively plays midi tunes by default.  However, very good
quality OGG file packs exist and ExultPSP can play them.  

Go to http://exult.sourceforge.net/download.php and grab both
U7MusicOGG_1of2.zip ("Ogg encoded Music files for Exult Part 1")
U7MusicOGG_2of2.zip ("Ogg encoded Music files for Exult Part 2")

and extract them to:
  ms0:/PSP/GAME/ExultPSP/resources/music/
this is where ExultPSP expects to find them.

After this, you'll have to load up ExultPSP and go into the game menu
"Audio Options" and under "Music options" you'll see a button for
"driver". Click it until it says "Digital" (it should be "Normal" by
default), Select "OK", quit the game, restart ExultPSP, and it should
now play the OGG files by default.


--/  How do I slay the wicked beast? Impose my will?  \-----------------

Ultima VII and Exult are mouse/keyboard driven games.  On the PSP the
controls are mapped ingame as follows:

Control Pad ...... Run                 L+Control Pad ... Walk
Analog ........... Mouse Move          L+Triangle ...... Use Keys
Square ........... Left Mouse Click    L+Cross ......... Use Lockpicks
Triangle ......... Right Mouse Click   L+Square ........ Eat Food
Cross ............ Combat Mode         L+Circle ........ Display Gold
Circle ........... Inventory           L+START ......... Save Menu
START ............ Game Menu           R+Triangle ...... Quick Ref
R+Square ......... Show Map            R+Circle ........ Spellbook
R+START .......... Show Stats          R+SELECT ........ Face Stats
R+START+SELECT ... Quit
L+R .... Mouse Mode Toggle (fast/slow)

The ingame quick reference (R+Triangle) gives you a battery life
indicator and the above list of controls so you don't have to refer
back to this file.

ExultPSP makes use of a modified Danzeff OSK in cases wherever you
are allowed to type, for example, the name of your Avatar.  Use the
Control Pad (UP or DOWN) to navigate to the NAME, press START on the
PSP to open the OSK, and use the Analog and Square buttons to type out
your name (You should know how to use the Danzeff OSK hopefully).
Press START again and the OSK closes.  It works similarly in the save
game menu, select a save slot, and a text cursor appears, at this point
press START, and you can type out a save name.  Press START again to
close the OSK and continue your game.  Easy !

When reading signs, most will be written in runes. To help you
decode them on the go, we've added a Runechart which you can toggle on.
Double click a sign to read, and when the sign is onscreen,
hit START to toggle the Runechart on.


--/  What's the catch?  \-----------------------------------------------

You agree to use ExultPSP at your own risk.  The use or misuse of this
product is solely your responsibility.  If it scrambles your memstick,
bricks your PSP, you've yourself to blame.  Thankfully, the PSP I
borrowed survived development and made it out unscathed, returning to
its owner unharmed :)  The brave beta testers of the private builds
aren't outside my home with torches and pitchforks, so it seems their
PSPs survived too.  But again, unexpected things may happen. There may
very well be bugs (the Exult teams works on 1.4 these days, I'm sure
they have fixed bugs since 1.2 - the build ExultPSP is based on), and
I may have introduced my own.  Be sure to save every now
and then, and rotate your save files (savegame1, savegame2, etc) so in
the event of a savegame corruption (this has not happened, but just in
case) you can go back safely to an earlier save.  Backing up your save
directory every now and then could be wise, too.  I'd personally not
mess with all the other options (video/etc) available, they aren't
necessary on the PSP, and they are to be considered untested.

Lastly,

**** DO NOT SUSPEND YOUR PSP **** during gameplay. Repeat:

**** DO NOT SUSPEND YOUR PSP ****.

When suspending the PSP, all open filehandles are closed by the PSP.
I've not bothered to account for this yet, so something catastrophic may
happen if you do it.  Quit the game normally from the game menu.


--/  The Future is in the Future  \-------------------------------------

I will try to fix major bugs and showstoppers as I can, if I can.
If I can find a PSP again *cough*. I've setup a Paypal account, for
the virtuous among thee.  Who couldn't use the extra compassion
points? :)  Any donations would go toward a PSP, a source of
frustration of having to part with it a few times during development
for lack of mine own, a new power supply for my randomly resetting,
ailing PC seems to need :P, the costs involved in hosting the site and
wenching expense.

I've got some ideas for future PSP projects, and a donation for
hardware would be encouraging toward that end as well.

I hope you have as much enjoyment out of ExultPSP as much as I had
getting it to work.  I put some extra graphics together for the OSK
and an illustration for the PSP EBOOT background, and Chemical
graciously provided a sleek & sexy new ExultPSP logo which you'll see
ingame and on the website he's helping with.  We hope the added
touches bring something extra to your experience.


--/  Thanks to thee:  \-------------------------------------------------

Richard Garriot and everyone involved in the creation of the Ultima
games series which has provided countless hours of entertainment for
over two decades.  Has it been THAT long?  *sigh*

The Exult Team for their continual efforts, making Ultima VII possible
on a variety of modern platforms is quite the feat.  Many thanks!
Visit them at: http://exult.sourceforge.net

The folks involved in the creation of the pspdev toolchain and their
daily, tireless efforts of making development for the PSP possible,
especially Tyranid for PSPLink, an invaluable tool during development.
Visit them at: http://www.pspdev.org

Danzel/JeffChen for the Danzeff onscreen keyboard base used in
ExultPSP, a very handy tool making the PSP that much more accessible
for many PSP projects.

JF/ChillyWilly for the TV-out work. Exult on a bigscreen is quite nice!

My friends & beta testers who helped test and find bugs during the
internal development phase.  Brave knights, one and all.

Chemical for beta testing, lending his digital brush and canvas to
this project, as well as making the website presentable and operational
for the Ultima and PSP fans alike.  Thanks to thee, good sir knight!


--/  Why are you hosting ExultPSP at thefoodsucks.com?  \---------------

You, my friend, are not a true Ultima fan.  To the dungeons with thee!



-Phantom Fighter
 "THE FOOD SUCKS!"


                                  `----.----:                  
                               `/:-  ```..`  :/.               
                              -h/``----://++: .+.              
                             `ys-/: `/sddy/::o.::`             
                             /N+:+ -/`  `oNs.+/-:`             
                             :ms-o.:`     sN:o/::`             
                             .hd.o.:.    `yh:s:/-              
                              +mo-o-:`   :d+s/::               
                               sd+/+:-  .y+os+/                
                                oso+o:-.y++ss-                 
                    `.```````````+hhos:o:+h+.```````````-.     
                   :dd::::--------:///+hdy/::::::--.-:-:s.     
                    .hd+./+-//osssyhdy+h:/dddyss+:::+./+`      
                     `yNdyss/::.`` -d::y..-   `-/osyos/`       
                      ./-`         /d-+y``:`       .+/`        
                                  `oo`/o  :.                   
                                  -d/-/o  -.                   
                                  /y`-/o  .:`                  
                                 .do --+   /`                  
                                 +d``:-o`  .:                  
                                 mo -/:o`   /`                 
                                :m``::-+-   `/                 
                               `m+ ./::o:    -:                
                               yd `////os-`  `-.               
                              :m/-+ss+//::///:o+               
                              /NN/`.---/: ...+:`               
                               `oNs` -./- `-+.                 
                                 /Nd- ./:./+`                  
                                  :md-./:-/`                   
                                   :yh:+:-.                    
                                    -syy+`                     
                                     /hm:                      
                                      /`                       


