Change Log for Previous Public Releases:
========================================
Version 5.0:
This release is for PSP Slim & Lite only.  It introduces an Advanced Multi-tasking feature which allows you to run 2 applications simultaneously and switch between them with a hot key.  Of course, you can still multi-task these 2 apps together with iR Shell build-in functions.

Usage Notes:
1) Before you can use the Advanced Multi-tasking, you'll need to enable the option "Slim Advanced Multi-tasking" under iR Configurator.
2) You can load 2 Applications to the 2 memory slots in the Slim. Slot 1 is the usual memory area for loading applications (the lower 32MB RAM); while slot 2 is the new memory area (the upper 32MB RAM only available on Slim).
3) By default, the 1st app will be loaded in slot 1, and the 2nd app will load in slot 2 automatically. To force the 1st app to load in slot 2, hold Left-Trigger while lauching an application under the confirmation popup window.
4) The typical app switch toggle "L-Trigger + Select" or the alternate key "Vol Up + Select" will allow you to toggle between the 2 apps and iR Shell. New key combos "L-Trigger + Note" or "Vol Up + Note" will allow you to switch between the 2 apps without going back to iR Shell screen. Pls note pressing the Note button alone (without L-Trigger) will act as the screen capture button.  The alternate Vol Up combo keys perform exactly the same as L-Trigger key and is provided as an alternative.
5) Normally, when you exit 1 of the 2 apps, it will cause the PSP to reboot, meaning you'll also lose the other running app.  This can be resolved by adding unloading support into the application itself.  However, this will require modification of the app to perform resource cleanup and self-unloading upon exit.  All iR Shell bundled plugins have been enhanced to support unloading, such that they can be terminated without affecting the other running app.  To exit these plugins gracefully, use the exit function build into the app itself.  For example, to exit bookr, press START and choose Exit menu item.  iR Shell disables the standard Home exit menu while 2 apps are running.  To exit both apps together, use "Home + Square" instead.

Compatibility Notes:
- Not all apps can be loaded to Slot 2. There're two types of program binary format for PSP, static ELF and relocatable PRX. Static ELF uses fix memory address and can't be relocated. Hence, they will only work when loading in slot 1. If you try to load a static ELF in slot 2, you'll get an error code "0x800200D9". PRX can be loaded in either slot 1 or 2. To convert a homebrew from ELF to PRX, you'll need to re-compile it with BUILD_PRX=1 and set the heap size with PSP_HEAP_SIZE_KB(-800) in the source file.  Most static ELF homebrews can be converted to relocatable PRX simply by recompilation.
- There is a limitation on the PSP AVC hardware decoder which is for video playback.  It cannot be accessed by more than 1 application; which means you can't have 2 applcations running together if both of them access the AVC hardware decoder.
- The bundled plugins should be able to coexist with most other apps; with the exception of the PPA plugin which can only coexist with another app which doesn't use the AVC hardware decoder.
- You can't have both slots loading UMD/ISOs, due to there is only 1 physical UMD drive and ISOs are simply emulating the UMD.
- PS1 games take exclusive use on the audio hardware.  As a result, it will be incompatible with other apps that use audio.
- The launch XMB function may not be stable for most commercial games due to resource conflicts. However, it should be pretty compatible with most homebrews.  On the other hand, the Sony Web Browser should work with most commercial games & homebrews.  To browse Internet while running another app, you can use the iR Shell bundled htmlviewer which is the Sony Web browser.
- If an app is built with PSP_LARGE_MEMORY flag and you're trying to load it in slot 1 (first app), it will use all Slim memory and you won't be able to load a 2nd app. To allow it to co-exist with other apps, you'll need to load it in slot 2.
- This will probably be incompatible with DA's LEDA if you're trying to run 2 apps requring 2 different kernels.
- This Advanced Multi-tasking feature is incompatible with Interlaced TV Out for slim due to insufficient memory. Progressive TV Out should work fine.
- If you get an error "0x800200D9" while loading an app to slot 2, it's a static ELF and you'll need to load it in slot 1.  That is, reverse the order of the 2 applications you're loading.

Additional Note:
- The bundled bookr plugin is based on the original v0.71.  If you want to use the recent v0.81 mod by Nguyen Chi Tam, you can download it from www.ishell.org forum.
- You can find most of the plugin source code in www.irshell.org plugin forum.  If you want to add unloading support to a homebrew, you can refer to these samples.


Version 4.92:
New Features:
- Added support to Dark_AleX's LEDA.  Pls note iR Shell only supports LEDA version 0.2.  To enable LEDA support within iR Shell, enable the option "Legacy Homebrew Support via DA's LEDA" under iR Configurator.
- Increase remotejoy framerate to around 30 FPS while running PS1 games.
Bug Fixes:
- Fixed most game audio stuttering while mp3 is playing.
- Fixed PPA plugin crashing with nethostfs/usbhostfs access.

Version 4.91:
Bug Fixes:
- For interlaced TV, some games have low frame rate.  This is now fixed.
- For interlaced TV, some games have stuttered sound output.  Most of them should now be fixed.  If you still encounter stuttered sound for a specific game, you can try to increase the value of "Interlace TV Thread Priority" in iR Configurator.  The higher the value, the lower the priority the thread will run and it will give more CPU time to the game which will help with the stuttered sound.  You shouldn't lower this value, unless you know exactly what you're doing.  The default value is 0 (same as setting the value to 21) which will work for most games.

