Game rights?

reminisce about classic bbc micro and acorn electron games here
Related forum: adventures


ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Game rights?

Post by ReubenS »

I've written a BBC Micro emulator for iOS and am investigating the feasibility of publishing it as a free app on the App Store.

Popular wisdom has it that emulators are banned on the App Store but this is not true. It turns out that what Apple principally object to is "downloading code"... they don't mind emulation as long as all executed and emulated code is wholly contained in the app bundle.

Therefore any BBC Micro emulator iOS app must ship with game disk images contained within it, which in turn means gaining permission for each game included. This is exactly what the author of Spectaculator (a ZX Spectrum emulator on the App Store) has done, he's managed to get permission for 150 titles so far.

Can anyone here advise on how best to go about this process? Who are the main rights holders anyway? I doubt if Tim Tyler owns the rights to the Repton .ssds... presumably I'd need to seek permission from Superior Software?

While the emulator itself will hopefully always be free, one possibility is that individual game titles are unlocked via in-app purchase, should the rights holder wish to charge.
User avatar
jgharston
Posts: 4299
Joined: Thu Sep 24, 2009 12:22 pm
Location: Whitby/Sheffield
Contact:

Re: Game rights?

Post by jgharston »

Why go to all the hassle and tedium of supplying sample disk images with your emulator, why not just supply the emulator and leave it to the users to get/create disk images of whatever they want from whereever they want?

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.32
(C) Copyright J.G.Harston 1989,2005-2020
>_
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

For that to work the app would have to allow the execution of code not contained in the app bundle, which is against App Store policy.
User avatar
1024MAK
Posts: 10544
Joined: Mon Apr 18, 2011 5:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: Game rights?

Post by 1024MAK »

As I see it, yes you need someone to grant permission in writing (email is also okay) for each game you include. Unless the game is clearly stated to be open source in it's file or included documentation.

Another publisher of an emulator (of the ZX Spectrum) got permissions and agreed payments, but failed to pay the rights owners. This caused a very big stink and they were forced to remove the app.

Mark
User avatar
richardtoohey
Posts: 4025
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Game rights?

Post by richardtoohey »

ReubenS wrote:I doubt if Tim Tyler owns the rights to the Repton .ssds... presumably I'd need to seek permission from Superior Software?
I know you are just using Repton as an example, so your question remains open, but in the case of Repton Superior have their own iOS version (that includes a retro theme) so I don't think they'd like it. http://www.superiorinteractive.com/
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

Another publisher of an emulator (of the ZX Spectrum) got permissions and agreed payments, but failed to pay the rights owners.
That's bad, certainly. Fortunately I value my professional reputation rather higher than a few stolen quid from IAP, I can guarantee that wouldn't happen here.

And as this emulator is a labour of love, I'd far rather it was 100% free, no IAP or anything. I wrote it primarily so I could have an emulator on my favourite phone (and, soon, on the new Apple TV too). Being able to put it on the App Store is just a bonus.

...in the case of Repton Superior have their own iOS version (that includes a retro theme) so I don't think they'd like it.
Hmm, wasn't aware of that. If it cost the same as their existing iOS app then surely it's just offering the same product in a slightly different package? Worth an ask anyway.
paulb
Posts: 811
Joined: Mon Jan 20, 2014 9:02 pm
Contact:

Re: Game rights?

Post by paulb »

1024MAK wrote:As I see it, yes you need someone to grant permission in writing (email is also okay) for each game you include. Unless the game is clearly stated to be open source in it's file or included documentation.
Note that the App Store's terms and conditions are incompatible with certain open source licences, which would affect any games that are GPL-licensed, for example. There are some Retro Software games that would be affected here, and as GPLv3 makes very clear, the problem would be that you wouldn't be able to modify a game and then deploy it within the emulator.

None of this would be a problem if Apple weren't hell-bent on restoring and imposing their curated, pre-Internet vision of computing on their customers.
User avatar
Wookie
Posts: 342
Joined: Sat Aug 27, 2005 11:06 am
Location: Lost in a fog of PSU capacitor smoke
Contact:

Re: Game rights?

Post by Wookie »

