Software Trumps Everything


With the recent release of Reicast, the fantastic Dreamcast emulator, I think we have all been reminded, in case we needed to, that Software is really almost the ONLY thing that matters, while many manufacturers keep trying to sell us devices based on specs only. This aspect is a very important point for the Pandora, more than ever.

A couple of weeks ago people on the Interwebs were celebrating the 20 years anniversary of Doom, sharing their experience with it at the time and how it impacted their lives in one way or another. What’s really interesting is that Doom, just like Commander Keen from the same team, was pure software innovation. John Carmack was able to optimize the code so that it would run smoothly even on a 386 at the time (while you’d get smoother gameplay if you had a 486 obviously). This was relevant, because PC were thought to be crap at making games (2D games at least, until Commander Keen came out), and Doom was one of the first examples of how a PC could be programmed to achieve something no other machine could deliver, beyond expectations.

In 2013, on the Pandora as a single platform, we have seen software innovation unleashed, with C4A bringing online competition for old arcade games, DraStic making most Nintendo DS games run full speed on Pandora (while DSmune was running as slow as a turtle), PPSSPP introducing some impressive PSP support, amazing ports of Jedi Knights games by PtitSeb, OpenGL wrappers (glshim) from Lunixbochs to translate in real time OpenGL instructions to OpenGLES ones handled by the Pandora drivers, PIV to display and browse large pictures EXTREMELY fast on the Pandora, and of course more recently Reicast bringing apparently superfast Dreamcast emulation on the Pandora (and other platforms). Reicast is still a little bit slow to be regarded as a “production-level” emulator, but the point it still valid: it was thought impossible until it actually came out.

This observation is far from new. On all reasonably long-lived platforms, like home consoles, we usually see a large gap between the games developed at launch and the ones made for it years later. Techniques are found to get more power out of the hardware, tools improve, people get more productive, and you end up with end-of-life games on PS3 or Xbox360 looking very decent compared to the newer platforms. That says a lot.

That’s not to say we don’t need newer hardware. Of course hardware matters when it goes beyond a certain threshold and enable further innovation on its own. There’s a lot of excitement now in the Pandora community for the DragonBox Pyra, because it will provide a ton of hardware updates which make a lot of sense at this stage: a better screen, a better keyboard, better USB ports… and a better processor. A better processor/SoC always makes sense when you want to run more demanding games, and that’s certainly one way to look at it. But I would not consider it to be game-changing (hehe) in terms of the device capabilities.

Most of the software we get on Pandora can run on the 1Ghz specs just fine. There’s still a lot of software that can (and will) be ported or created for the Pandora, because it’s a very capable device to run simple and complex programs altogether, and it’s Open, making it possible to create and release almost anything to the public in no time. We are reminded of that through the entries of the last Coding Competition: I suggested we have a “New Pandora Use” competition to encourage people to go beyond what’s already been done and re-done. And I was very pleased to see stuff like Flashenv to run Flash Games in full screen with custom controls.

There was also uPIM as a complete, all-in-one PIM solution for the Pandora, and Printrun to make it possible to drive a 3D printer directly with your Pandora. These are great examples (and there’s more) of stuff that Software innovation can bring.

With the recent release of the wxpython PND from PtitSeb, the barrier to develop and distribute wxPython-based or PyQT-based applications has been lowered significantly and every developer in the Pandora community should think about using these new tools for their next projects. These are very recent frameworks, regularly updated, and on par with the full featured tools you can enjoy on a desktop PC. PtitSeb is also constantly improving his Code::Blocks PND and with every new release we get updated libraries to make it easier to port and package stuff. I know I mention PtitSeb a lot, but he has brought a lot to the Pandora not only through his ports, but also via the tools he has provided everyone else. That’s exactly what makes the difference in the end: not having to struggle to make things work.

The recently released Anki using the wxpython PND from Ptitseb to run with PyQT
The recently released Anki using the wxpython PND from Ptitseb to run with PyQT

So, where do we go from there? Well, there’s a lot of speculation about what the Pyra will be able to do and all, but it does not really matter. When I have the Pandora in my hands, I see a world of possibilities still to be explored. A number of applications to produce for it. A number of uses people have not yet thought of. And this is all about Software. And I’m pretty convinced we will still see amazing things coming out on the Pandora before any successor comes out.

There’s no end to the fun in sight.

Leave a Reply

1 Comment threads
1 Thread replies
Most reacted comment
Hottest comment thread
2 Comment authors
ekianjobzar Recent comment authors
newest oldest most voted
Notify of

This was a nice post and shows good examples of the community spirit we have 🙂