Version 4.9:
New Features:
- Support Playstation Network downloable games & demos.  Pls note you need to set Umd Mode to M33 or NP9660 in iR Configurator in order to run PSN titles.
- Added support to interlaced TV including component interlace & composite.  You can configure the TV type via "TV Mode" option in iR Configurator. You should only use the iR Shell hotkey (Left Trigger + Right) to toggle between TV mode & PSP LCD.  Don't press PSP display button to switch TV mode.  Games & homebrews launching from iR Shell will inherit the TV mode.  Most games will run at full speed with default CPU clock.  If you experience slow down for certain games, you can modify the CPU clock speed to 333MHz in iR Shell.
- For slim PSP TV out, added an option to control the audio output to PSP speaker.  This will be useful for docking station with TV out & charging capabilities.  An option named "TV Out Cable Audio Output" in iR Configuator allows you to choose the audio to be outputed to TV, PSP, or following the active display.  For the "Following active display", the audio will come from the PSP when the LCD screen is active; when you switch the display to TV, the audio will be re-routed to TV.
- Added an option to disable Memory Stick MagicGate support.  This is meant to be used for PhotoFast microSD to MSPD adapter, or other similar non-MagicGate MS.  By disabling the MagicGate support, you will no longer experience the annoying pause in XMB, such as turning on the PSP, switching off USB mode from XMB, quiting game/homebrew back to XMB, entering XMB video directory, etc.  You shouldn't disable the MagicGate Support if you're using a genuine Sony or Sandisk MSPD.
- Added connection timeout support for nethostfs. You can modify the "NetHost Conncetion Timeout" value in iR Configurator.  Default is 10 seconds.  Previously, the connection will block for 1 minute if the host doesn't exist.
- For the IR learning remote, the 30 seconds timeout has been removed.  Instead, you can now press SELECT button to abort the learning process.
- For the IR learning remote, added an option "R-Trigger + Select" to define number of iR Code segments to be captured.  This is only useful for certain rare remotes that need consecutive code pairs to work.  If you don't know what it is, you probably don't need it.
- Added ability to have a user supplied font file for each skin.  Name your font file as "font.fnt" and place it under your skin directory.  You can also place a default font file under /IRSHELL/SYSTEM.  This default font file will be used if no font file residing in the skin directory when you're installing a skin.  Pls note if there are no default font file in /IRSHELL/SYSTEM and skin directory, the system will use an internal font (the original iR Shell font).  The user supplied font file needs to be 8x8 fixed width bitmap font.  The font file must cover the standard ASCII character set 0x20 - 0x7F, ASCII code 0x00 - 0x1F are dummies & won't be used in iR Shell.
- Added a "Line Spacing" option in iR Configurator which allows to define the line spacing in all iR Shell views (DIR, APP, SAV & RDF).  The line spacing unit is in number of pixels.  Default is 2.  Prior to this release, the line spacing was always 0.

Following bugs have been fixed:
- The APP View will crash for certain homebrews.
- When you edit an existing remote, it will always default to 40kHz.  Now, the default carrier frequency will be the 1st learned IR code in the remote file.
- The HOME button is not disabled when switching from APP/Game to iR Shell.  Pressing the HOME button to quit while in iR Shell will hang the system.
- Some ISOs using sceKernelLoadExec() failed to work under NP9660 mode.
- PRXPlugin isn't working when nethostfs MAX mode is active for Phat.


Version 4.8:
New Features:
- Added support to homebrews that are built with the option PSP_LARGE_MEMORY, that is, to use the extra slim memory.  When running these homebrews under iR Shell, they will have access to another 26MB slim RAM.  Pls note 2MB of slim RAM is reserved for iR Shell.
- Enhance the HTML Viewer (originally developed by Dark_AleX) to use the extra slim memory.  These should help to reduce "Not enough memory" message when accessing larger web contents.  The HTML Viewer can be accessed via predefined homebrew #1 icon.
Bug Fixes:
- Some homebrews weren't correctly recognized by iR Shell and application names were displayed as garbage.
- When setting np9660 mode in iR Configurator, some homebrews failed to launch.
- Launching PS1 games via popsloader wasn't working properly.
- Copying a large file from ms0: to nethost0: will crash the system.

Version 4.7:
- Support Dark_AleX latest 5.00M33-3 CFWs.  Users of original 5.00M33 & M33-2 should upgrade to M33-3 to avoid incompatibility issues.  The latest Popsloader 5.00 is also supported.
- An Infra-Red learning remote is added for PSP Phat.  You no longer need to hunt pronto codes for your appliances.  Just point your remote unit at the PSP and it will learn the iR code.  It is available under higher firmwares and not fw 1.5 mode.  Refer to the iR Learning Remote section for usage details.
- The nethostfs connection handling has been redesigned to be more robust.  However, iR Shell 4.7 and onwards can only connect to the new nethostfs PC server v2.1.  Make sure you've updated the nethostfs PC server.  This version uses 4 consecutive TCP ports, default 7513-7516.
- Enhance UMD/ISO game compatibility via nethostfs MAX mode.  Most previous failed games will probably work.
- Usbhostfs & nethostfs host redirection under XMB has returned.  You can access your host PC media using XMB Photo, Music & Video players.  You can't access host games from XMB, since this is already provided under iR Shell Application View.  The free space under XMB will reflect your host free storage space.  Due to limitations on XMB, it will only display upto 512GB in size.
- The Adhoc PC connection for nethostfs was broken since fw 3.71.  This feature has been brought back for PSP Phat.  Usage is the same as before.  For PSP Phat only.
- Enhance the HTML Plugin (by Dark_AleX) to allow direct launching of flash games with extension SWF.

Infra-Red Learning Remote Usage:
1. Switch to RDF view, then press "START" button to bring up a learning remote popup menu.
2. Choose "EDIT" to edit an existing remote or "CREATE" to create a new remote (a new rdf file). Either case, it will launch the remote app as a separate application.
3. If you choose "CREATE", you will be prompted to enter the rdf filename and then the title for the remote. The title will be the same as the filename by default. You can modify it with the OSK (On Screen Keyboard).
4. A "LEARNING MODE" screen will be displayed. You can press any key combo to start learning an iR remote signal. Point a remote to the PSP iR port and press the key on the remote control briefly. Don't hold it for too long. After the iR signal has been learnt, the OSK will popup to allow you to enter the key description. Repeat the whole process until all keys have been learnt. You'll have 30 seconds to complete each key combo learning cycle.
5. If you re-learn an existing key combo, the previous learned iR signal will be overwritten and no confirmation will be given. If the key combo has already been defined as a macro key (by editing rdf file manually), learning the same key combo will overwrite the macro key definition. That is, it will now become a non-macro key. Pls note macro key can only be defined by editing the rdf file manually.
6. You can toggle between "LEARNING MODE" and "PLAYBACK MODE" by pressing "START" button. While in "PLAYBACK MODE", you can test the newly learned iR codes.
7. You can also set the repeat/single-shot mode for each button you learn. You can toggle the setting via the learning remote menu or press "LTRIGGER + START". The current mode is displayed after "LEARNING MODE" keyword.
8. By default, the iR Carrier Frequency is set to 40kHz which all Sony devices use.  About 80% appliances use 36kHz-40kHz carrier frequency, and the default setting of 40kHz will work on them.  However, if the default doesn't work on your appliance, you can try to find the carrier frequency for your device and set it by pressing "Right Trigger + START".  FYI, RCA & many dish network satelite remotes use 56kHz.
9. Upon completion, press "SELECT" button to save or cancel any changes.
Button Usage under LEARNING mode:
START: Toggle between learning & playback modes.
Right Trigger + START: Modify carrier frequency.
Left Trigger + START: Toggle Code Repeat or Single-Shot.  Repeat code will cause the learned iR Code to repeat itself as long as the button is held.  Single-Shot code will only be transmitted once.
SELECT: Learning Remote Menu
        SQUARE: Toggle Code Repeat or Single-Shot.
        SELECT: All codes in the current remote will be converted to Repeat codes.
        START: All codes in the current remote will be converted to Single-Shot codes.

