port to android g1??

Subforum for discussion and help with ScummVM's Android port

Moderator: ScummVM Team

nafeasonto
Posts: 8
Joined: Thu Nov 29, 2007 3:03 am

port to android g1??

Post by nafeasonto » Mon Jan 05, 2009 12:48 am

Will a port for SCUMM VM come to the G1 phone? i tried searching G1 and and adroid on the forums but found no discussion about one in development or idea for it.

User avatar
clone2727
Retired
Posts: 1592
Joined: Fri Jun 09, 2006 8:23 pm
Location: NJ, USA

Post by clone2727 » Mon Jan 05, 2009 1:47 am

Well, I just searched for Android and found this.

User avatar
bobdevis
Posts: 563
Joined: Fri Jan 16, 2009 10:52 am

Post by bobdevis » Wed Jan 21, 2009 9:23 pm

It seems you can install Debian Linux on your 1G without harming your Android.
Keep an eye on that. When Debian@1G gets userfriendly you could just use that and install the Linux version of ScummVM to run on it.

Ender
Retired
Posts: 110
Joined: Wed Sep 21, 2005 5:06 am
Location: Perth, Western Australia

Re: port to android g1??

Post by Ender » Sat Jan 24, 2009 11:57 pm

Actually, I was playing a ScummVM (DOTT) on a real G1 last week.

Angus from Google whipped a port up at linux.conf.au Tuesday night, and the progress on Friday was pretty good (sound was not implemented yet).

Once he has cleaned the patch up (given this is something hes playing with his spare time) he intends to commit the patch to the team. So an Android port IS technically possible, is in progress, and will hopefully be ready in time for 0.14.0 :)

(No, you do NOT have to rewrite ScummVM in Java...)

- Ender
nafeasonto wrote:Will a port for SCUMM VM come to the G1 phone? i tried searching G1 and and adroid on the forums but found no discussion about one in development or idea for it.

Ender
Retired
Posts: 110
Joined: Wed Sep 21, 2005 5:06 am
Location: Perth, Western Australia

Post by Ender » Sun Jan 25, 2009 12:01 am

Oh, apparently there is a way to wrap native C applications in a JAR-like (zip) format to allow for native execution without having to break the phones normal environment. You have to wrap the thing in the java classname (eg, org.scummvm.scummvm). I'm not sure about the details, I only had quick chat about the packaging over a few beers :)

fingolfin
Retired
Posts: 1466
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin » Sun Jan 25, 2009 3:51 am

Coolio, that's new then -- in October, Google told us it wouldn't be possible initially (but planned for later). Good news!

hero82
Posts: 2
Joined: Fri Feb 13, 2009 4:15 pm

Post by hero82 » Fri Feb 13, 2009 4:20 pm

The port to android is already released in the app market:
http://www.cyrket.com/package/org.inodes.gus.scummvm

I tried Monkey Island 1 and it works! It is quite hard to play it because one can only use the touchscreen, but it will be probably improved.

Does anyone have more information about how it was ported?

User avatar
md5
ScummVM Developer
Posts: 2261
Joined: Thu Nov 03, 2005 9:31 pm
Location: Athens, Greece

Post by md5 » Fri Feb 13, 2009 4:32 pm

Errr... that seems to be a very old version. It's version 0.5.1, when we're almost at 0.13.0...

