After spending considerable time recently working on a fairly simple iOS app using Titanium Appcelerator I have come to the conclusion that I am never going to use it again if I can avoid it. The app size isn’t too much of a problem, but the fact that even this simple app crashes on startup on some devices makes me very nervous. I was hesitant to use the product at the start of the project, but the client wanted to be able to produce an Android app from the same code base, so I agreed. I suspect that I would have been able to build both apps from scratch using the native tools by now even though I’ve never made a production Android app before. Live and learn I guess.
The latest version of i48 has been submitted review by Apple.
This new version adds support for running the emulation at full speed (although that has some interesting effects on usability). I have also added theme support and included a theme based on Power48 provided by Fabrice Roux. Finally the buttons now highlight when they are selected making it a bit easier to use the keyboard.
I was hoping to add sound support in this release, but have decided to submit what I have now and work on the sound support for the next release.
I had a bit more of a play with the emulator code tonight and fixed up a few little glitches. I also changed the color of the emulation screen to look more like the real thing 🙂 Now off to bed! It also looks like it is OK to distribute the ROM file as apparently HP released the ROMs to the public some time in 2000. The github repository (http://github.com/dparnell/i48/tree/master) has been updated to include the ROM file.
I have just released the source to a HP48GX emulator for the iPhone and iPod Touch.
It’s a very rough port of x48 to the iPhone, but it works 🙂 There is the occasional screen glitch and I’m not too happy with the screen buffer code. Something else that is a bit annoying is that it appears that compiling in Debug mode to run on the device does not work. It looks like one of the case statements in the x48 emulation code is too big to be compiled for ARM under gcc. I had a quick look at using the LLVM compiler but it didn’t seem to like it.
The code can be downloaded from http://github.com/dparnell/i48/tree/master