Version 3.9:
New Features:
- Added support for 3.80M33-2, M33-4 & M33-5.  Pls note M33-1 & M33-3 are not supported due to some technical issues which I'm lazy to resolve.
- Added support for 3.80 Popsloader Version 2.  Version 1 isn't supported.
- The 1.5 Kernel Addon for 3.71M33 & 3.80M33 has caused some incompatibility issues with fw 1.5 iR Shell. This is now resolved.
- Enhance PSP ISO compatability.  Previously failed ISOs will probably work in this release.
- For slim only, the nethostfs MAX mode is now compatible with WPA.
- Some older firmware supports have been removed to reduce the distribution archive.  This version has support for fw 1.5, 3.10 to 3.80.  Also, directories EXTAPP15 & EXTAPP3X have been combined into a single EXTAPP to save space. Each APP# directory has 2 EBOOTs, with EBOOT.PBP for fw 3.x and EBOOT15.PBP for fw 1.5.
Bug Fixes:
- Launch XMB will now show UMD disc icons, even NoUMD modes are selected.
- Fixed some nethostfs & UMD compatibility issues.
- Fixed the compatibility between Sony NP9660 NoUMD Mode & launching PSOne game via nethostfs.
- Turning off nethostfs sometimes crashed the PSP. This has been fixed.

Version 3.81:
Bug Fixes:
- Fixed a critical bug in the iR Shell firmware patch which results in unable to launch UMD in XMB and also causes various incompatibility issues with other homebrew apps & seplugins.  Just apply the new patch and all issues will be resolved.
- Fixed a bug in Contect Menu which wouldn't allow you to choose "Select" or "Start" menu items.

Version 3.8:
- Added support to PSP Slim via 3.60 & 3.71 M33 CFWs.  Both Phat & Slim now supports the latest M33 CFWs including 3.71M33-3.
- 2 Player PSOne Adhoc Support.  Pls note this feature isn't very stable atm and games may lose synchronization druing battle, some games may work better than others.  Currently, only POP ver 3.1 to 3.51 & 3.60 are supported.  Ver 3.52, 3.71 & 3.72 are not supported.  To use the supported POP versions with 3.71 M33 firmware, you'll need to use Popsloader by Dark_AleX.  By default, iR Shell will stop the POP emu from setting your CPU to 333MHz when WiFi is active.  To maintain the 333MHz clock with adhoc mode on, you'll need use iR Shell to set your PSP clock speed to 333MHz before starting adhoc play.  Pls note it's still unknown whether running 333MHz will have an adverse effect on the WiFi chip.  Use it at your own risk.  To exit from PSOne game, press "HOME + SQUARE".
- Introduce a new Context Menu System.  You can press the "START" button on a normal file under DIR view and it will bring up a context menu.  You can then choose the action to perform on the selected file.  The sample context menu have "MT-Viewer", "View" & "Edit".  When you choose the Edit action, it will call up the corresponding editor plugin to allow you to modify the file.  Refer to the User Guide for instruction on customising or adding your own context menu items.
- Added a new Multi-tasking PRX Plugin System.  This allows user written PRX Plugins for iR Shell to multi-task with another game/app.  The included PRX HTML/Text Viewer (MT-Viewer under Context Menu) developed by korDen allows you to view HTML & Text documents while playing games or homebrews.
- With the help from Dark_AleX, support to M33 & Sony NP9660 No UMD modes have been added. These modes can be configured under iR Configurator and they're independent with the ones in M33 Recovery Menu. To use the new modes, you'll need to apply the newest iR Shell firmware patch that comes with this release. These 2 No UMD modes are supported under all versions of 3.52 - 3.71 M33 CFWs.  Pls note the new firmware patch is incompatible with previous versions of iR Shell.  Do not install older version iR Shell once the firmware patch is applied.
- Added support to the latest PopsLoader for 3.71 M33-3 by Dark_AleX.  Hold R-Trigger while launching PSOne game to choose POP version.  If you're using 3.52 or 3.60M33, you'll need the PopsLoader for 3.52.  Make sure to set "Pop Ver" to "Use Popsloader Plugin" under iR Configurator if you prefer to use popsloader instead of flash version.
- Added a random start feature for single directory mp3 playback. Goto iR Configurator and enable "MP3 Random Start...". Then, use CIRCLE to highlight a single MP3 directory and press "R-Trigger + CROSS" to start playback. The system will randomly pick a mp3 file in the directory to start playback. Please note the sequence of subsequent play order will be the same as before, it's just the first file will be picked randomly. The intention of this feature is to be used for Alarm Clock wakeup with a random mp3 file. This is NOT A SHUFFLE feature.
- Added Auto Sleep while idle to save battery power.  The auto sleep time can be configured under iR Configurator. You can also choose to have auto sleep enabled only when no background application is running. Pls note auto sleep will not be activated under the following scenarios:
  * When AC Adapter is connected.
  * When nethostfs is active.
  * When Adhoc WiFi Transfer is active.
  * When usbhostfs is active.
  * When usb mass storage is active.
  * When Slide Show is active.
  * When MP3 is playing.
- Added the ability to turn-off LEDs, including Power, Memory Stick & WiFi.  This is designed to be used mainly for watching video clips on PSP, such that you won't be distracted by the constantly flashing LEDs.  The orange charging LED isn't affected.
  * Press R-Trigger + Vol- to switch off LEDs.
  * Press R-Trigger + Vol+ to return back to normal.