It's quite bad that the person who did the port didn't bother to add the source code changes he made, or to tell us that he ported scummvm to android.... That's an unofficial version, and it's against the spirit of Open Source Software (OSS) and the GPL :(

fingolfin
Retired
Posts: 1466
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin » Fri Feb 13, 2009 4:48 pm

Maybe 0.5.1 does not refer to the ScummVM version, but rather to the version of its port. Which actually would be kind of worse.

Can somebody tell me how I can actually download the thing to take a look (and find out who did it, and what's included, and all) ?

UPDATE: It seems the only way to officially browse the Android Marketplace is via an Android phone? How bad is that.... So I have no way to get that binary, nor to find out who made it? For all I know they could even be selling it... *sigh*

Donaroriak
Posts: 2
Joined: Tue Feb 05, 2008 4:47 pm

Post by Donaroriak » Fri Feb 13, 2009 5:28 pm

This site will let you parse the Android market, but you cannot download the software packages directly.
http://www.cyrket.com/

The porter of the G1 version is quoted as "Angus Lees", so it is likely the "Angus from Google" that Ender mentions.

Cheers
Don

EDIT: if I open the app in my G1, it reports that it's ScummVM version 0.14.0svn, so I guess 0.5.1 refers to the internal Android Market versioning system. Also, apps cannot (yet) be sold on the Android Market.

hero82
Posts: 2
Joined: Fri Feb 13, 2009 4:15 pm

Post by hero82 » Fri Feb 13, 2009 5:51 pm

It is version 0.14.0svn (Feb 13 2009 14:22:23)

That is the text when you execute it on a T-Mobile G1.

Cheers
Hendrik

gus
ScummVM Porter
Posts: 77
Joined: Fri Feb 13, 2009 5:44 pm

Post by gus » Fri Feb 13, 2009 5:54 pm

md5 wrote:Errr... that seems to be a very old version. It's version 0.5.1, when we're almost at 0.13.0...

It's quite bad that the person who did the port didn't bother to add the source code changes he made, or to tell us that he ported scummvm to android.... That's an unofficial version, and it's against the spirit of Open Source Software (OSS) and the GPL :(
Yes, sorry this was me. I have so little time for email outside work that I'm no good at this community thing.

I uploaded it to the market just to force me to get off my ass and hand the code over. How do you want me to submit the patch, build instructions, etc?

The 0.5.1 version was arbitrarily chosen by me and I was just trying to give people an idea of the maturity of the scummvm port (1.0 being "as good as other ports"). Strangely, it never occurred to me to base this off the scummvm version - this is a build from svn head of a few weeks ago.

gus
ScummVM Porter
Posts: 77
Joined: Fri Feb 13, 2009 5:44 pm

Post by gus » Fri Feb 13, 2009 6:11 pm

fingolfin wrote:Maybe 0.5.1 does not refer to the ScummVM version, but rather to the version of its port. Which actually would be kind of worse.

Can somebody tell me how I can actually download the thing to take a look (and find out who did it, and what's included, and all) ?

UPDATE: It seems the only way to officially browse the Android Marketplace is via an Android phone? How bad is that.... So I have no way to get that binary, nor to find out who made it? For all I know they could even be selling it... *sigh*
Yes, the version refers to the port - my bad. I'll fix that on the next release.

I'm happy to give you the patch (against svn head from a few weeks ago), what form do you want it in? I can give you the built package too if you want to run it in the android emulator or something to see it working.

This build has all engines compiled in, a statically linked libmad and is dynamically linked against tremor. As a consequence it's really big which is one of the problems of this port.

I'm also not drawing the mouse cursor yet, and I don't have an onscreen keyboard. Ender, saving games and sound works since the last time you saw it.


Purely coincidentally, it seems we enabled the ability to charge for market apps about half an hour after I uploaded this package. No I'm not charging for it, nor do I intend to ever do so. I *would* like to make some sort of downloader-and-minimal-build bundles in the future for the freely released games so they're all nice and idiot-proof.

fingolfin
Retired
Posts: 1466
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin » Fri Feb 13, 2009 9:41 pm

Hi Gus,

OK, that sounds great than, thanks for putting our worries at ease :-). And thanks for working on this.

Patches are highly welcome, ideally via ourpatch tracker.


Is it possible to use loadable modules under Android? Because then one could build the engines as dynamically loadable modules, which would save some RAM (but not storage space, if that is the problem; that is, one *could* delete unused engine plugins, if desired).


As for the versions: Problem is, there once was a ScummVm version 0.5.1, while the current *release* version is 0.12.1, the upcoming version is 0.13.0, and current SVN trunk is 0.14.0svn

So using a different versioning scheme for a port is very confusing to everybody; we discourage porters from using custom versions and/or custom names (no ScummG1 or AndroidSCUMM, for example ;-). You could use 0.14.0svn-android or 0.14.0svn-android-0.5.1 or so, although I guess that would be even more confusing...

gus
ScummVM Porter
Posts: 77
Joined: Fri Feb 13, 2009 5:44 pm

Post by gus » Fri Feb 13, 2009 11:54 pm

fingolfin wrote:Hi Gus,

OK, that sounds great than, thanks for putting our worries at ease :-). And thanks for working on this.

Patches are highly welcome, ideally via ourpatch tracker.


Is it possible to use loadable modules under Android? Because then one could build the engines as dynamically loadable modules, which would save some RAM (but not storage space, if that is the problem; that is, one *could* delete unused engine plugins, if desired).


As for the versions: Problem is, there once was a ScummVm version 0.5.1, while the current *release* version is 0.12.1, the upcoming version is 0.13.0, and current SVN trunk is 0.14.0svn

So using a different versioning scheme for a port is very confusing to everybody; we discourage porters from using custom versions and/or custom names (no ScummG1 or AndroidSCUMM, for example ;-). You could use 0.14.0svn-android or 0.14.0svn-android-0.5.1 or so, although I guess that would be even more confusing...
I completely understand the versioning thing - I'll base the package versions on the scummvm source versions from now on.

I can use loadable modules (linux dlopen() works as normal), but storage space is the problem, and I figured demand paging means I'm using the same amount of memory in both cases anyway. Compiled as separate .so's, using separate plugins adds about another .5MB on disk.

What I plan to do is to manually unpack the plugins into a separate directory (there's a /cache that seems to be rarely used but is garbage collected periodically) and dlopen() from there but I need to work out some of the details first.


I'll upload the patch this weekend. My additions to ports.mk in particular are a bit ugly and will probably need some cleaning up before committing :/

Oh, and to avoid any confusion - my day job at Google has nothing to do with android. I just happen to be a guy who owns a G1 and likes scummvm.

- Gus

Post Reply