ReubenS wrote:For that to work the app would have to allow the execution of code not contained in the app bundle, which is against App Store policy.
So for your program to be accepted, Apple is going to run your emulator and play every game you include to completion just to make sure it doesn't contain any malicious code ? :lol: pmsl
cheers Wookie
Overclocked StrongARM RiscPC + Viewfinder
Overclocked Arm3 8MB A310 + vidc extender
BBC Master with Matchbox CoPro
BBC B+ 64K
My original Electron from 1985 with Slogger MasterRam/Turbo,AP1,AP2 rom, AP3+4 & New AP6
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

Wookie wrote:So for your program to be accepted, Apple is going to run your emulator and play every game you include to completion just to make sure it doesn't contain any malicious code ? :lol: pmsl
Well no, of course they won't do that. I'm pretty sure they look at how it uses the internet though, and if they see it downloading executable code they'll certainly reject it.

It's impossible for Apple to formally prove that any app doesn't do at least one of the various things they don't want apps to do. But they can certainly make life difficult for deliberate transgressors who depend on iOS for a living.
User avatar
davidb
Posts: 2995
Joined: Sun Nov 11, 2007 10:11 pm
Contact:

Re: Game rights?

Post by davidb »

ReubenS wrote:It's impossible for Apple to formally prove that any app doesn't do at least one of the various things they don't want apps to do. But they can certainly make life difficult for deliberate transgressors who depend on iOS for a living.
Yes, there's a shifting line in the sand as to what's acceptable and, as I understand it, no consistent enforcement of the terms of service. :(

If the app has permission to access files on the phone, can't you just get users to put the games in a folder and play them from there?
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

davidb wrote:If the app has permission to access files on the phone, can't you just get users to put the games in a folder and play them from there?
Unlike desktop OSes, iOS has no real concept of a user home directory where such a folder might live. Each app is 'sandboxed' and can only access the files in it's own sandbox: that's the files installed in the app bundle and any files the app creates. No app can access the files belonging to any other app.

But even if iOS were hypothetically able to access files elsewhere that still wouldn't get around the fundamental problem: it is against App Store policy for apps to execute code not contained in the app bundle.
User avatar
richardtoohey
Posts: 4025
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Game rights?

Post by richardtoohey »

ReubenS wrote:
davidb wrote:If the app has permission to access files on the phone, can't you just get users to put the games in a folder and play them from there?
Unlike desktop OSes, iOS has no real concept of a user home directory where such a folder might live. Each app is 'sandboxed' and can only access the files in it's own sandbox: that's the files installed in the app bundle and any files the app creates. No app can access the files belonging to any other app.
I think the suggestion was that your app downloads the game data files into its sandbox, and uses those files from there.

Obviously you then get into an argument if the game "data" files are really executable code + data. It's executable code for the emulator, but not really executable code in the terms of iOS. But I don't know where Apple draws the line.
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

That's still outside the app bundle.

I'm afraid Apple didn't leave any convenient loopholes here.
User avatar
jms2
Posts: 2794
Joined: Mon Jan 08, 2007 6:38 am
Location: Derby, UK
Contact:

Re: Game rights?

Post by jms2 »

if they see it downloading executable code they'll certainly reject it.
Surely one could argue that BBC disc images are not executable code at all. They are not executable by iOS.
From the OSes point of view, how is an SSD file and your app functionally any different from, say, a PDF file and its associated PDF viewer? If the viewer is programmed correctly it cannot affect other processes, and so should be allowed to download and open PDFs.

I don't know anything about writing apps for iOS so my question is probably an ignorant one, but it seems a valid question to me anyway. :D
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

richardtoohey wrote:Obviously you then get into an argument if the game "data" files are really executable code + data. It's executable code for the emulator, but not really executable code in the terms of iOS. But I don't know where Apple draws the line.
The argument's been done to death and from talking to other iOS devs there's zero doubt that emulated code is most definitely considered code. The exact wording of the policy is as follows:
2.7 Apps that download code in any way or form will be rejected
My understanding is that this wording is deliberately vague so that any app that ends up being considered suspicious will qualify for removal. After all, taken at face value, the wording means that any app that simply downloads a web-page containing Javascript is in breach. Ultimately it means whatever Apple want it to mean. We devs have to do our best to guess at the intent behind the policy rather than the policy itself. :/
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

jms2 wrote:Surely one could argue that BBC disc images are not executable code at all. They are not executable by iOS.
From the OSes point of view, how is an SSD file and your app functionally any different from, say, a PDF file and its associated PDF viewer?
Of course you could argue that, and I'd certainly agree with you, but it won't get us very far. :-) There's no impartial judge to appeal to here, code is code if Apple says it is.