- Added support for TV out with progressive component video for slim (Pb/Pr).  Typical AV cable and interlaced component video are not supported.  Press R-Trigger + Dpad Right to toggle between PSP LCD & TVOut.  Do not use the display button to enable TVOut under iR Shell.
- Added volume bar for PSP main volume.  Pressing volume keys will now show the corresponding volume under iR Shell.
Bug Fixes:
- Fixed Mute Game Audio for some of the UMD games which couldn't be completely muted previously.
- Resolved the incompatibility issue of irsautoboot.prx with 3.71M33-3 release that caused problem when switching back from iR Shell 1.5 to 3.71.
- Fixed the ability to bypass the password screen upon startup.
- Fixed a bug in Adhoc WiFi File Transfer which would skip sending of files/dirs starting with a "." when sending a directory.
- Under fw 3.71, 2 player PS1 support via keypad redirection was broken. This is now fixed.

Version 3.7:
- Added support for M33 3.71 CFW for PSP Phat.
- Screen redirection via Tyranid's remotejoy.  UMD Game compatibility has also been enhanced and save/load diaglog boxes will no longer crash.  Thanks to Tyranid for making this possible.
- 2 Player PSOne games via usbhostfs/nethostfs keypad direction using 2 PC joysticks/keyboard.  Screen redirection via remotejoy is also supported for PSone games.
- Support for M33 popsloader when iR Shell running under M33 3.52 CFW.  Only the latest verion popsloader is supported (that is, the one for pops from 3.00 to 3.52).  All other previous versions of popsloader won't work with iR Shell.  If you're running iR Shell under M33 3.71, the "POP Version" setting in iR Configurator is ignored.  This is due to popsloader currently doesn't work with M33 3.71 due to changing NIDs by Sony.
- Support for M33 UMD Video ISO feature under iR Shell File Browser.  This will also work with USBHostFS & NETHostFS.  Again, for legally owned backups only.
- The number of iR Shell EBOOTs for various firmwares have been consolidated into just 2.  One for firmware 1.5, and the other for firmware 2.x/3.x.  This should make it earier for users.
- A new autoboot seplugin is introduced to replace the old "irsfw30x.prx".  This plugin will work under all firmware versions, including 3.71.

Version 3.62:
- Now fully compatible with Team M33 3.52-3 & 3.52-4 CFWs.
- Enhance the alarm clock function to support PSP suspend mode which means the alarm will still be triggered while your PSP is under suspend mode (sleep mode).  The alarm volume will always be at max and is independent of your PSP volume settings.  You will still hear the alarm even if you've muted your PSP volume.  Thanks to Adrahil for providing the alarmlib source code to illustrate how the magic is done.

Version 3.61:
Bug Fixes:
- Fixed screen corruption while changing CPU speed in PS1 games.
- Retained the overclock speed after exiting game/app while nethostfs is active.
- Fixed adhoc PC nethostfs connection problem. You no longer need to mess with the wlan switch.
- The MP3 will now resume at the exact position when switching firmware versions (1.5 iR Shell to 3.x iR Shell, or vice versa).
- Fixed the nethostfs crashing when fails to connect to the server. Nethostfs should no longer crash the PSP.
- Fixed autoboot plugin problem with some configurations. The updated version should fix the issue. 

Version 3.6:
- Added support for Team M33's newest custom firmware (See note 1). If you don't want to update to M33, you will still be able to use this new release with older OE firmwares.
- Launch and multi-task with PS1 games from within iR Shell (works also via USBhostFS and NetHostFS) (see note 2).
- Backup ISO plugins now integrated into iR Shell 1.5 EBOOT and 3.5x EBOOT (also supports USBhostFS and NetHostFS).
- Backup UMD Video ISO support (also supports USBhostFS and NetHostFS).
- Direct switching between 1.5 EBOOT and 3.5x EBOOT via new shortcut combo.
- System-wide "Quick Exit" function to quickly shutdown games, homebrew etc and return to iR Shell.
- Improved Autoboot to iR Shell plugin.
- New Comic Reader plugin based on PSPComic for CBZ and CBR files by suloku.  Original version by Archaemic.
- Added the ability to flash/blink the menu highlighting cursor.
- Added support for adhoc PC nethostfs connection under 3.xx CFWs (some additional firmware files required)
- Added a new config item in configurator to turn on/off the Music button for screen capture.
- Other bugfixes and tiny improvements.

Version 3.1:
- Universal Infra-Red Remote is now working under firmware 2.71 mode of iR Shell.
- Support direct launching of Devhook 0.51. A new option "Devhook Launcher Ver" is added under iR Configurator which allows you to choose Devhook 0.4x or Devhook 0.51 to launch. For devhook 0.51, iR Shell doesn't keep any devhook settings and will use those settings that you've defined under original devhook launcher. The devhook CPU speed will carry forward from iR Shell.  Pls note you shouldn't enable usbhostfs or nethostfs when launching devhook 0.51 from iR Shell. 
- Enhance nethostfs & UMD compatibility which will allow WiFi keypad redirection to work with almost all UMD games that are supported by firmware 2.71. This should bring the compatibility of nethostfs to about the same level as usbhostfs. Under iR Configurator, a new option named "Nethost/UMD Compatibility" which can be set as "Normal" or "Maximum".  Default is being set to normal.  Pls note the nethostfs is only enahcned under firmware 2.71 mode, nethostfs under firmware 1.5 is unchanged.
For "Maximum" setting, the nethostfs & UMD will have the best compatibility. However, the MP3 playback & Mute Game Audio function will be unavailable when nethost is active. 
For "Normal" setting, the nethostfs & UMD compatibility are good, but not as good as the Maximum setting. The MP3 playback & Mute Game Audio will still be available under "Normal" setting. 
- Plugin suffix extension has been changed from 3 characters to 1-4 characters.
- Bundled a HTML Viewer plugin by Dark_AleX which means you can open HTML documents (suffix as HTML or HTM) directly from iR Shell file browser.
- Bundled an updated ISO plugin by StoneCut which has Devhook launching capability built-in.  This is for use with legally owned backups only.
Bug Fixes: 
- When running iR Shell under firmware 1.5 mode of Dark_Alex 2.71 SEC, if you exit iR Shell when "Allow Adhoc PC Connection for Homebrew" is enabled, your PSP will crash. 
- The "Free Space" under directory view can't display anything larger than 2GB. 
- Can't choose plugin # larger than 10 under iR Shell Configurator. 

