Slashdot videos: Now with more Slashdot!

View

Discuss

Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

Hugh Pickens writes "Stephen Williams reports in the NY Times that the app recreating some of the Commodore's seminal retro games, including Le Mans, Dragons Den and Jupiter Lander, has been re-issued after being pulled in September. The app features SID sound emulation, auto-save to continue where you left off, and a realistic joystick with a beautifully crafted C64 keyboard. Apple originally rejected the program for violating the SDK agreement, which dictates that 'no interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple's Published APIs and built-in interpreter(s).' After disabling the controversial feature, Apple published the app in September, but days later it was pulled and the developer was asked to remove, rather than just disable, the BASIC interpreter from the program, which would have allowed unscrupulous users to run unlicensed, emulated code on the iPhone or iPod Touch. 'The road was bumpy, but we remained persistent and made the changes Apple was looking for. Ultimately, BASIC has been removed for this release; however, we hope that working with Apple further will allow us to re-enable it,' the company wrote on its blog."

What programs could be written in about 38k Basic???And how would the non-basic version of the c64 emulator hinder you to run arbitrary machine code on it?It is easier to write useful code in c64 machine code.And what use of a c64 emulator is there if you cannot run neither basic nor machine code on it.

Any program that allows a user to arbitrarily write to a memory location is potentially a security threat. Buffer overloading is the most common means of taking control of a machine when a malicious user already has unpriviledged access. If the emulator is poorly written (ie it's not a sandbox, but rather simply a command interpreter to the host system) then there's a very real possibility that an exploit can be found.

That's not the point. The point is, Apple must control everything. Yes, they regard even a BASIC interpreter as a threat. And they are very correct to do so. You might laugh but Apple's principles are sound. I have just spent some time reviewing documents from just before the Wall fell [gwu.edu] and it was very clearly revealed that letting people have a little bit of freedom was ultimately disastrous.

Though really if Apple owned a country I'm not sure if it would be more or less restrictive than the USSR...

If Apple owned a country it would be almost exactly like that commercial for the 1984 Superbowl. Except it'd be Steve Jobs up on the viewscreen and a bearded penguin running up the aisle while the mindless Apple drones would all be sticking their legs into the aisle trying to trip him. before he could throw a hammer through the viewscreen.

Well! I certainly take back my assertion that Apple's app store is authoritarian. You have certainly bested me in argument, sir, and I bow my head in shame. My strategy of comparing different sorts of authoritarianism has come apart in the face of your assertion that I would enjoy the violent deaths of thousands of people. Moreover, your rhetorical strategy of making any references to communism off-limits for any sort of discussion can only make future debates more fruitful and productive by letting our society forget about 20th century history.

You can't compare the app store and totalitarianism. Apple sells products and people have a choice whether or not they use them. The store is exclusive and the entry policies are somewhat arbitrary/elitist/wanky, but that is no difference from a fancy nightclub. Legally they have a right to offer the service, and I have the right to ignore it. You can't choose whether you want to live under a communist system or not if you're born in a country that has one.

Ah, but there is another side to this technology. Next Friday will be Junis day [slashdot.org],a reminder to us all of the contributions of Commodore computers to the causes of liberty and to international journalism. Millions of impoverished Afghanis rely on Commodore Basic emulators on their iPhones to be able to participate in the international community. Apple are clearly hindering this in hopes of appealing to the lucrative Taliban market instead. Such cynicism is appalling.

So, in what way is a 6510 emulator not interpreting machine code opcodes, and executing, er.. program code, and why is that different to that same interpreter interpreting a program that allows you to interpret BASIC program code?

If iPhone isn't a purposeful implementation of The Innovator's Solution's [amazon.com]* description of the proprietary to commodity process I don't know what is. I mean, the authors even have a section on Blackberry and describe how to better it ala iPhone.

Once a reasonable competitor emerges (is it Droid?) Apple will loosen its grip, but until then it commands higher profit by staying as controlling as possible.

(from a plaque in a small German town whose name I now forget - in the late Middle Ages the local landowner tried to enclose common land and sent his soldiers to stop any local men who tried to demolish it. The wall was demolished by the local women: the soldiers were barred by their personal honour from fighting women.)

My point here is that in the longer run what will destroy the Wall is that there are now going to be three Linux based phone OSes, Android, Maemo and Samsung's Bada. To get developer tractio

Exactly! Thanks to the Information Purification Directives, Big Steve has created a garden of pure ideology, where the consumer may flourish safe from the pests of contradictory and confusing truths. Apple's enemies shall talk themselves to death, and the iPhone will bury them with their own confusion.

I hate the ridiculous anti-free nature of the app store, but it's not hard to see why Apple would be concerned. The fear is that if a program gets into the App Store that allows any sort of user-provided data to be executed, then evil unlicensed apps could be delivered to the platform through that interpreter.

For example, instead of writing your games in C and paying Apple to sell them on the app store, you could write your game in BASIC and deliver them through the C64 emulator. Apple makes no money. Not exactly practical, but if there's a hole in the interpreter environment that allows a jump into raw binary data (which could be set to ARM instructions) then it's up to the app developer to fix it, and Apple has no control. This is the kind of problem that plagued TI calculators for years until they decided to open them up, and was the door into custom unsigned software on game consoles before the age of modchips and hard drives.

For example, instead of writing your games in C and paying Apple to sell them on the app store, you could write your game in BASIC and deliver them through the C64 emulator.

Unless the emulator provides a way for you to load BASIC programs from unsigned user files you can provide outside the emulator into the environment, this is useless.
As far as I know, the only files the app would let you load are ones in the app, that you bought.

Users aren't too likely to hand-key the program listing for a C64 game

I hate the ridiculous anti-free nature of the app store, but it's not hard to see why Apple would be concerned. The fear is that if a program gets into the App Store that allows any sort of user-provided data to be executed, then evil unlicensed apps could be delivered to the platform through that interpreter.

This problem is easily solved: Just require the code to be signed!

Although there are many upsides to interpreted languages, perhaps top of the heap is a short application development cycle. But I would happily throw a couple hundred bux for an interpretive SDK that let's me run unsigned code, so that I could develop my appz. Then, when I'm ready to sell, I get the code signed by Apple.

My company vends a product written in an common, interpreted language. It's closed-source, so we use a software obfuscation

It is ignorant to talk about Apple being upset at not being able to make money from Commodore basic games.

You can already release as many free games as you want, which cost apple money to host, and they do not make a cent. Apple doesn't care if you release any game you want, or as many as you want for free. They will not stop you (as long as you follow the rules).

It is clearly not about money. It is about a rule Apple created, not for commodore basic, but for things like flash. basic just happens to fit into this rule.

I get it. The anti-Apple crusaders make the mistake of confusing an iPhone with a totalitarian state. It's nothing of the sort. They make objects which are supported by software. They're quite popular. If they double their market share again, they might have 20% of the computer market, though I really don't think that's likely. But you know what? You don't have to have a Mac, or an iPhone, or anything at all made by Apple. They're quite popular. They're turning a good profit.

Yes people do have every right to complain. They have the right to not buy Apple products as well. I also find some of Apple's actions regarding the App store to be disturbing. When it comes to the C64 Emulator I have to wonder if it might not be for copyright reasons. Who owns the rights to the the C64 basic and Kernel? Microsoft wrote the Basic way back when. People have every right to say they don't like something.

Yes. You can do things your Apple overlords have not expressly given you permission to do. This cannot be allowed, because they have not given permission.

The phone market is Apple's wet dream, because none of the customers have any expectation of openness or being able to actually do anything with their own hardware, so there's not much complaint when they give users the full Apple experience by locking everything down. I fully expect they'd do the exact same damn thing with OS X elsewhere if they could get away with it.

No, that doesn't work... at least not in C64 BASIC. "WAIT" requires three operands... what you have there is a syntax error. You can SYS 6502, but it just clears the screen.

I don't know if this worked on the PET or not, but consider... Commodore licensed BASIC from Microsoft for a one-time payment of about $10,000 back in the mid 1970s. That was the last time Microsoft was involved in any capacity. Commodore was free to change it any way possible, so as they went forward, Commodore BASIC looked less and les

We are talking about the C64 not the Pet.The C64 had better sound, and hardware sprites. The AppleII did have faster drives, slots, and a CP/M option.I liked both machines but the C64 was much easier to write games for.

Apple's problem is that they have a bunch of thieving users who think the iPhone is theirs to use as they wish just because they paid for it. Next thing you know, they'll be writing "hello world" and you know where that leads! If you give a bunch of scumbags like that even an inch, next thing you know, they'll be demanding that they get what they pay for every time! The nerve!!

Is there actually a method of doing anything unscrupulous with a BASIC interpreter running inside a C64 emulator running on an iPhone?

Not likely unscrupulous, but an interpreter on the iPhone would allow developers to sell iPhone software without going through the App Store. Apple has decided - for better or worse - that they must review and approve all applications on the iPhone. Therefore no interpreters.

Yes... you can run a program Apple doesn't control get paid for. That is, after all, the highest crime possible on the iPhone. And the reason open interpreters are not permitted. Regular iPhone applications are subject to the approvals process of the Powers That Be at Apple. But they would not be able to approve C64 BASIC, Java, or Shockwave programs (for example). And since Apple know much better than you which applications should be running on the iPhone, that would not be good.

On real smart phones, people does it for years, installing/running their old games, showing their friends the code they wrote.

The issue here is, your device vendor and your apologists shouldn't be asking this question. It should be YOU choosing what to do with the computing platform you do. Why don't you ask why there is such a limit of "running emulated code"? Why don't you think 10 SECONDS about the reasoning behind it?

I can't wait for the "app store only" OS X 10.7 and apologists for the most closed comp

This App is based on Frodo, a GPL licensed C64 emulator. While it offers, upon request, to email the Frodo source code to you (which can also be downloaded straight from the web site), it doesn't offer to send the source code of the complete App.

The Frodo source code is an integral part of the app, obviously, so I suspect this app will land them in choppy waters soon.

Indeed, if true, that would be a GPL violation.
Distribution upon request is acceptable, provided section (3) of the GPL is met, which provides the option:

b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily us

Apple, that's what. It seems they will refuse any alternative to running code on the device except through their app store, and that's unlikely to change. I think there's a brainfuck interpreter though, so severely crippled languages can slip through.

I downloaded it before it got taken down the first time and had fun entering BASIC command for a couple of seconds before I lost interest. Touch screen keyboards are fine for quick SMS messages or email but I couldn't imagine being such a masochist that I'd want to enter entire programs in with one! I suppose someone with enough resolve could do some amazing stuff and create an alternative interface to the iPhone with 8bit PETSCII glory. Actually that would be kinda cool.

Anyway despite that, I kept the application and won't be upgrading, if only just to (Mr Burns voice) honk off my Apple masters:).

You lack persistence. I'm nearly done entering all of the DATA statements for a full assembler. Probably only need a few more weeks and then a few nights of verifying what I've entered. I've tacked on a bit of code to poke the whole thing into REM statements, at which point I'll be ready to recreate Zaxxon.

For some reason, Legacy of Ancients for C64 tugs at my heart strings as one of my favorite RPGS. It was also one of my first computer RPGS, and there is always something about your first RPG where you feel powering up your character really matters. I bet a lot of WOW people think powering up their character matters somehow because the game is so big.

My favorite things to do in Legacy of Ancients is to rob towns or to play flip flop(and consequently run out of town when I break the bank). There is also

I loved making humongous ramps in racing destruction set, changing the gravity to like really wacky and then hit them really hard so the cars would jump forever. That was truly the most awesome game. I remember devoting countless hours to project firestart, phantasy, mig alley ace, cycle knight, speedball... Games that didn't suck.

I can't help but wonder if this whole soap opera isn't like just some jealous retribution against those old "COMMODORE ATE THE APPLE" newspaper headlines. So now it is back, but they yanked out BASIC...

Boo apple.
The early home computers, including Apple, shipped with BASIC and a nicely bound manual [scribd.com] with clear instructions on simple programming. This was the first step for many who are now players in the industry.

The early home computers, including Apple, shipped with BASIC and a nicely bound manual [scribd.com] with clear instructions on simple programming. This was the first step for many who are now players in the industry.

It's almost like the old days again. I hear current Apple products still ship with a book that's about as thick as the old programming manual that came with the Apple ][.

I don't think Commodore BASIC was any worse than any other BASIC interpreter out there. It was still largely a variant of the then-ubiquitous Microsoft BASIC. Probably its biggest deficiency was a lack of direct support for sprites. But most of the 8bit computers I played with at the time required PEEKs and POKEs to do some fancy stuff, often small machine language routines to speed up things like sorts and graphics. Back in those days, would-be programmers started with the BASIC variant on their comput

Just like Apple has a virtual keyboard, they just can provide virtual 5.25" disks, to be inserted into a virtual 5.25" drive, using multitouch gestures. OK, there's the problem of getting in your real C64 disks, but there's a solution: Display it in hex, and type that in through the iPhone's virtual keyboard.:-)

Despite months of negotiations to get a Commodore 64 emulator approved for the iPhone, Apple has pulled the application after just two days [today.com] after a hack was found that enables the BASIC interpreter.

“Anything capable of allowing programming — any programming — could be a security risk to the iPhone and its users,” said Apple in a statement to the Library of Congress on copyright. “As such, it is absolutely vital for the safety of the nation that we vet every single application and collect 30% on each one.”

Apple software reviewers, who are generally moonlighting from day jobs as TSA airport security policy writers, fear a wave of 1980s-style “hackers” using the iPhone to “dial” into NASA or National Security Agency computers using the accompanying 300-Baud Acoustic-Coupled Modem application. “We had our suspicions when the app lit the user’s face from below in just the right shade of green to show off their cheekbones really photogenically.”

Reviewers were particularly concerned that the BASIC interpreter was originally written by Microsoft. “Of course, their security is famously terrible,” said one reviewer in a break from torturing kittens. “We’d probably get a Commodore 64 virus. And their sense of aesthetics! No way Steve would ever let that through.”

A similar Commodore 64 emulator that gives ten cents to AT&T every time a user runs a game has passed approval in two days.

“A strange phone,” said NSA correspondent “WOPR.” “The only winning move is not to buy.”

I mean, it is executing non-native code (6510 asm) without (I'm guessing) recompiling it for iPhone, providing a way to run programs with an in-between layer to not use the native stuff or keep Apples glorious blessing on the code. This is essentially what java or flash does, construct a secondary layer where code can run. On the other hand, Apple is Apple and pretty much reserves the right to be inconsistent, bizarre and allow or disallow things at will depending on what suits them so I guess it's par for

I'm going to go with David Lynch on this one, who famously ranted that "you can't watch a movie on a fscking phone." You can't have a "realistic" joystick on a phone, because an image of a joystick is not realistic, nor does it even approximate the input device. It's a neat toy, not a re

People need to realize that the iphone isn't a pocket computer. It's an appliance. Apple didn't market it as a pocket computer, and iphone owners did not purchase the right to run whatever software they like on it. You buy that right when you buy any apple computer, but you can't purchase that right with an iphone.

Just FYI, jackass (make that "stupid", or perhaps, "special" jackass), the reason this is a story isn't because there's a C64 emulator for the iPhone. Rather, it's a story because Apple pulled it from their app store because you could run a BASIC interpreter on it, and only allowed it back on the app store after the interpreter was pulled.

I mean, jebus, is it so much to ask that you just read the "stupid" article summary?

Being that the C64 was an 80s computer, just about anything can
emulate and there lots of emulators about. I guess the story is
about Apples dumb, only there code policy. Maybe you should
run an iDon't [youtube.com] instead of an Iphone,

If you'd bother to read into the history of this, you'd understand why it's news-worthy. It was accepted by Apple, then pulled down awhile ago, due to "breaking the agreement," which caused the media to pick it up regarding if Apple should be allowed this level of control and what not. So the program isn't what's news, the fact that they were able to get around Apple is. If you'd bothered to have read the articles and a little bit of the history, you'd know that. Then again, it's typical for you Apple b

I think the biggest concern is that malicious code may render the iPhone unusable as a phone. Apple is protecting its product, as it should.

I'm sure you can provide even one example of where an emulated machine has ever had a vulnerability allowing a program running in the emulated hardware to do something malicious to the (usually) unrelated host hardware.

I'm sure you can provide even one example of where an emulated machine has ever had a vulnerability allowing a program running in the emulated hardware to do something malicious to the (usually) unrelated host hardware.

VICE is a program that runs on a Unix, MS-DOS, Win32, OS/2, Acorn RISC OS or BeOS machine and executes programs intended for the old 8-bit Commodore computers. The current version emulates the C64, the C128, the VIC20, all th