PCSXBox - PSX Emulator for XBox v21 (redux)

"Lock free.. like it should be!"
"More features than you can shake a stick at!"

First off...  "You must have at least Disc image for our emulator to work.  Really... how else are you gonna play you silly wabbit?".  :P

Special thanks....

X-port for porting a great collection of emu's over to the xbox, releasing the source code, and answering my stupid questions.

Surreal CE team - Just because they are cool!
+T+, iq_132, NeoBomb, SquarePusher, and XtecuterX73 for helping keep the xbox-scene alive.
Atariage (Albert in particular) - For providing a place for me to ramble on. For encouragement in general.
Wimpy and Perr - For also providing a place for me to ramble and to make my goods available.  :)
Gilou9999 for new COLOUR SD and HDTV skins, synopsis, suggestions, rumble codes, etc.
Wimpy for providing 3d boxart templates for the PSX Xtras.

Shout out to Hyper_Eye, SPPV, hcf, A600, Destronger, +T+, Neobomb, incrediclint, YRUSirius, Surreal CE team and all those who are honourable and keep the xbox-scene alive.

Beta testers for v22 Reloaded.  I'll get around to naming ya when I release that build.

Comments of support from various interested parties.
If I missed anybody shoot me an email and I'll update this file.

What is going on here?  Redux what?

The original release of v21 had a small little issue with changing of CD's so I kinda felt bad about that.  I made this to help in my testing of v22.  Which is looking real good btw.  Well I also did it so I could play "Speed Punks" redump.org image over a samba share.  :P

Stuff that didnt make it.

* No new GTE.  No SPU 1.10 core.  No GPU 1.18 core.  No "Fake 'gpu busy' states".  Several games that are playble in v22 are NOT working in the v21 build.  Large/small sound buffer (uses small).

Carryovers from the up and coming pcsxbox v22

* Some new skins by Gilou999

* New cheat codes by Dominater01 with some edits by Cheema.  Old cheat codes are there if you still wish to use them.

* Change Disk option fixed now.. Oopsie!

* Redump.org image support.

* Can handle (.mds/.mdf) images with subchannel data (I think, untested).

* Much improved CDDA playback.  This fixes the CDDA in ALOT of games which makes them worthwhile playing.  Unlike the older x-port releases which had some serious CDDA issues.

* Fixed an issue with x-port's CDDA audio volume code that caused some games to appear to have no music.

* CDDA audio volume is now tied into the ingame (emulation) volume so setting CDDA music volume in here will now work.

* Fix to Re-volt CDDA.  Earthworm Jim and Contra - Legacy Of War now play audio.  Make sure you have the matching ".ccd/.cue" files for Earthworm Jim.

* "Turn on Framelimiter When Playing FMV" option.

* Less "lag" when returning to a game after being in the "In Game Menu"

* "Disable Memory Slot 2" options so you can play Codename Tenka.

* New samba code and all the advantages it comes with.

* Synopsis lookup based on disc SLUS id.  However the synopsis needs work big time!  Any volunteers?

* Per game video resolution and autoload savestate.

* Most "graphic fixes", "cpu", and "spu fixes" can be changed while in game.

* Bug fixed where sometimes "graphic fixes" did not work when switching games. (A long standing bug).

* Config DB and Preset Controllers.  I'll include my currently created Preset Controllers.  However there is no Config DB for the v21 build.  If someone wants to start a thread here on emuxtras to start creating some then you have our support.  However curent config DB focus is on the up and coming pcsxbox v22.

* Game configuration is deliberately compatible with the up and coming v22 so you should be able to use this and it should not interfere with v22..  For those scaredy cats I'm including "patched" versions by Cheema.

* Ability to reset a games configuration options to default.  Press back in main configuration menu to do all, or in individual settings menu for just those.

* All the latest madmab edition interface features! (See below for more info)

*** Changes To PcsXbox Core ***

* None really.. just a few minor fixes.

*** To Do For PcsXbox ***

- Wait until the next "Reloaded" release.

*** Dummy/Lockdown Mode Settings ***

This is a new feature which means lots of changes in regards to the menu interface and a bunch of internal stuff.  :)

There is a new menu option in the "Configuration" screen called "Dummy/Lockdown Mode Settings" menu options in this screen are.

"Full Fledged Lock Down Mode?" (Yes/No)
-> This activates all options and sets them all to Yes or if they are on it will deactivate them and set them all to No.

"Password Protect?" (No, Configuration Only, Skin Menu Only, Configuration & Skin Menu)
-> Password is 10 buttons presses max.  Acceptable buttons are A, B, X, Y, WHITE, BLACK, BACK, Dpad Up, Dpad Down, Dpad Left, Dpad Right, L3 and R3.  Password is stored (non encrypted) in the .ini file for those of you who set it and forgot what it is.  It even has a nice key to tell you what the characters mean.. :D