Version 3.0:
- Added "Mute Game Audio" funtion via R-Trigger+Circle or last menu item.  This will bring up an Audio Channel Menu which allows you to mute each individual channel.  There are total of 8 audio channels on the PSP (0 - 7).  Games normally use a few channels to output music, voice & various sound effects.  The Audio Channel Menu will tell you what channels the game currently use and you can mute each channel manually.  You may need to test muting different channels a few time to find out which exactly channel you want to mute.  Example, you may want to mute the in-game music and leave the sound effect.  Pls also note the iR Shell MP3 Player is indicated as "MP3 Player" in the menu and can't be muted.  You can also control the "Mute Game Audio Type" under Configurator.  By default, the muting of game audio will only take effect if the mp3 song is currently playing or paused.  If the playback of your mp3 has completed, the muting of game audio will be cancelled.  You can also optionally choose to mute game audio even no mp3 is playing.
- Modify the change CPU settings, so that it won't cause system hangup even if a game is running in the background.  When you change the CPU speed and a game is in the background, you will see the screen flashes which is normal.  Pls also note that the change of CPU speed under devhook environment has been removed, which means you can't change CPU speed within iR Shell when running devhook.  Devhook itself won't allow any apps to change the CPU speed while the app/game has been launched.  To change the CPU speed in devhook, you'll need to do it under XMB via vshex.prx.  You can also change the cpu speed in iR Shell under SEC and then use the build-in devhook launcher, devhook will then be launched with the CPU speed carry over from iR Shell.
- Allow redirection of PSP keypad to PC Keyboard or PC Joystick via USB or WiFi (usbhostfs or nethostfs). You can, for example, use a Xbox/Xbox360 gamepad with 2 analog sticks to control movement and aim in a FPS, like Syphon Filter.  No more awkward control with PSP buttons for aiming.  You can choose "Redirect Keypad to Host" via usbhost0, nethost0, both, or No Redirection under iR Configurator.
- Allow pmf movie as splash screen. Use iR Configurator to choose startup splash type, including bitmap file, pmf movie or no splash.  The included skins do not include any pmf movies, you'll have to download them separately.  The PMF player has been enhanced to support movie clips with resolution lower than 480x272. Previously, these movies can't be played. A new option named "PMF Movie Scaling" has been added to iR Configurator to scale the low resolution movie to full screen. Default is scaling enable.  The scaling option only applys for PMF Plugin.  The pmf splash feature doesn't support scaling option.
- You can now launch 2.71 XMB from iR Shell under firmware 2.71 (Real 2.71, devhook 2.71 or 2.71 mode of SEC). With host redirection, you can view host video using 2.71 XMB video player, mp4 & avc are all supported. Photo & music redirection won't work. Pls make sure your MP_ROOT directory structure is correctly built under your PC harddisk.  You can also use the built-in iR Shell MP3 player after launching XMB.
- Updated the launch XMB function, so you can leave the game disc in the UMD drive when launching XMB. It will now detect your disc type. If you've a UMD Video disc, it will launch the movie automatically. If it's a UMD Game disc, it will skip the auto-launch and just goes to XMB. 
- Allow the use of the 4th brightness setting (maximum) on the LCD. Normally, you can only set the 4th brightness when connected to a power adapter. This version allows you to activate the 4th brightness anytime by pressing "Left Trigger + Brightness". The setting will also carry over to Devhook firmware emulation when iR Shell is active. To return to normal brightness, press "Brightness" button.
- Changed the maximum number of plugins from 10 to 20. 
- Changed the maximum mp3 playlist size from 10 to 30. 
- Changed the maximum highlighted files from 10 to 30 for File Manipulation
- When installing skins, iR Shell will also install "splash.pmf", "logo.bmp" & HELP image files from the skin directory. A default set from /IRSHELL/SYSTEM will be used if any of these are missing in the skin.  The logo.bmp is now unprotected, so you can use any 480x272 bitmap file as splash screen.  You can skip Help file installation via iR Configurator option "Skip Help Files Installation", this may be useful if you've customised language specific Help files and don't want to be overwritten.
- This version includes the following plugins for 2.71 iR Shell which means you can open those file types under firmware 2.71.
* Pmf Player (PMF)
* Bookr 0.71  (TXT & PDF)
* PMPMOD AVC 1.02  (AVC)
* Atrac3 Player  (AT3)
* ZIP & RAR Unarchiver (ZIP & RAR)
- Added firmware version indicator icons provided by StoneCut.
* 1.5 - Running under firmware 1.5 (both virgin 1.5 or 1.5 mode of SEB)
* 2.71 - Running under firmware 2.71 (both virgin 2.71 or 2.71 mode of SEB)
* MS - Devhook emulation using Memory stick firmware
* NAND - Devhook emulation using NAND firmware
- You can associate an icon image to each sub-folder under APP view.  Name your icon image as "icon.png" and place it inside your sub-folder.  Example, /PSP/GAME/$Emulators$/icon.png.
- iR Configurator can install HELP image files from Skin.  
- Added a new option to power off your PSP completely (Analog Down).
Bug Fixes:
- Fix the bug in unable to press Triangle under APP view if "Hide RDF Sub-directory" is on. 
- Fix the bug in unable to goto RDF View from icon menu if "Hide RDF View" is on. 
- Fix a serious bug which will crash your PSP if initial view is set to APP View. 

Version 2.2:
1. The Homebrew directory can be customized under iR Configurator.  You can change it from original /PSP/GAME to anything you like.  Pls note if you relocate the homebrew directory, XMB won't be able to launch them.
2. You can now organize your homebrews into various sub-folders, such as:
    Emulators
    Games
    General Utilities
    WiFi Applications
This will help to organize your homebrews and make it easier to locate a specific one easier.  It also helps to speed up the APP view.  The sub-folder must be in the syntax of "$name$".  The 2 dollar signs are used to signify this is a folder which contains various homebrews. 
3. The File Manipulation has been updated for the APP view, so that you can create, rename, delete directories as usual. Pls note when you create directory under APP view, you don't need to put dollar signs and the system will add them automatically.
4. A new PMP Mod AVC 1.02M plugin by Magelo is included.  In order to avoid conflicts with the original PMP Mod 2.02.  This new AVC plugin will use extension name "AVC" which means you'll have to rename your pmp avc files to name.avc.  The original PMP movie files will still be name.pmp.
5. A new beautiful skin "Vista Clarity" by PSPHax0r9.
Bug Fixes:
- Fix a bug which cause the inability to launch a 1.5 UMD game from iR Shell.
- There was a bug in the previous public release which caused "hide splash screen" under iR Configurator not working.  It's now fixed.
- A log file "debug.txt" in the root directory has been accidentally left in the previous public release.  You can manually remove it.

