C64 iPhone App pulled after Easter Egg BASIC Interpreter revealed
This is an interesting development. Manomio went though all of the App Store hurdles to get the C64 app approved over the past months. This included all of the complex licensing issues and slicing out one of the coolest features, the BASIC interpreter, that a lot of us had our first programming experience on.
It turns out, it wasn't sliced out, but just covered, only to be revealed by an undocumented easter egg-type hack.
If you’re dying to get your BASIC on, however, reader Stooovie let us know you can still access it by enabling “always show full keyboard”, starting a game, paging over to the EXTRA keyboard, and then tapping RESET. Boom, dropped into BASIC with a ready-prompt...
As soon as Apple got wind of this (last night), it was pulled from the App Store.
The developer is saying that they never intended for this to be revealed, that it was put there in anticipation of Apple, at some future time, allowing them to open up the BASIC functionality. They'd activate this functionality remotely. Manomio at C64iPhone.com has this to say:
Unfortunately Apple this night pulled the C64 App from the App Store. We had agreed with Apple to remove basic from the application, but as we believed it would be possible to convince Apple to let it in later on, we left it in the app to be activated remotely by us when we had “go” from Apple.
Due to the extreme publicity the app has received over the weekend and the fact that several users found a way to enable the basic back, Apple decided to remove the app from App Store until we have solved the issue.
This is very frustrating as we had no intention of tricking basic into the app and the fix was done in a few minutes the moment we found out - a new version has been submitted to Apple, and we can only hope Apple will appreciate our efforts to apply the changes they need in order to put it back on.
We have a feeling Apple isn't going to be in any hurry to get this app back onto the App Store. Also, how many other approved apps have secret back door functionality that can be enabled remotely?
Latest Stories on 9 to 5 Mac
- Apple patents the 3D Apple Store - Alice in Avatar-land
- Surprise: Warner admits iTunes sales slow on price hikes
- Apple ships Aperture 3: 64-bit, Snow Leopard/Intel only, 200 features, $199/£169 (demo available)
- What's coming to the Apple Store this morning?
- Apple Store Down. Can we has Core i7 MacBook Pros?
- Apple podcasts Mac advice video clips
- iPhone gains, BlackBerry loses US smartphone marketshare



Delicious
Digg
StumbleUpon
Reddit
Facebook
Google
Yahoo
Comments (12)
What is it you can do with this BASIC?
Melt the iPhone?
"...we can only hope Apple will appreciate our efforts to apply the changes they need in order to put it back on." Uh, yeah, I imagine they're currently appreciating Manomio's efforts far better than Manomio would like.
Precisely how much effort did they expend trying to hide the fact they were circumventing the rules? Since "the fix was done in a few minutes the moment we found out"...
I imagine Apple will spend quite a bit of time pondering that question.
And now, how many other innocent devs will find the approval process delayed while Apple scours even harder to evidence of cheating? Nice going Manomio.
Are these developers children? What a lame excuse. They left it in so they could remotely activate it the moment Apple allowed it? Come on, it's quite obvious that you put it back in with an easy software update. So, if it hadn't been discovered, and Apple decided to rescind that SDK restriction, then this app would suddenly have the BASIC interpreter turned on, revealing that it had it all along, and Apple would probably pull it then. No, this was a stupid developer that thought that they could leave it in as an easer egg so that people could still get the function somehow without Apple finding out. I dub this the Hot Water hack.
1. you know they left BASIC in and left a backdoor on purpose
2. The app already has great publicity
3. Everyone loves rule breakers when it comes to software
4. I want to buy the C64 emulator now
I think these guys know exactly what they are doing! Good job fellas
As soon as I heard about the hack, I knew the app would be pulled. Seriously, what did you expect? This is just asking for trouble. Hope they don't terminate your AppStore agreements...
I'd have thought it could be difficult to create a fully-compatible C64 emulator without including that part of the ROM which held BASIC. While I was a Sinclair man, not a Commodore user, I remember that it was common practice to make ROM calls to save coding memory (very important if you only have 64K), and those calls could, possibly, include calls to the BASIC interpreter.
For that matter, I remember some - otherwise machine-coded - software which used routines actually written in BASIC to interact with the tape recorder.
With the hackery (undocumented ROM calls, mixed BASIC and MC programming etc.) that went on as programmers sought to overcome hardware limitations in the 80s and early 90s, I imagine that it would be very hard to remove part of the ROM (the BASIC interpreter) without screwing up software compatibility. Perhaps that is the reason why the code was not actually removed; instead access to that code was removed, but they forgot that the system would revert to BASIC on a soft-reset. This makes its discovery not so much of an Easter Egg as a bug.
That doesn't explain, however, why the developers came up with a story about future activation, unless there is some legal reason for doing so.
It is puzzling that Apple are so worried about the possibility of a BASIC interpreter on the iPhone, particularly one which is (presumably) running inside a virtual machine. Is it just control freakery? Or is any programming language verboten by the secret App Store rules? In which case, it probably is control freakery.
As an iPhone developer myself, this has nothing to do with what you can do with BASIC.
In allowing this to stay on the store, Apple would set a precedent that could allow any arbitrary code execution on the device, effectively nullifying that part of the SDK agreement.
The developer was very foolish. They knew the restrictions and went out of there way to circumvent them. I hope Apple revokes their developer account.
No, including BASIC won't melt the iPhone. In this case, the likely reason for Apple's insistence that Basic not be accessible within the app is the potential of a lawsuit from Microsoft, whose lawyers just love to find stuff like this. Commodore Basic was licensed from Microsoft for the Commodore branded machine ROM only. Microsoft still maintains their rights to the code, and I'm sure they'd appreciate getting their own licensing cut for their property. This could be a big legal mess. Don't blame Apple. Blame Bill's lawyers.
No, including BASIC won't melt the iPhone. In this case, the likely reason for Apple's insistence that Basic not be accessible within the app is the potential of a lawsuit from Microsoft, whose lawyers just love to find stuff like this. Commodore Basic was licensed from Microsoft for the Commodore branded machine ROM only. Microsoft still maintains their rights to the code, and I'm sure they'd appreciate getting their own licensing cut for their property. This could be a big legal mess. Don't blame Apple. Blame Bill's lawyers.
No, including BASIC won't melt the iPhone. In this case, the likely reason for Apple's insistence that Basic not be accessible within the app is the potential of a lawsuit from Microsoft, whose lawyers just love to find stuff like this. Commodore Basic was licensed from Microsoft for the Commodore branded machine ROM only. Microsoft still maintains their rights to the code, and I'm sure they'd appreciate getting their own licensing cut for their property. This could be a big legal mess. Don't blame Apple. Blame Bill's lawyers.
I apologize for my part... I got the "captcha" flag, had to reload it when I mistyped, and then somehow it posted x3. No clue why it wouldn't reject the pre-captcha input in favor of only one post. (Please remove two of them and this note.)
This is a great app. the emulation is pretty spot on even if the 5 games included are rubbish compared to what is available.
To solve the BASIC problem they could use the roms for the C64GS which never drops into basic with a state file created that has the game running (this is the way the emulator works, there is either a d64 or t64 file containing the game, if its a t64 then it loads and runs it direct, if its a d64 then it loads a pre run state file, lunar lander actually has all the hackers cracktro on the disk that you never see :) ). 2 minute fix and still keeps all the BASIC calls there for the programs to run if they need them
Oh, and as for the accuracy of the emulator, well bounder, commando and mega apocalypse run great if you play around a little ;)