IIRC the App Store policy used to refer to "virtual machines" and the clause was widely perceived as a way to keep Java and ActionScript (Flash) apps out.
JonC
Posts: 734
Joined: Wed May 14, 2014 10:19 pm
Location: Wakefield
Contact:

Re: Game rights?

Post by JonC »

Probably not very helpful, but if it's a labour of love, why are you developing it on a platform with stone age usage policies?
Make it an Android app and a lot of these headaches go away as the platform is far more open.

If it becomes popular enough, you may just find that Apple wants a slice of the action, and will bend their creativity blocking policy? :)
Jon
Image
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

I already wrote the Android one a few years ago - Beebdroid!

I was actually in the middle of a fairly massive update to Beebdroid but then moved to writing an iOS one from scratch simply because writing anything for iOS is *so* much easier than writing for Android. Doing anything non-Java on Android is positively painful. And I'd be surprised if anyone who does serious work on both platforms could convincingly argue against Apple's dev tools being significantly superior.

(Beebdroid's update will appear just as soon as the iOS UX is finalized).
User avatar
richardtoohey
Posts: 4025
Joined: Thu Dec 29, 2011 5:13 am
Location: Tauranga, New Zealand
Contact:

Re: Game rights?

Post by richardtoohey »

ReubenS wrote:Doing anything non-Java on Android is positively painful. And I'd be surprised if anyone who does serious work on both platforms could convincingly argue against Apple's dev tools being significantly superior.
Not that I've done anything other than tinkering on both platforms, but that's one thing (Java) that's put me off Android. And having used both platforms (and watched my family do the same) - I know which one I prefer. And they both seem just as naughty these days at gathering/sending information. Anyway, I digress, and don't want to start a BBC vs Spectrum/Atari vs Amiga/vim vs emacs war [-X

Good luck with sorting out the game rights - there doesn't seem to be an easy way of doing it. :(
User avatar
hoglet
Posts: 9941
Joined: Sat Oct 13, 2012 7:21 pm
Location: Bristol
Contact:

Re: Game rights?

Post by hoglet »

Reuben,

Slightly off topic but....
ReubenS wrote:I already wrote the Android one a few years ago - Beebdroid!
I'd like to thank you for a nice piece of work there.

I "borrowed" the ARM Assembler 6502 emulator core for Optima - a port of Atomulator to the Raspberry Pi:
http://www.stardot.org.uk/forums/viewto ... 967#p96967
https://github.com/hoglet67/Optima

It made all the difference, speed wise.

There was one bug fix I made so it would pass the Dorman 6502 tests:
https://github.com/hoglet67/Optima/comm ... 16791c6384

There were several more commits that touched this code, but these relate more to Optima than the core 6502 IIRC:
https://github.com/hoglet67/Optima/comm ... /6502asm.S

Dave
User avatar
tricky
Posts: 5145
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Game rights?

Post by tricky »

Thanks for all the work on beebdroid, I gave up adding the fix hoglet refers to as I couldn't build using any of the environments I tried.

I am really looking forward to the new version and hopefully being able to my games.

This may be a bit wild, but how about including all the images, say the sth archive, in the app and then only allowing people to play them if they also have a copy on their phone?

You wouldn't be running any downloaded code and you would only be running games that people have.

It wouldn't be as good as being able to load arbitrary images from the phone, but would cover nearly everything and you could have occasional updates with extra images requested by users.
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

hoglet wrote: There was one bug fix I made so it would pass the Dorman 6502 tests:
https://github.com/hoglet67/Optima/comm ... 16791c6384
Hah, sorry about that bug, I think someone emailed me that ages ago but I was too busy with paid work. These days SBC is implemented in two lines: a simple BODY_ADC with the operand inverted (one's-complement). I got that trick from somewhere on the web... I understand the 6502 silicon implements SBC the same way.

(CPU emulation is still a bit underpowered... it should be batching together as many instructions as possible before clocking the other chips, but current logic has them updating after every CPU instruction, which is ruinous for performance.)

I also have 32-bit and 64-bit X86 versions of the optimized assembly now, so the emulator runs great on the iOS simulator. Only 64-bit ARM left to do.
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

tricky wrote:Thanks for all the work on beebdroid, I gave up adding the fix hoglet refers to as I couldn't build using any of the environments I tried.

I am really looking forward to the new version and hopefully being able to my games.

This may be a bit wild, but how about including all the images, say the sth archive, in the app and then only allowing people to play them if they also have a copy on their phone?

You wouldn't be running any downloaded code and you would only be running games that people have.

It wouldn't be as good as being able to load arbitrary images from the phone, but would cover nearly everything and you could have occasional updates with extra images requested by users.
Cheers, the new Beebdroid has proper keyboard support (inc. hardware keyboards), game controller support, user-definable touch controllers, it exposes the whole of the STH .ssd archive rather than a tiny subset, and allows you to load arbitrary local .ssds. And it's less buggy. :)

Re. including images in the sth archive, I think including them in the installable (the .apk) without explicit permission would certainly be a step too far towards piracy. As long as the app is only downloading web documents over the public web, there is a strong argument that the whole app is no more than a specialised web browser.
User avatar
tricky
Posts: 5145
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Game rights?

Post by tricky »

ReubenS wrote:I also have 32-bit and 64-bit X86 ... iOS ... Only 64-bit ARM left to do.
People always forget MIPS! Android 2.3 onwards IIRC.
User avatar
tricky
Posts: 5145
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Game rights?

Post by tricky »

I don't mean to sound ungrateful, <ungrateful> has the 6845 emulation changed much? </ungrateful>
I know how much effort goes into a BBC emulator, mine didn't get much past chuckie egg, and even that was a huge effort.
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

tricky wrote:
ReubenS wrote:I also have 32-bit and 64-bit X86 ... iOS ... Only 64-bit ARM left to do.
People always forget MIPS! Android 2.3 onwards IIRC.
I've never owned a MIPS device to test with, a quick Google shows at least one should be coming out in 2016. Could be interesting. But Beebdroid will run on it anyway because the forthcoming build includes a C implementation of the 6502 so it can run on anything (original Beebdroid was 32-bit ARM only). And TBH really modern mobile devices don't really need the assembly version any more... my iPhone 6S runs the C implementation at the full 50fps and the iPhone's CPU never breaks a sweat (peak CPU usage is 20%).
User avatar
tricky
Posts: 5145
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Game rights?

Post by tricky »

Sounds good
ReubenS
Posts: 45
Joined: Thu Jun 16, 2011 4:32 pm
Contact:

Re: Game rights?

Post by ReubenS »

tricky wrote:I don't mean to sound ungrateful, <ungrateful> has the 6845 emulation changed much? </ungrateful>
I know how much effort goes into a BBC emulator, mine didn't get much past chuckie egg, and even that was a huge effort.
It hasn't really changed at all. I optimized Tom Walker's original 6845 code in a few obvious places for original Beebdroid but it's largely untouched since. If it aint broke... :D
User avatar
tricky
Posts: 5145
Joined: Tue Jun 21, 2011 9:25 am
Contact:

Re: Game rights?

Post by tricky »

It isn't quite right, but fine for nearly all games, I think it is mostly the timing being off by a bit.
I tried different versions of (windows) beeb-em, all have the wrong number of rows of gfx and colours changes in the wrong places for the attached .ssd.
Try the attached .ssd on a real beeb, b-em or jsbeeb/beta and it should look like the attached image.
I think the 6845 implementation in jsbeeb was originally based on the one in beeb-em, but has recently had a big overhall by RichTW and the result is on the beta site (the main site also has had some changes from beeb-em).
I wouldn't let tweaking the 6845 stop you from releasing what you have, it already sounds great. =D>
frogger_demo.png
There are a few other .ssd images in the beebFPGA thread if you want to give an extra workout.
Attachments
frogger-demo.zip
(3.32 KiB) Downloaded 63 times
JoolsH
Posts: 646
Joined: Mon May 21, 2012 12:46 pm
Contact:

Re: Game rights?

Post by JoolsH »

paulb wrote:Note that the App Store's terms and conditions are incompatible with certain open source licences, which would affect any games that are GPL-licensed, for example. There are some Retro Software games that would be affected here, and as GPLv3 makes very clear, the problem would be that you wouldn't be able to modify a game and then deploy it within the emulator.
Probably worth asking the authors of the Retro Software games if they'll grant permission to use their games in the app - just because some of them are licensed under GPLv3 doesn't mean they can't grant you permission separately. The Retro Software site is sadly down at the moment* but most of the authors post here anyway. I'd have no objection to you including Mixed Grill March in a free app.

* Any ETA on getting it back up, do we know? :|
Post Reply

Return to “8-bit acorn software: classic games”