"Change/Set Password"
-> Why change or set the password of course!

"Change/Set In Game mapping useage prevention"
-> This allows you to deactivate in game mapping settings that may be defined in a games controller settings.  This will also disable any related "In Game Menu" options.  See below for the list.

"Prevent user from adding/removing favorites?" (Yes/No)
-> If you dont like people mucking around with your favorites list on the game select or favorites menu, set this to Yes.

"Prevent removal of save configuration files?" (Yes/No)
-> Keeps people from pressing black and erasing all your hard work configuring games.  :)

"Prevent user from pressing X to configure game?" (Yes/No)
-> Keeps people from going in and mucking up your wonderful game configuration setup that you spent hours tweaking.  ;)

"Ask Before Moving to Garbage Dir?" (Yes/No)
-> Same as before.. just moved here and removed from the general settings menu.

"Keep user Within ROM Directory Tree?" (Yes/No)
-> Same as before.. just moved here and removed from the general settings menu.

"Allow Skin Access" - (Full Access, Select Skin & Load Configuration Only, No Access PERIOD!)
-> This will allow you to limit the user to just selecting the skin or skin configurations.  Slight overlap with the password protect option.

"Lockout In Game Menu (Hold Back To Exit Game)"  (Yes/No)
-> Wanna keep the user out of the In Game Menu?  This option is for you!  Gamer needs to only hold "BACK" down for 4 seconds to exit the game.

--- In Game mapping useage prevention ---

This allows you to deactivate in game mapping settings that may be defined in a games controller settings.  It's use should be pretty obvious.  This will also disable any related "In Game Menu" options.

"Prevent All On List?" (Yes/No)
"Prevent in game Sfx Volume Adjustment?" (Yes/No)
"Prevent in game Bgm Volume Adjustment?" (Yes/No)
"Prevent in game Rewind and Rewind Toggling?" (Yes/No)
"Prevent in game Fast Forward?" (Yes/No)
"Prevent in game Slowdown?" (Yes/No)
"Prevent in game Save/Load/Save State Slot Changing?" (Yes/No)
"Prevent in game Screenshots?" (Yes/No)
"Prevent in game Auto-Screenshot Capture Mode?" (Yes/No)
"Prevent in game Filter Changing?" (Yes/No)
"Prevent in game Music Control Menu Use?" (Yes/No)
"Prevent in game Playback and Recording?" (Yes/No)
"Prevent in game Media Browser Useage?" (Yes/No)

*** Interface Related Changes ***

* Fixed issue where Popup msg window was messing up transitions.

* Screen size and position settings werent always being restored properly this primarily affected emu's that use preset controllers and in particular games defined as using a particular preset controller.

* Tweaked the synopsis word wrap so the left/right margins are a little more even.

* File select now has the ability to filter extensions.  Mostly useful for me... :P

* Set Game Screen Size/Position now has the same options as "Override Game Screen Size (Global)".  So you can use these when setting Game Screen Size position in game or from the main menu.
-> Options are "Full screen" ( +/- 20 or so on top/bottom/left/right of screen), "Size to Fit (Keep Ratio)", "Pixel Perfect", and "Custom".  In some case "Size to Fit and Pixel Perfect" are the same (depends on system emulated).

* Removed Text screensize/position menu options since this is now set based on the video mode used by the games.

* Fixed Screenblur when displaying on screen keyboard.  For good this time.. :P

* Modified many menus so while in IGM only relevant menu's are displayed.  (Too many to mention)

* New filename sort code.  Filenames should sort properly.  No more need to add a I, II, or III to filenames to get them to sort right!  Works in favorites too!

* Fixed bug where viewing the synopsis in the in-game menu, and then going back to the favorites list could cause a crash.

* Now only displays valid available video modes (set in yer xbox dash) in the "Video Mode" select screen.

* "Lock Game Screen Size For All Games" added. Options are "Full screen" ( +/- 20 or so on top/bottom/left/right of screen), "Size to Fit (Keep Ratio)", "Pixel Perfect", and "Custom".

* The interface now keeps track of all screen size settings for all video modes. This is for all individual games. It will also auto adjust the size for all video modes if "Override Game Screen" is activated in some form. This also opens up the possibility of allowing different video modes for different games.

* Minimum sound volume bumped up to something more reasonable.  That way if you do accidently lower the volume it wont take as long to get it back.  :P

* Media browser will properly back out now if you are in a ZIP file and press B to exit out.

* Numerous fixes to prevent controller button presses from making their way back to the game when you are done (still needs some work)

* Fixed lockup when viewing a certain number of FAQs or the same FAQ several times.  Stupid me forgot to dealloc the buffer after exiting.

* Fixed lockup that would occur when you tried to edit a action replay cheat code.

