Archive for the ‘Rant’ Category

Android Market Seeding program

Friday, March 5th, 2010

A couple of days ago, I and a number of other Android developers received an email claiming to be from one of Google’s programmers. The message is posted here in its entirety, and basically thanks the developer for writing Android apps, and offers a free Nexus One or Droid phone as a “thank you” for having an app on Market that fits a specific set of criteria.

Having seen all sorts of scams in the last 15 years, and judging by the content of the message as well as the form, I was immediately skeptical. But a large number of sources (here are a few) claimed that the message is legitimate, so after several hours of consideration, I went ahead and applied for the program. I’ll post more if I actually receive the device.

Well played, Google. You just made it very difficult for me to use any other phone (not that I wasn’t sold on the platform already).

UPDATE: Today I received an official confirmation that the information was received and confirmed.

What I learned from FuSa, and other PSP musings

Wednesday, May 27th, 2009

A while back, I posted about my experience with PSP 2000’s video output capability – specifically, disappointment with the unscaled output on large-screen TV’s, and the lack of support for games on older CRT’s. The post, surprisingly, resulted in a lot of feedback from the community, on this site, as well as many others – some fanboyish, some understanding or agreeing, but mostly positive and a few helpful. Main suggestion was to use a plugin called FuSa, which is basically able to do everything that the PSP alone couldn’t do.

FuSa scales the image sent to the TV, and can adjust the output frequency, to accommodate things like rendering games to CRT TV’s (which normally only works while watching UMD’s). With the several emulators that I’ve tested, the plugin works remarkably well, which only begs the question – why wasn’t this included in the PSP 2000’s firmware to begin with? While the scaled-down image on a composite output looks jagged and low-res (understandably so), many PSP owners would’ve much rather had bad output, than no output at all – myself included.

Whether or not FuSa is the reason why the newer PSP-3000 models actually will display games through a composite cable is something we’ll never know, but I suppose the point of all this is that custom firmware, and custom plugins make the PSP a lot more than a run-of-the-mill handheld. Don’t get me wrong – the PSP itself was, for its time, revolutionary – and in many ways still is. But I doubt that the system would be as popular as it is today, if it wasn’t for the homebrew community and all of its contributions and offerings. Piracy is an unfortunate side-effect of all this, and while it may be ultimately what Sony’s concerned most about, for classic computer/emulation enthusiasts such as myself, the PSP’s abilities as a homebrew development and emulation entertainment center are the only reasons why I own one (actually, two).

Pandora and the state of PSP development

Wednesday, October 1st, 2008

There’s a new strangely sycophantic article on Slashdot, regarding the start of pre-orders for Pandora, a new open-source handheld console that a number of gaming sites have already mentioned. The article spawned a number of comments regarding the other handhelds currently available (such as the PSP and the GP2X), and the “openness” of those systems to “homebrew” development. I left the following comment, which I feel fairly well summarizes the state of development on the PSP:

I’m a PSP developer, and I must admit that while getting documentation for the SDK is tough, there are more than enough examples around for anyone with common sense to pick up on the API fairly quickly. Plus, the folks at the ps2dev.org forum are exceptionally helpful (as long as your question isn’t along the lines of ‘what’s a for loop?’)

PSP development at this point (and probably forever) is very much an exercise in reverse engineering, even for the client C/C++ developer (as opposed to the brilliant minds who reverse-engineered the SDK). This explains the handful of applications/emulators that actually make use of WiFi and/or the ME processor. That said, PSP development is highly rewarding, if only in a personal sense.

That said, I wish the Pandora folks good luck. I’m a huge proponent of open-source software, and if Pandora succeeds, perhaps Sony will be persuaded to make the PSP more open to development, and maybe release an SDK.

Comments are welcome.

End to Pandora?

Wednesday, August 27th, 2008

Odds are that you’ve probably heard about the new PSP-3000 model (colloquially called “PSP Brite”) that’s due to be released soon, and one that will replace the PSP-2000 series (“PSP Slim”). The new model will include a built-in microphone and a brighter, more responsive screen – an improvement that is almost negligible when one considers the improvements between “Slim” and “Phat” (PSP-1000 series).

Like many other developers and hobbyists, I suspect that there’s more to the system than what the press release lets on – I’m fairly certain that the new PSP model will be built differently to eliminate the extremely efficient “Pandora” hack. A recent dcemu thread discusses just that – probability of the elimination of PSP’s “hackability”, and raises some interesting points, among them “will this stop piracy?”. I’m fairly certain that the answer is “no” – and not just to piracy, but hacking in general. After all, the initial hacks of the PSP centered around badly implemented loading routines in the PSP’s image viewer and GTA: LCS, and as long as there are inquisitive people, there will be exploits to be found and security holes to be exploited. While I expect to see the end of Pandora, I doubt we’ve seen the end of buffer overflow exploits – hardware (and firmware) necessary to deter/elminate buffer overflow exploits would, in all likelihood, break backwards compatibility (not to mention prove too costly).

