iTête à iTête – Interview with ZodTTD – I found my love for porting software and learning about console emulation
For quite some time now I have been running the iTête à iTête column, doing interviews with a variety of prominent iPhone figures but one area has yet stayed untapped. I’m talking about the Jailbreaking community which, according to some reports, constitutes up to 10% of the overall iDevice users. To repent for such a huge sin I have gone hunting and bagged me an interview with ZodTTD – one of the most famous developer of Cydia and Rock apps for the Jailbroken iPhones – best known for his line of emulators, including two emulators for the iPhone: N64 and PSone.
As usual, my comments are in bold.
1. ZodTTD, could tell us a little bit about yourself?
While I tend to keep my personal details somewhat of a mystery, here’s a bit of background. I first emerged as a programmer under the nickname “ZodTTD” a few years ago. I landed up getting known as ZodTTD due to a piece of software I released. It’s title was ZodTTD, a port of OpenTTD to the Tapwave Zodiac gaming handheld. I found my love for porting software and learning about console emulation on this device.
2. What is your day job?
My activity as ZodTTD is my full time job. If you can call it a job – I enjoy it too much.
3. Does it pay?
A huge surprise, but yes. I live very comfortably.
4. You are best known for a line of emulators for the iPhone. Why did you choose those projects?
I tend to take things to their extremes. One of the craziest pieces of code I could think of is a dynamic recompiler, or dynarec for short. It’s translating and compiling code from one machine to another during runtime with the benefit of a cache to get a good performance increase. It takes a deep understanding of computers, their architecture’s assembly language, and compilers. It was a great foundation to learn upon. Emulation also seems to capture the spirit of homebrew software development while I get to experience very unique programming methods along the way.
5. And now a question from one of our Forum members:
I’m not into jailbreaking, but I would like to know how the iPhone architecture translates into a computing heavy task like emulating different silicon.
The iPhone didn’t seem to be built from the ground up for gaming, let alone emulation. Obstacles that come to mind include lack of direct access to the framebuffers of it’s underlying OS. There’s a private API called CoreSurface which allows those who jailbreak to get direct access to the base video surface’s memory. But this differs slightly from a simple bitblit to a framebuffer device on Linux. Less technical, but still important is the fact there aren’t hard buttons and that it relies on touch controls. From my tests, I’ve seen a 20% reduction overall in performance when more than one finger is touching the screen on an iPhone. This adds to an already strained CPU on the iPhone & iPod Touch. While the iPhone 3gs and iPod Touch 3rd Gen, which use the ARM Cortex A8, older models use the slower ARM11 processors. Also, since most emulators use software rasterizers (hence the need for something like CoreSurface) the PowerVR chipset for video acceleration generally goes to waste.
6. I know ScummVM has been packaged with a few products distributed on the AppStore. Have you been contacted by any companies regarding packaging your products with their software?
Yes. For emulation there’s specific cases where I can have this sort of arrangement work within Apple’s guidelines, but so far each time I’ve been approached it hasn’t worked out. My video streaming software, such as Streamer on AppStore, has brought a few companies my way due to the fact it can play RTSP/MMS/HTTP video and audio streams in many different encodings.
7. Are there any other notable projects you’re conceiving?
When it comes to projects for the iPhone I have my hands full getting my existing library of software ready for the iControlPad. The iControlPad is a joypad adapter for the jailbroken iPhone & iPod Touch. Besides the iPhone I just received a fully manufactured Pandora gaming handheld to develop for.
8. Out of all of your projects – what is your favourite?
Tough decision, but I’d have to say my psx4all project. It really taught me a lot about programming and project management too. It had the first dynarec I ever programmed as well.
9. You’ve made massive breakthroughs with the BTstack team in pairing controllers with the iPhone. Do you think there is a future in external controllers for the iDevices?
Definitely! Not only via BlueTooth by way of BTstack, but by serial as well. There’s a huge demand for adding additional ways to control iDevice software. This is evident by the good amount of sales of BTstack’s Keyboard driver on Cydia Store for jailbroken users. Perhaps when iControlPad is released you will see larger companies with more pull in the industry get similar devices approved by Apple. for AppStore use. But for now we’ll lead the way.
10. It’s obvious you’re a proponent of jailbreaking. What do you think about the limitations Apple puts on the iDevices?
I don’t mind Apple’s limitations. What bothers me is the length they go to stop people from creating a jailbreak with each new firmware and hardware revision. It’s a constant cat and mouse game similar to Sony and their PSP product.
Apple has the ability to keep preventing jailbreaking. But ultimately if the consumer wants a more open device, Apple will give it to them. There’s a very large jailbreaking community out there, but not large enough to make Apple budge it seems.
11. Do you think there will come a time when they will lift them?
I don’t think they’ll lift restrictions as much as they’ll keep up to date with consumer trends. The current set of restrictions will evolve as time passes and fade away as new ones emerge.
12. What is your experience in developing apps for AppStore?
Even though I enjoy programming for jailbroken iDevices, with it’s own version of an app store well before Apple’s, I have had a great time with AppStore. I have a handful of titles available there as ZodTTD, as well as some work done with Kuyi Mobile such as Card Drop. For a fresh face to commercial software development, the AppStore provides a complete package to get you up and running for a minimal amount of money. It also gives independant developers a chance to really see their software move up the rankings and do quite well with little to no marketing at times.
Do you live off the profit you get from the AppStore or do you have income off other platform titles?
While I could possibly live off my AppStore income, it’s a small portion of my income generated. The rest comes from alternative iDevice storefronts such as Cydia Store and RockYourPhone, contract work, and other platforms.
13. What do you think about the Apple’s approval process?
It can be very tedious and at times a bit unfair. For instance why did my very own Snesty application (a Super Nintendo emulator) get rejected but the C64 emulator get allowed? Snesty was made just like Nescaline and reviewed at the same time. Nescaline, the NES emulator, was initially approved by Apple but soon pulled from the AppStore. Both of these emulators did not contain any code from Nintendo, and definitely did not contain any licensed games. We bundled these emulators with public domain homebrew games. The wait times are down to a week or less to have an application be approved for AppStore, but at least for me, when an application of mine is rejected it always takes longer. Sadly you just have to deal with it.
Do you think there’s any way to improve it?
While Apple thinks AppStore is working just the way it should, simply allowing those who jailbreak to continue peacefully gives consumers the option. Apple maintains a lot of control over their product line. But for those wanting a bit more, having the option to jailbreak is a nice touch.
14. Every month or so there is an outcry from the developers regarding iPhone piracy. What do you think about it? Do you think it is a real issue or is it blown out of proportion?
It’s a sad situation. There’s a huge amount of piracy, and instead of improving just the DRM, they decide to try to lock out all jailbreaking. Apple’s DRM was and still is extremely weak and they haven’t taken down the large piracy enterprises literally profiting off others work. What’s worse, due to AppStore developer guidelines in place, it makes it very hard to write efficient code for anti-piracy adding insult to injury.
The now-disbanded RIPdev team had a anti-piracy wrapper (Kali) that they claimed was both adherent to the Apple guidelines and not cracked to date. Have you heard about it? Why do you think it didn’t catch on?
I have heard of it. It may not have been cracked since not enough applications were using it. More applications didn’t use it most likely due to price as well as if it was cracked, then entire libraries of software would be up for grabs that used it. I’ve heard many developers agree upon making their own methods of anti-piracy for the iPhone in hopes to change things up on software crackers/reverse engineers. If each software title must be patched by hand one at a time, they want it to be more work than it is worth to the cracker.
Do you think there is a solution? I know Apple advertises In-App purchases as the last line of defense from piracy. At the same time according to some of the devs I talk to they don’t even support out-of-the box subscription via them.
Unfortunately I don’t see an elegant solution in sight.
15. The hot topic everywhere is the iPad. What do you think about it?
I’m very excited to see a lot of my software running on it. The fact Apple allows a keyboard to be attached to it seems like it will handle a good chunk of requests we see for external input adapters for the iPhone. Having emulators running on it would be pretty fun too. 😉
16. Do you think it will really make the impact Apple is advertising it to?
It will either do amazingly well for such a product though maybe not to Apple’s advertising, or it will fail miserably. There’s really no inbetween on this one. My bet is on it doing amazingly well.
17. Will you get it as soon as it is available?
Most definitely yes.
18. The iPhone OS 3.2 for the iPad seems to have a few neat features. What are your expectations for the next release of the iPhone version of the OS?
I’m pretty bad at predicting the future so I have no expectations beyond it being harder to jailbreak. New features at this point are icing on the cake.
19. What do you think of the future of the iPhone in general?
I should of predicted that was going to follow the previous question! I think the future of the iPhone will be tuning the hardware for gaming. I have a strong feeling that Apple wasn’t prepared for people to want to play video games on the iPhone. Now that it’s obvious by AppStore sales that they do, they need to seize the market – and they will.
Wow, you must have some kind of extrasensory powers
20. How would you compare it to the other devices on the market?
The only thing that can try to compare to the iPhone right now is an Android based phone like the Google Nexus One. While to the consumer these phones have their pros and cons, to the developer Apple deals a much better package. And what makes these phones so special? The applications developers are cranking out for them!
21. What are your top 3 favourite Cydia apps, AppStore apps and games?
(taking a look at my iPhone 3gs)
- Music Controls (lets you play Rhapsody and other AppStore apps in the background!)
- SBSettings (toggles for Edge/3G come in handy)
- nes4iphone (has WiiMote controls!)
- Tweetie 2 (Twitter)
- Bookmark (better way to handle bookmarks in audio books)
- FlowChat (best IRC program)
- 7 Cities TD
- Pets LIVE
- Wizzley Presto when it’s released
22. ZodTTD, thank you for your time! Could you say a few final words for the TMA readers?
No problem! I really appreciate the work done over at TMA. While I normally don’t do interviews I easily made the exception this time. Thanks so much!