HEY YOU. THAT'S RIGHT, YOU THERE. READ ALL OF THIS FILE. ALL OF IT :) ====================================================================== ExultPSP v2.1.8 - 20071008 Firmware 1.5 build (should work for OE, read below) 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 Good: Play Ultima VII on your PSP, anywhere, anytime! The Bad: Exult and the PSP were not made for eachother. At all. The Ugly: Exult will continue to consume memory during gameplay beyond which the PSP is able to offer. Crash, imminent. 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. The remaining problem is that Exult continues to consume memory whilst playing (loading/caching/whatever) which eventually exhausts what the PSP has and crashes. The good news is you should be able to get decent stretches of playtime before this happens. With occasional game saving, you should be fine. --/ Good show! How do I install? \------------------------------------ Simply extract the ExultPSP archive to your ms0:/PSP/GAME/ directory. If you have an OE firmware, extract it to ms0:/PSP/GAME150/ OE users will need to take an extra step because the default ExultPSP configuration expects to find the game and related files in ms0:/PSP/GAME/__SCE__ExultPSP/ so OE users will have to edit the included "exult.cfg" file with your favorite text editor and rename the GAME paths to GAME150 paths in the file. There are a few places to do this and all are located very obviously at the top of the file. For example, in the config file you'll see: ms0:/PSP/GAME/__SCE__ExultPSP/DATA and for that to work on OE firmwares, it will need to be changed to: ms0:/PSP/GAME150/__SCE__ExultPSP/DATA Straightforward, yeah? Create a directory on your memstick INSIDE the __SCE__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/__SCE__ExultPSP/ULTIMA7/STATIC or in the case of OE users: ms0:/PSP/GAME150/__SCE__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 __SCE__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: 1.5: ms0:/PSP/GAME/__SCE__ExultPSP/SERPENT/STATIC OE: ms0:/PSP/GAME150/__SCE__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/__SCE__ExultPSP/DATA/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/__SCE__ExultPSP/DATA/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/__SCE__ExultPSP/DATA/soundfxbg/ In the config file, youll have to change the following line: ms0:/PSP/GAME/__SCE__ExultPSP/DATA/soundfxbg/jmsfx.flx to: ms0:/PSP/GAME/__SCE__ExultPSP/DATA/soundfxbg/sqsfxbg.flx See the difference? I'm sure you can handle the serpent isle Roland MT-32 pack yourself ;) (OE users, you have a GAME150 directory, note the change) --/ That's music to my ears! Wait, what about music? \---------------- ExultPSP natively plays midi tunes by default. However, real 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/__SCE__ExultPSP/DATA/music/ this is where ExultPSP expects to find them. (OE users, you have a GAME150 directory, note the change) 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 whereever 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 ! --/ 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. As I've stated before, expect the PSP to crash during play after a while (it should give you an "out of memory" display when this happens). 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. I'd personally not mess with all the other options (video/etc) available, they aren't necessary on the PSP, but I didn't disable them either. They are to be considered untested. Lastly, **** DO NOT SUSPEND YOUR PSP **** during gameplay. Repeat: *** DO NOT SUSPEND YOUR PSP ***. ExultPSP makes use of an extra 4megs of memory in the PSP, and when suspending the PSP, the OS *wipes* this area out. 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, 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. 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: /`