Version 2.1
1. Support 1.0 Eboot format. (Note: The APP view will not list Eboots for 2.x Homebrews that are designed to be launched from Devhook firmware emulation.)
2. Support for __SCE__ naming convension.
3. Both 1.0 Eboot & SCE naming can be enabled or disabled under iR Configurator. If you don't use these naming convensions, you can turn them off for a faster APP view list.
4. Allow removal of startup splash screen (configurable under iR Configurator).
5. nethostfs server v1.5 is enhanced to allow read only access. This means you can open your PC server to the public without worrying files being deleted.  Refer to the user guide for details.
6. File Manager has been enhanced to support mulitple files/directories selections similar to MP3. You can use CIRCLE key to hightlight multiple files or directories and then perform file manipulation on them. You can highlight maximum of 10 files or directories. The mulitple selection will only work under DIR & RDF View. It won't work for APP & SAV views. 
7. The location of each view (DIR, APP, RDF & SAV) will be remembered after toggle. Example, switching from DIR View to APP View and back to DIR View. The directory & cursor location will return to its original location before you left. Pls note MP3 Shortcut & DIR Shortcut are also classified as DIR View.
Bug Fix:
- Fix a bug introduced in v2.0 which restarts the current MP3 song when exiting homebrew. Now, the song should continue as usual.

Version 2.0
1. Introduce a new icon based menu system.  Special thanks to Terdinglage for designing the graphical icons for the menu system.
2. The nethostfs has been enhanced to support domain name in addition to IP address which means you can now access your home PC with a domain name, such as myhomenet.com via WiFi hotspots.  In order to avoid unauthorized access to your PCs, a challenge/response protection has been added for nethost access.  You can optionally assign a password/key to your nethost server for a secure access.
3. Support launching of devhook directly from iR Shell.
4. Added Adhoc WiFi support for nethostfs access.  This will be useful when you don't have an access point, or want to connect your PSP to a notebook computer at work.  To use Adhoc WiFi support, refer to the user guide for details.
5. Added support to allow Infrastructure WiFi homebrew applications to connect to a PC via adhoc without having an access point.  To enable this support, turn on the option "Allow Adhoc PC Connection for Homebrew". Pls turn off this option to use normal adhoc gaming features.

Version 1.6
1. Support UMD Disc Browsing (disc0:)
2. Support USB Host File System browsing (usbhost0:).  You can remotely browse your PC file systems on your PSP via USB connection.
3. Support Infrastructure WiFi Host File System browsing (nethost0:).  You can remotely browse your PC file systems on your PSP via Infrastructure WiFi.
4. Support usbhost0: and nethost0: to ms0: redirection.  This allows you to map usbhost0: or nethost0: as ms0:.  After you've enabled mapping, all access to ms0: will be redirected to usbhost0: or nethost0:.  Your regular homebrews will be able to access your host file systems without any changes.  See the Host File System section for more details.
5. Allow Calling of XMB from iR Shell.  All regular XMB functions are available, plus you can take snapshots of XMB or UMD Video.  You can switch between XMB & iR Shell via the standard hotkey Left Trigger + Select.  To exit XMB, press HOME.  Due to memory limitation, iR Shell mp3 player won't be available after launching XMB.  However, you can use XMB mp3 playback if you like.
6. Alarm Clock Support.  See Alarm clock section for details.
7. Low Battery Warning.  See Low Battery Warning section for details.
8. Support multiple file extension for each plugin.  iR Configurator allows you to associate 1 or more file types to each plugin.
9. Help text box has been replaced with bitmap help images.  The included one is in English.  You can visit my website to download other language help image files when available.
10. Various new options under iR Configurator.
11.  This version of iR Shell has the following plugins bundled.  To use those plugins, you can simply select files with filename suffix matching those defined for the plugin.  For example, press 'X' on a file named 'readme.txt' under DIR View will automatically launch the bookr plugin to view the 'readme.txt' file.
- PMP: PMP Movie via PMP Mod 2.01 plugin (Use 'X' to pause/resume, TRIANGLE to exit)
- AT3: Atrac3 plugin via Atrac3 Plus Player
- PMF: PMF Movie via PMF plugin (Use 'X' to pause/resume, TRIANGLE to exit)
- ZIP: ZIP Unarchiver via AnonymousTipster's ZIP Plugin
- RAR: RAR Unarchiver via AnonymousTipster's RAR Plugin
- TXT: Text file via bookr plugin
- PDF: PDF file via bookr plugin

Host File System:
=================
Using USB or WiFi connections, you can remotely browse your PC harddisk, CDROM, DVDROM, etc. just like local files on your Memory Stick.  You can open PC files on your PSP via the familiar iR Shell file browser (DIR View).  This allows you to play host mp3s, movies, photos, etc. on your PSP without physically copy them to the MS.  The files you selected are streamed realtime to the PSP for playback.  You can even launch PSP homebrews that are installed on your PC harddisk.  This will eventually turn your PC storage as your PSP local storage and open up all kinds of possibilities.

Some homebrews are hardcoded to open files located on ms0: device (Memory Stick).  To achive maximum homebrew compatibility, iR Shell supports device redirection.  Once enabled, your usbhost0: or nethost0: will appear as ms0: on your PSP.  When your homebrew tries to open files under ms0:, it will be redirected to the host file system.  You can also choose to install PSP homebrew applications on your host under usbhost0:/PSP/GAME or nethost0:/PSP/GAME, simliar to the way you install homebrews on ms0:.  Afterwards, you can enable the redirection and also enable the "Redirect APP View to Host" in iR Configuration.  The homebrews installed on your host harddisk will be presented to you under the regular iR Shell APP View.  You'll also noticed the title of the APP View will be changed to "Homebrew Applications [HOST]".  The HOST keyword signals you that the homebrew listed are residing in your PC host.