* Fixed problem where you could get stuck in the media browser and not get out (happened when you had media browser mapped to a key)

* Remove all the annoying questions when you switch to 480p and higher video modes.  X-port code has detected and auto switched to lower resolutions for some time now.  If someone could verify this for me just to be sure. :P

* Modified the media browser so that when viewing images (e.g. manuals or maps) that it will try reverting to 480p in order to view the image if it will not load at 720p or higher.

* Synopsis now displays properly in the "In game menu"

* Loop movies option (Yes/No) added.

* Fixed issue with wrong screen coming up when "Always display save state menu" is set to yes.

* Code for "action lists" mostly done.  Here is a demonstration video that is slightly out of date.  http://www.youtube.com/watch?v=arI6rIp00Jk.  This feature is still a wip but is mostly functional.

* Improved the screenshot, box/cart art, and movie streaming to make browsing games a little smoother.

* Files within a zip now display sorted properly now.

* Fixed a couple goofs that prevented loading ROMS over a samba share.

* "Move Selected to the Garbage Folder?" now has a new option.. "Never Move". So "Yes" will ask before moving the selected file to the Garbage folder. "No" will just move the file and "Never Move" won't move the file at all.

* Pick -1 on "Seconds before playing movie" to set to 0 seconds. 0 will equal half a second.. 1 one second, and so on.

* User can now select which "cheat code database" they wan't to load since it seemed silly to mix codes for different cheat devices like AR, GG, etc into one file.

* Pressing the back key while viewing a games synopsis will toggle between a fixed font and the skins proportional font.

* Fixed long standing bug of YesNo Menu pop-up graphic not centering properly.

* Fixed a long standing bug in the favorites system. This one goes waaaaay back.

* Emulator should now work with 1.6 Xbox's super big thanks to FreakDave. 1.6 users let me know how this works for you.

* Fixed a problem where the media directory selected by the user replaced the wrong media directory. Again. Double Doi on me! :P

* Fixed the problem where the wrong synopsis description was showing when selecting a game in the favorites menu.

* Fixed odd bug where the opening movie and movies played full screen in the media browser would not display properly at 1080i

New SAMBA code

* Old SAMBA code has been replaced.  You should now have more luck connecting to your SAMBA shares (including a NAS).  Especially shares with passwords which NEVER worked under the old code.

* Renamed "Enter Samba Share Name" to "Enter Root Samba Share Name" since it acts more as a shortcut now that you can "Browse" SMB shares.

* "Samba Server Name" doesn't really serve any purpose at the moment but I left it in there just in case.

+ SMB shares can now be browsed.  As a result how you use Samba shares has changed slightly...  Try these steps..

1) Clear out your "Samba Share Name"
2) Use either the ROM browser or the "Change default directories" to browse to your share (Press "Y" until you see the drive list and select "SMB:\\").
3) If it doesn't work, try it again a couple times.  For some silly reason sometimes it times out.
4) If the emu thinks your share needs a password a window will pop-up asking you if you want to enter in a username and password.  Enter it as "username:password".
5) As a result of this change you can set all your definable directories to any share with any password.

6) If for some reason browsing doesn't work try entering your Samba server name in the "Enter Root Samba Share Name" under "Network/Netplay Options" format is "smb://servername_or_ip/sharename" or "smb://username:password@servername_or_ip/sharename" if the share is password protected.  Browsing once within a share is much more reliable.

7) If you enter anything into the "Root Samba Share Name" then you are stuck with that and cant use other servers unless they are on Relax.

8) If steps 1-5 don't work for you but step 6 works you might wanna consider deleting your emu_name.ini file in the SAVES directory.  I was told by one user that this cleared up his problem.

+ Some suggestions if you decide to "stream" stuff over the network.

1) Try splitting the workload.  Setup a Relax and Samba share (or even seperate servers) and divy up the workload.  They both have seperate cache's so it's more efficient.
2) Roms, Screenshots, Box/Cart art, Manuals, Commercials, and the like are great candidates for streaming.
3) If you do stream Screenshots and Box/Cart art set the timers a little higher and not the same.  For example 5 seconds on screenshots, 10 on Box/Cart art.  Or just set them to 0 (manual advance).
4) Streaming movies really depends on how good of a network you have  For example streaming movies over a wireless network aint gonna be so hot.  
    To me relax seems faster but that may have changed with the new SMB code.  You might also wanna consider bumping up the movie delay a couple seconds.

An example of how I have mine set up.  Screenshots and Box/Cart art on the xbox 5/10 sec delay respectivaly (or 0).  GameFaqs, VGMaps, etc on xbox.  
Movies on Relax share to computer connected to my Xbox (1-2 sec delay).  ROMs on a Samba share to my NAS, as well as all of the commercials and manuals.