One thing that I believe is important to remember, however, is that Sony shouldn’t necessarily be chastised for this step. Piracy is an unfortunate side-effect of homebrew development – while I’m not going to venture a guess as to how much money the company is losing/has lost due to piracy, I’m fairly certain that it’s a considerable amount. For many, like myself, the PSP is a retrogamer’s dream come true – there’s no better way to waste hours on end than by playing Legend of Zelda, a port of Doom, or any of the large number of homebrew applications. For too many, however, it’s just a way to hoard modern games.

Sony has stated in the past that they’re aware of PSP’s homebrew community, and that their problem is not with homebrew, but piracy. While I have no reason to trust any particular large company (Enron, anyone?), I have no basis to doubt this fact in the current situation – if anything, homebrew development has helped Sony sell more units. At the same time, piracy hurts those who make the PSP into what it is – the makers of the PSP games. No PSP games means much fewer sales (I don’t think homebrew alone will carry the PSP); fewer sales means no motivation to support or manufacture the PSP.

Comments are welcome.

UPDATE Indeed, Pandora is no longer bootable in the same fashion as the older models

PSP on TV

Thursday, July 31st, 2008

I finally broke down and bought a component cable, to be able to play PSP games on a TV. The experience was… disappointing, to say the least. The entire PSP screen takes up a fraction of the television’s screen, somewhat killing the point of having a TV cable. The XMB/DVD playback screen is larger (it’s displayed in interlaced mode), but still relatively small.

This probably wouldn’t be that big of an issue, if the cable worked on traditional TV’s (it won’t, unless your TV supports progressive scan), but it doesn’t, and using it on a big-screen TV kinda makes you wonder why the whole thing was put together in the first place.

Porting old PC games

Wednesday, November 28th, 2007

When I was just starting to program for the PSP, I envisioned first doing a port of fMSX, then a port of an emulator specifically for emulating arcade versions of Mortal Kombat games 1-3. Since I don’t think any emulators other than MAME support the games (and MAME’s source is a tangled mess), I doubt that phase will ever come to fruition.

Most recently I’ve also considered porting older games, however, and if someone else doesn’t do them first (I hope they do), I just might do a port myself. Two obvious choices right now are OpenTyrian, a rewrite of Tyrian, and Wargus, the Warcraft II-compatible RTS engine based on Stratagus. I prefer not to port these projects myself, as they’re both based on SDL, and I happen to have an inherent dislike for hardware abstraction frameworks.

If you’re looking for an interesting port project, both of these games should be a welcome distraction from the many flavors of DooM already ported to the PSP.

The infernal question

Thursday, November 22nd, 2007

One question that I’ve been asked time and time again (and most recently by zx-81) is “why bother porting an emulator when there are other ports already?” This question was beaten to death when SMS Plus PSP was first released, and still comes up occasionally.

The number one reason is simply that I enjoy porting software to PSP, especially classic computer emulators. I like pushing the limits and capabilities of the (yet unnamed) psp library that I’ve been developing since the first fMSX release. The fact that another emulator may already exist (and may, in fact, be better) is a non-issue for me, as I don’t do it for any reason other than my personal satisfaction.

Second reason is that I believe having a choice in emulators is great. The only reason I got into programming for PSP is because I thought that the MSX emulators of the time could be a lot better.

I attempt to port in a manner that makes it possible to merge the PSP port with the main branch of the emulator, and I’m happy to let any interested maintainer of the emulator merge my code with theirs. I don’t generally touch emulation code, unless it results in significant optimization—the only exception to this rule has so far been fMSX and inclusion of SCC/MSXMusic/MSXAudio – and it’s largely thanks to the efforts of Vincent van Dam and his excellent fMSX SDL port.

When possible, I attempt to port a different emulator than one that’s already available. For example, as mentioned earlier, Caprice32 was not my first choice for a CPC emulator. Unfortunately, Arnold’s performance was nowhere near “acceptable,” so Caprice was my second choice.

And finally, there are a number of ported, working, but unfinished emulators that are currently littering my svn repository’s trunk branch, some of which may eventually see the light of day.

Hope this was enlightening. Comments are welcome.

Open-source emulator ports

Tuesday, October 16th, 2007

While porting an emulator, often times it’s helpful to see how authors of other ports handle certain challenges. Over time, a number of small issues have prompted me to look for possible answers in other applications.

Quite often, source code for a similar port is freely available. Too often, however, it’s not. The surprising thing is that the people who hide the source code aren’t the authors of the emulator – it’s the authors of the port.

As someone who works off of open-source (not necessarily by any official definition) projects, I welcome all private developers to use my code and learn from it–my only request is that copied code is given proper credit.

I would like to see all authors that port open-source software release their code. This is especially relevant to the PSP subculture, as the availability of documentation is relatively scarce. Your work will help others, and will gain your port more popularity, as others will acknowledge your contribution.

Hiding code for a pending “cleanup” (which frequently, never happens) shouldn’t be reason enough to hide it. Even kludgy code is better than no code.