After you've enabled redirection, files on memory stick can still be chosen via ms1: device.  Depending on the pariticular homebrew application, files on ms1 may or may not be seen by the homebrew.

If you've chosen to launch XMB after enabled redirection, you can even stream MP4 movies from your host harddisk via the standard XMB video player.

Alarm Clock:
============
- Alarm default settings can be made in Configurator. 
- Standard alarm mp3 file located in "ms0:/IRSHELL/SYSTEM/ALARM.MP3" and can be modified in Configurator. 
- Alarm file can be a single mp3 file or a directory containing any number of mp3 files. 
- You can control looping of alarm file in Configurator.  That means, the mp3 or mp3s will be repeated indefinitely under you stop it.
- Use LTRIGGER + DOWN to call up the Alarm Clock window. 
- Use LTRIGGER + DOWN to stop the alarm. This key combo can be used anywhere, even while running other homebrew/game. 
- An alarm indicator is lit on the main iR Shell status bar indicating alarm is on. It will flash when the alarm goes off. 
- In the alarm clock window, you can enable 10MHz cpu speed. The 10MHz speed will be automatically cancelled when the alarm goes off or you've exited from the Alarm Clock window. Pls note that the keypad are not very responsive under 10MHz speed. 
- By default, if your PSP is in sleep mode while the alarm supposes to go off, the alarm will be postphoned until your PSP wakes up.  This can be turn off under iR Shell, so that the alarm will be ignored if the PSP is under sleep mode.

Low Battery Warning:
====================
- Low battery warning threshold value can be defined in Configurator. 
- You can also choose to loop the warning indefinitely under Configurator. If not looped, the warning will last for around 15 seconds. 
- The battery warning mp3 file is located at "ms0:/IRSHELL/SYSTEM/BATTERY.MP3" and is provided by StoneCut's girl friend. You can replace it with other mp3 file if you like. 
- Once the battery level drops to the threshold value, the voice warning will go off. The battery bar indicator on the iR Shell status line will also flash. To stop the voice warning, use LTRIGGER + DOWN.  Once you've acknowleged the warning, the battey monitoring will be suspended.  To re-activated the monitoring, you'll have to charge your battery level to at least 5% above the defined threshold value.  Then, the battery monitoring will be automatically re-enabled.  Of couse, the battery monitoring will also be re-enabled if you exit iR Shell back to XMB and re-launch iR Shell again.

Version 1.5
1. Support PSP Headphone Remote Control for mp3 playback.  You can use it to control mp3 playback while playing UMD games/homebrews without the need to switch back to iR Shell.
2. The mp3 playlist now supports both MP3 file and directory selection. If the playlist consists of directories, the MP3 player will play all files in the directories. The order they're played back is determined by the order you copy the mp3 files to the directory, not the order they're listed.  There is no limit on how many files can reside in a MP3 directory which means you can play unlimited number of songs.  However, the playlist size is still being set to 10.  The Puase/Remote button (R+CROSS) can be used to start playback for playlist.
3. Added support on Application/Save Icon & Background picture preview.
4. A new photo viewer supporting BMP, PNG & JPEG file format is added.  Refer to Photo Viewer section below for details.
5. Added another 4 shortcuts for homebrew apps (R+Analog UP, R+Analog RIGHT, R+Rnalog LEFT, R+Analog DOWN). Total of 5 shortcut including original Analog RIGHT.  App Icons & Background Pics for shortcut homebrews can be added by copying the EBOOT.PBP from the app% directory to the corresponding HOMEBREW directories and name it as EBOOT%.PBP.  The HOMEBREW Shortcut directory has been restructured.  Refer to the actual directory structure for details.
6. Added Copy & Paste functions under File Manipulation.
7. Added support on User Supplied PBP Plugins.  A PMP Mod 2.0 Player sample is included in the distribution.  To actiavte a user PBP Plugin, goto DIR View and select a file with extension matching the plugin will automatically launch it.  For example, select a movie file movie.pmp under DIR view will automatically start the PMP player and playback the movie.  For details on implementing your own plugin, refer to this post in my forum. http://www.phpbber.com/phpbb/viewtopic.php?t=214&mforum=irshell
8. The /IRSHELL/SNAPSHOT dir is moved to /PSP/PHOTO/SNAPSHOT.
9. Added a list of other customisable options under iR Configurator.

Version 1.4:
1. Added support for user defined skins.  Finally, you can get rid of the RED background with your own custom skin.  Refer to the Configurator section for details.
2. Added Game Save Viewer for viewing game save details.  This will useful for locating the specific game save and send it via adhoc WiFi to your friends PSP before a adhoc battle.
3. DIR View has been enhanced to work as a real file browser with file size and free space left.
4. Added File Manipulation functions, including Delete, Rename & Create Directory.  These functions may work differently according to the current views you're on.  Example, if you're under "DIR View", rename will allow you to rename the actual file or directory.  If you're under "APP View", rename will rename the Application Name embedded within the EBOOT.PBP file.  Note, the Delete function is extremely powerful as it allows deleting a complete directory tree.  If you delete "ms0:/PSP, then all your homebrews, photos, music & gamesave will be gone.  Use it cautiously.  To protect accidental deletion, you can use Configurator to add password to protect the use of File Manipulation functions.
5. Added support on RunUMD.
6. Added a Configurator program to support vaious customization and skin browsing.
7. Added password protection on iR Shell usage.  You can customize it under Congigurator.  You can also manally lock iR Shell by pressing Right Trigger + Circle.  The default password is NULL, that is, just press START for enter.
8. The previous versions of Adhoc WiFi file transfer has a poor performance on Sony Memory Stick.  This new version will boost the Sony MS speed to be on par with Sandisk.  Thanks to AnonymousTipster for suggesting the fix.
9. A new central iR Shell directory is added, you should move the corresponding files to the new directory:
	ms0:/IRSHELL - main iR Shell cental directory
	ms0:/IRSHELL/SKINS - for putting various skins 
	ms0:/IRSHELL/IRCODES - all IR Codes (RDF files) should be moved to here
	ms0:/IRSHELL/HOMEBREW - homebrew dir has been moved from /PSP/GAME/HOMEBREW to here.  You should place a valid EBOOT.PBP here to be launched with Right Analog shortcut.
	ms0:/IRSHELL/SNAPSHOT - snapshot directory has been moved from /PSP/SNAPSHOT to here.