The possibilities are endless.  Experimentation is worthwhile.  Or you could just slap a super big hard drive in your Xbox and forget all this silliness.  :P

* New feature "Seconds before playing movie" determines how long the emu will wait before playing a movie.  The default is half a second.  This will help speed up rom browsing.  Especially useful for people streaming stuff (like movies) across the network.

* If streaming movies from across the network and the user press on the dpad or a, b, x or y the emulator will abort the transfer.  This should help speed up rom browsing and allow the user an "out" especially for the larger movies.

* Fixed an issue with the software filters displaying garbage.
* Activated the "Keep user Within ROM Directory Tree?" which I somehow missed.
* Fixed up the box/cart art position on a few skins.
* Fixed a problem where setting the box/cart orientation was screwed up.
* Fixed the bug that screwed up Gilou's skin to begin with (too weird to explain).  :P

* Fixed issue where "Override Game Screen Size/Position (Global)" was not working on multi core emulators.

* Moved "Shutdown Xbox" option above "Return To Launcher" option.

* Fixed an issue where changing the "Samba Nameserver" would also ask you for the "Relax Share Name" when you were done.

* Improved game preview network streaming.  I like to call it "pseudo-streaming" so streaming game previews off a network should be ALOT smoother now.

* "Pseudo Streaming" defaults to off.  So if you want to turn it on go into "Screenshot/Movie Preview Settings" and turn it on.  I'm doing this until I get more feedback concerning the performance of it.

* Removed pop-up that says "Select The Cheatcode File You Wish To Use." per Dominater01's request.

* Cheatcode files now looked for in "Cheats" directory (don't forget to move them there guys!).  (Pcsxbox only).

* The two Preset Controller menu options have been moved to the "controller configuration" menu.  I did this cause several emu's use this feature now and to help reduce clutter in the in-game menu.

* Fixed blank pop-up message when trying to display the cheat codes when there are none.

* Fixed issues where media would not display when a directory with a period in it was highlighted.

* Added option to "Refresh DVD Drive".  It is currently in the "Utilities Menu"

* Finally added option to "Shutdown Xbox".  It is currently in the "Main Menu" however I have my reservations about it's location.  I'd prefer to have it in the "Utilities Menu"

* Partial >4096 file support put in.  If you have more than 4096 title or action shots put them in a directory named "action01" and "titles01".

* Checks put into the cheatcode database checker to let you know if the file is to big or has too many game entries and needs to be split up.

* Gilou9999's HD Colour skins should work properly now (no weird hacks).  Be sure to at least copy over the "settings.ini" files in the skin directory and the skin "configurations" directories and "reload the skin".

* Added new skin transition option "none".  Real handy for skins like Gilou9999's that uses the HD sprite trick.

* Windows 7 users should have no more weird issues on samba shares!  Woohoo!  Thank you YRUSirius for pointing out the available patch and Buzz for creating that patch.  :D

* Fixed issue where emulator menu video mode was reverting to last played games video mode in emu's that support game specific video modes.

* Added in a feature "Sprites Used As Background? Yes/No" to allow the use of "sprites" as the background.  Setting this to "Yes" allows the game screenshot to be seen in the IGM as well as the savestate screenshots in the select state menu.  However skin designers keep in mind the more memory your skin uses the less room that leaves for me to add new features.  Things are tight enough as it is.

* Fixed an issue where the synopsis was not always displaying for an unzipped file.

* Fixed a weird issue where if you are missing the "Title" or "Action" directory/picture for a game it would not be displayed correctly in the gameselect or favorites screen.

* Synopsis screen transition now works like it is supposed to.

* Fixed an issue where the preset controller settings were not saved properly (sorry guys. :( ).  This only effects certain emus with preset controller definitions.

* Synopsis code completely rewritten to support the new synopsis format.  Old synopsis.txt file is now officially defunct!  :P

* Another new option "Use Default Emu Filter?".  This will apply a preset filter custom designed for each emu core.  It is also used internally by the synopsis code so user interaction is not required in some cases (like when a .zip file contains NFO or text file).

* modified L/R file scrolling so it doesnt kick off the movie so quickly.  Hopefully this will fix interference from movies being accessed from a samba or relax share.

* Fixed long standing issue with "Autoload last savestate" where it could potentially pick the wrong savestate.  Of course it also helps to make sure your xbox date is set correctly.  :P

* Now have the ability to display long names for games.  This currently relies on having Xtras ROM files.  In the future I will be providing other options.

* Fixed issue where emu would lock up if the media directory path was longer that 36 characters.  (Thanks to those who reported it and AMOC for testing for me)

* Fixed issue where emulator would lock up in favorites menu if you start removing games from the bottom up .. 

* Fixed issue with wacky numbers when trying to adjust the volumes while in the IGM.