Thursday, May 31, 2007
Now, I spent the better part of the night trying to figure out how to copy my PSOne games in a format that could be converted and played real easily. With the 3.X OE firmwares is a utility called Popstation that allows for the conversion of ISO's to a PSP friendly playable format. Of course, the documentation isn't very well done, and I just about pulled my hair out. The homebrew scene provides dozens of frontends, none of which really did what I wanted. However, thanks to the gaming news site QJ.Net , I was clued in to a neat little utility called Autopopstation. Basically, it is a collection of tools for creating PSP capable games. There is ISO Product, a tool that creates ISO images of PSOne games using the excellent Petes CD-R plugins (which incidently are the same plug ins used in PS emulators such as ePSXe), and the Autostation4.bat file, which is a batch file that automates the entire task of naming images, getting the game identifier tags, and compressing the games, and creating the PSP images. Just copy the completed images over to the PSP/Games folder and your set.
Wednesday, May 30, 2007
I had written before about using a not so permanent hack on the PSP to allow for homebrew gaming. Well, considering that my PSP has been collecting dust since I bought Metal Gear Solid: Portable Ops (which was definitely a worth while game, probably the only one for the PSP), which upgraded my firmware to a not so homebrew friendly version, I decided to make the hack more permanent to make the dang thing useful again.
I will give you fair warning. If you value your PSP, are or are not technical, do not attempt this. You run a serious chance of ruining your PSP, that is you can make it a 200 dollar paperweight. I am not an expert on the PSP, so if you ruin it, don't ask me how to fix it.
I wont provide a step by step tutorial on how to do this since the below links do a fine job at describing the task at hand. A few things are required before you can attempt this. You will need:
1. A Sony PSP
2. A older copy of Grand Theft Auto, Liberty City Stories
3. A USB connection
4. A whole lot of guts.
While its still not as cool as my Nintendo DS, it is nice to be able to play Chess on the go, and export my games to PGN and download to my PC with no effort. If I get really bored, I can always try my hand at writing some apps for it. It’s a shame really, homebrew makes the PSP actually an interesting device, yet Sony is so hostile towards the homebrew community.
I mentioned previously my love of Guitar Hero 2. Well, totally forgetting that since the wired controller is essentially an Xbox 360 controller, and the fact that Windows XP automatically recognizes said controllers, it never occurred to me that I could plus in the guitar to my PC, until I read this article explaining that the 360s guitar controller could be used with the open source clone of Guitar Hero, called Frets on Fire. It also comes with a built in Guitar Hero Song ripper that will take the song right off the Guitar Hero DVD (I am assuming it is the PS2 version since this feature did not work with the 360 version). This is great since I travel a lot, so now I can practice and keep up with my fiancée, who just happens to be better than me at it. Lets hope that Red Octane doesn’t get a wild hare in the you know where about this and decide to cry DMCA or some crap. As a legitimate owner of Guitar Hero, its nice to be able to play on the go.
Thursday, May 10, 2007
The irritating part is that VMWare has a lot of services associated with it. So when i want to play a game, which I will typically do on my host rather than a VM for performance reasons, I have to shut down all 5 of the services that are associated with it. Under my database development VM, I have to start and stop all services associated with Sql server when I want to use it, or with MySql. Under the web development VM, I have to start and stop IIS or Apache depending on which platform I am testing (I keep all these under logical groupings rather than keep separate VM's for each). Having to point and click to start services is a PITA.
However, a quick solution is a trick that is old hand to many administrators and old DOS guys. I use seperate batch files to quickly start and stop the multiple services associated with an application. For example, on my host PC, I have 2 batch files for VMWare, one to start and one to stop. In order to start and stop services, I use the built in NET command. The file to start my services looks like this:
net start "VMware Authorization Service"
net start "VMware Registration Service"
net start "VMware DHCP Service"
net start "VMware NAT Service"
net start "VMware Virtual Mount Manager Extended"
And the script to stop them looks like:
net stop "VMware Registration Service"
net stop "VMware Authorization Service"
net stop "VMware DHCP Service"
net stop "VMware NAT Service"
net stop "VMware Virtual Mount Manager Extended"
While not exactly cutting edge, it is a quick tip that saves me a lot off waiting time. Of course if you run into the issue with the Registration Service not starting in a timely manner, I wrote an article several months back on how to fix that here.
Sunday, May 06, 2007
The report that we will do this on is a report that lists customers and their payment information. It will be based off of the Classic Cars databases. These instructions are for BIRT 2.2 and will not work on previous versions.
1. Create a new report in an BIRT reporting project. Call this new report “customerPayment.rptdesign”.
2. Create a new Data Source from the Classic Cars Inc. Sample Database.
3. Create a new dataset using the following query:
CUSTOMERS.CUSTOMERNUMBER = PAYMENTS.CUSTOMERNUMBER
and customers.customernumber = ?
- a. Name the parameter dsprmCustomerID
- b. Under the dialog for the data set parameter, create and link to a report parameter called rptprmCustomerID. Set it as a text box entry.
- a. Customer Number
- b. Customer Name
- c. Payment Date
- d. Amount
Figure 1. Report will Look Like after step 4
5. Create a new report parameter called rptprmSortOrder. Set it to allow null values and hidden.
6. Add the following script to the OnPrepare event of the table.
//We only want to add this into our code when the value is not null for the
if ( params["paramSortOrder"].value != null )
//Bring in the BIRT Report Model API and for CONSTANTS
importPackage( Packages.org.eclipse.birt.report.engine.api.script.element );
//Create a dynamic sort condition
var sortCondition = StructureScriptAPIFactory.createSortCondition();
//Based on the value of the sort parameter, set the appropriate key value for sorting
//Remember that for the key, we need to use the fully qualified row and field name as a string, not as a value
case "date" :
case "price" :
//set condition to ascending order
//Add to the table
7. In the header row, we need to create hyperlinks that will call this report, and pass in parameters to tell which column to sort by. So save the report as it is, othehrwise the parameters will not show up in the drill down dialog. Select the PaymentDate column header, and create a hyperlink like so:
- a. Select drill down
- b. Link to the customerPayment.rptdesign file
- c. Select the rptprmCustomerID field, and set the value to params["rptprmCustomerID"]
- d. Select the rptprmSortOrder parameter, and set the value to “date” with the quotation marks.
- e. Set to open in the same window.
- 8. Do the same thing for the Amount column, except set the value of rptprmSortorder to “price”.
With that done, now you can reorder the report in view time when the user clicks on the date or the amount columns. With a little more logic developed in you can have the report do both ascending and descending sorts, and even have it refresh the report without having to refresh the viewing page.