Version 1.3
The original adhoc file transfer protocol in v1.2 is replaced with a sliding window file transfer protocol with error recovery.  The transfer throughput has been boosted from 90KB/sec to 270KB/sec.  That is 3 times faster.  This version is incompatible with v1.2, you can only transfer files with other users with the same version of iR Shell.
Note: The quoted transfer throughput is only for Sandisk MS users.  For Sony MS, the throughput will drop tremendously.

Version 1.2
Adhoc Wifi File Transfer Added:
- To use adhoc wifi file transfer, goto directory view and highlight the file or directory you'll want to send.  Then, press Left Trigger + Cross and follow the on-screen instructions.
- You can choose a single file or a single directory to transfer.  Pls pay attention when you choose a single directory as it'll send over all files & subdirectories under it.
- The file transfer protocol currently has no error recovery. If one of the PSP loses sync, you'll need to hit Square button to abort the transfer and restart the whole thing again.
- The file transfer throughput isn't that great at the moment and is around 90KB/sec when the receiving side has a Sandisk MS.  It will drop down to 3XKB/sec when the receiving PSP has a Sony MS.  This is just another way to prove the slow write access on Sony MS.
- The PSP wifi system modules are loaded into user space.  As a result, you may encounter some compatibility issues when playing certain UMD games while doing file transfer simultaneoutly.
- File transfer progress & estimated time display.

Version 1.12
1. Another fix to resolve hidden corruption icon applications.

Version 1.11
Quick fix on some small bugs:
1. The APP View doesn't show all hidden corruption icon applications.  Hopefully this fix should resolve it as I never use the hidden corruption icon naming myself.
2. After using a remote and return to main menu with "SELECT" key.  A battery info window will automatically pop up.

Version 1.1
1. A MP3 player plugin is added which allows MP3 to be played back along with your UMD game/homebrew music.
   - Support playback list.  To construct playback list, use CIRCLE key to highlight music tracks. Maximum playlist size is 10 and the playlist entries should reside in the same directory. 
   - Repeat single track or repeat the whole playlist.
   - Playback control including pause, resume, stop, next track, previous track, volume up and down. Pls note that the MP3 volume control is independent of your PSP's hardware volume button. This will be useful to adjust the MP3 volume without changing your game/homebrew's original music/sound volume.  To change the volume of your UMD game/homebrew, use the hardware volume buttons.
2. Data, time & battery info added.
3. Allows CPU speed change.  This will be essential for MP3 playback, as some games may experience slowdown if CPU running at stock speed (use Left Trigger + Start). Recommended setting speed to 333 for MP3 playback with game/homebrew running. Note: CPU clock speed selection should be made before launching game/homebrew. 
4. APP View (Application view) now supports hidden corruption icon naming.
5. The Pronto Code remote database has been cleaned up.  Visit my homepage (http://www.ahman.co.nr) to download an updated version.

Version 1.0
Usage Note for iR Shell:
1. unzip the pspirshell10.zip and place the files to your PSP under /PSP/GAME/.
2. Button configuration while you're under iR Shell Menu.
     Arrow Keys (Digital Pad): Menu navigation
     Triangle: Go to parent directory.
     Square: View toggle.  Allow you to choose application view, RDF view or directory view.
     Circle or Cross: Item selection
     Analog pad left: Launch UMD
     Analog pad right: Launch homebrew from /PSP/GAME/HOMEBREW/EBOOT.PBP
     Analog pad up: USB On/Off toggle
     Analog pad down: Quit iR Shell
     Left Trigger + Right Trigger: Restart iR Shell
     Left Trigger + Select: Task switch between the launched app and iR Shell
     Note button: Take snapshot (photos are placed under /PSP/SNAPSHOT)
     Start button: Help message
3. The view toggle (square button) allows you to choose your view among applications, RDFs or directory.  For application (APP View), a list of launchable applications under /PSP/GAME is listed.  For RDF (RDF view_, it will list the RDF files under /PSP/GAME/IRSHELL.  For directory (DIR View), you'll be able to navigate among different directories and launch the selected files with file type, ".rdf", ".bmp" or ".pbp".
4. To switch between iR Shell/iR Commander and the launched app, use "Left Trigger + Select" combo.
5. To quit the game/homebrew, use the normal home key (or other exit key defined by homebrew) while you're under  the game/homebrew and you'll be brought back to iR Shell.  Do not use the home key to exit while you're under iR Shell.  Doing so will appear to hang your PSP, but you can recover by pressing "Left Trigger + Select".
6. To exit back to PSP shell, use "Analog Down" while you're under iR Shell.
7. To take snapshot, click the Note button (Music button).  Snapshots are placed under /PSP/SNAPSHOT and can be viewed via built-in bitmap file viewer.
8. The USB toggle allows you to copy files to/from MS and is indicated by a USB indicator on the bottom right corner.  However, in order to avoid USB conflicts with other games/homebrew, it's recommended to turn off USB before launching UMD Game/homebrew.
9. The compatibility between UMD games/homebrew seems to be very high.

Usage Note for iR Commander (build within iR Shell):
1. If you haven't installed the Pronto Hex Codes before, you'll need to download the Pronto Hex Code from my website (www.ahman.co.nr) and unzip the prontocodes10.zip and place the files to your PSP under /PSP/GAME/.
2. You can define a remote control by adding a Remote Control Description file (rdf). This is a plain text file. Please refer to the sample "Panasonic TV.rdf" for syntax description. You can simply use Windows Notepad to create a rdf, make sure you disable Word Wrap via Format->Word Wrap menu. This will allow you to see one code entry per line under Notepad.
3. If you make any typos in rdf file. The program will abort telling what & where you've made the typo after you have chosen that remote in the application.
4. There is an iR indicator on the top right corner on the remote control screen. It'll flash in RED if the PSP is transmitting IR signal.
5. Refer to the "Panasonic TV.rdf" sample for defining Macros and short cut remote lists.
6. Start key to switch to another remote directly if shortcut list is defined.
7. To select the bundled IR codes, press SQUARE button to switch to directory view and make selection.  "Codes" folder contains the standard Pronto Hex Codes and "Discrete Codes" folder contains Discrete Codes" from www.remotecentral.com.  Codes from Component Configuration Files (ccf) from www.remotecentral.com are not included.  
