Not sure if you're interested, but I do have a "psp.browser" file (only works on the 2.0 .NET framework as browser definition files are new to the 2.0 Framework).
If you have access (most of you wont) to the .NET framework install folder, create a psp.browser file in the \Browsers folder and place the test from below in it. But this will be for ALL sites on that box.
To just support it in your application, you can add an App_Browsers folder in your application. (SEE NOTE BELOW!)
<!-- Start: Cut & Paste -->
<browsers>
<!-- Sample "Mozilla/4.0 (PSP (PlayStation Portable); 2.00)" -->
<browser id="PSP" parentID="Netscape4">
<identification>
<userAgent match="PlayStation.Portable\);.(?'version'(?'major'\d+)(?'minor'\.\d+))\w*" />
</identification>
<capture>
</capture>
<capabilities>
<capability name="browser" value="PSP" />
<capability name="majorVersion" value="${major}" />
<capability name="minorVersion" value="${minor}" />
<capability name="version" value="${version}" />
<capability name="type" value="PSP${major}" />
<capability name="platform" value="PlayStation Portable" />
<capability name="mobileDeviceManufacturer" value="Sony" />
<capability name="mobileDeviceModel" value="PlayStation Portable" />
<capability name="activeXControls" value="false" />
<capability name="backgroundSounds" value="false" />
<capability name="beta" value="false" />
<capability name="canSendMail" value="false" />
<capability name="cookies" value="true" />
<capability name="defaultScreenCharactersHeight" value="40" />
<capability name="defaultScreenCharactersWidth" value="80" />
<capability name="defaultScreenPixelsHeight" value="272" />
<capability name="defaultScreenPixelsWidth" value="480" />
<capability name="ecmascriptversion" value="1.5" />
<capability name="frames" value="false" />
<capability name="inputType" value="virtualKeyboard" />
<capability name="isColor" value="true" />
<capability name="isMobileDevice" value="true" />
<capability name="javaapplets" value="false" />
<capability name="maximumRenderedPageSize" value="300000" />
<capability name="requiresOutputOptimization" value="false" />
<capability name="screenBitDepth" value="32" />
<capability name="supportsXmlHttp" value="false" />
<capability name="vBScript" value="false" />
</capabilities>
</browser>
</browsers>
<!-- End: Cut & Paste -->
NOTE (From ASP.NET forums):
Some of you may have been trying this stuff and still saying, “It doesn’t work!” Well, the problem is that there is a bug in ASP.NET related to compiling new browser files. Although Microsoft states that “.browser” files in the App_Browsers folder are detected and compiled on the fly, I have found out that this is not always the case.
From my own tests, below are some quirky behavior patterns I discovered that should help you during development.
- The first .browser file created in the App_Browsers folder is detected and compiled with no problems.
- Any additional .browsers files are not detected UNTIL a change is detected on the first file.
So, what this means is that if you create additional .browser files, you need to trigger a change on the first .browser file. You can do this by simply saving the first .browser file with your text editor without making any real modifications. This changes the modified date of the file which seems to be enough for ASP.NET to recompile all the .browser files. After creating several .browser files, I have noticed that if I see that changes to one of the files don’t take effect, then simply modifying the date of any of the other files seems to do the trick.