MT-32 support?

Subforum for discussion and help with ScummVM's Android port

Moderator: ScummVM Team

Post Reply
phunimator
Posts: 56
Joined: Mon Jun 01, 2009 1:03 pm
Location: London

MT-32 support?

Post by phunimator » Fri Nov 21, 2014 7:02 pm

Hi There,

Its been a while since I have tried ScummVM and recently tried it on my new Android phone after hearing that MT-32 support has been improved in the main binaries.

It appears that this is still missing on Android and I'm I'm just wondering why? I understand that previously the argument that Android devices were not powerful enough to use it properly was valid, however as standard most newer devices are 2+ GHz Multi core processors with up to 3GB ram, which sounds more than capable.

If anyone could shed some light on the subject, I'd be grateful, and if deemed valid, I'll stick it as a feature request. Thanks in advance.

-P

rkk
Posts: 4
Joined: Sat Jul 30, 2016 10:40 am

Post by rkk » Wed Aug 03, 2016 8:02 pm

Are DEVs still active? Is the MT-32 emulation a topic no dev is allowed to talk about? The only reply from a dev I've seen so far is from 2005 (not sure about exact date) stating that the devices nowadays are too slow for it.

Come on.. Even the Wii edition has MT-32 emulation support, even when the Wii is too slow to handle it..

Is there even a test build to test it on Android? Or is it simply not possible to port it to Android because some kind of technical limitations?

Would be nice if there would be some input on this topic from the DEVs. Any info highly apretiated.

phunimator
Posts: 56
Joined: Mon Jun 01, 2009 1:03 pm
Location: London

Post by phunimator » Fri Aug 05, 2016 11:11 am

Hi rkk!

Nice to see that someone else is interested in this. I'm still here also waiting for input.

Considering both the iOS and Raspberry Pi builds work flawlessly with MT32, there is next to no reason why it can't be implemented into an Android build.

Hopefully more people will show interest in this!

-P

User avatar
Lubomyr
Posts: 90
Joined: Fri Mar 07, 2008 6:56 pm
Location: L'viv, Ukraine
Contact:

Post by Lubomyr » Fri Aug 05, 2016 1:53 pm

android-sdl port rebuilded with mt32 support

https://dl.dropboxusercontent.com/u/477 ... .08.05.apk

You must have mt32 rom files put them into Android/data/org.scummvm.sdl/files

User avatar
MusicallyInspired
Posts: 984
Joined: Fri Mar 02, 2007 8:03 am
Location: Manitoba, Canada
Contact:

Post by MusicallyInspired » Sat Aug 06, 2016 12:19 am

Nice! Thanks!

rkk
Posts: 4
Joined: Sat Jul 30, 2016 10:40 am

Post by rkk » Sat Aug 06, 2016 4:58 pm

Wow! That was quick!

Thanks Lubomyr for the build.

I tested it on my Motorola Moto G (Second Gen) and it runs pretty decently on a 1.1GHz CPU, but it seems to lag and crack a bit when there are a lot of instruments playing at the same time, but still enjoyable.

On the other hand, I tested it on a Samsung Galaxy A3 with a 1.2GHz CPU and it runs butter smooth even with a lot of instruments playing at the same time.

Seems like 1.2GHz CPUs are the sweet spot.

Will try to overclock my Moto G and see if it makes any difference.

Thanks a lot for the build, seems to me like a promising feature for Android phones too.

mac_es
Posts: 104
Joined: Mon Oct 31, 2005 9:37 am

Post by mac_es » Wed Aug 10, 2016 7:07 am

Lubomyr wrote:android-sdl port rebuilded with mt32 support

https://dl.dropboxusercontent.com/u/477 ... .08.05.apk

You must have mt32 rom files put them into Android/data/org.scummvm.sdl/files

Hello,

Can you explain how to compile scummvm android-sdl? I can compile the native one but I wasn't able to compile sdl lib...

thank you

User avatar
Lubomyr
Posts: 90
Joined: Fri Mar 07, 2008 6:56 pm
Location: L'viv, Ukraine
Contact:

Post by Lubomyr » Wed Aug 10, 2016 8:58 am

mac_es wrote: Hello,

Can you explain how to compile scummvm android-sdl? I can compile the native one but I wasn't able to compile sdl lib...

thank you
1. You need 64bit linux

2. Install Android sdk&ndk (i unpacked it into ~/android directory)
http://developer.android.com/ndk/downloads/index.html
https://developer.android.com/sdk/index.html

to run android environment i create and use simple script setenv-android.sh

#!/bin/sh

export PATH=~/android/android-ndk-r12b:$PATH
export PATH=~/android/android-sdk-linux/tools:$PATH
export PATH=~/android/android-sdk-linux/build-tools/24.0.0:$PATH

now we can run android build environment via console
. setenv-android.sh

Now via Android SDK Manager (for call sdk manager via console type android). We need download latest version:
Android SDK Tools
Android SDK Platform-tools
Android SDL Build tools
Android 6.0 (API 23)
+SDK Platform (API 23)

3. Install pelya's libSDL-environment
cd ~
git clone git://github.com/pelya/commandergenius androidsdl

4. download scummvm sources
cd ~
git clone https://github.com/scummvm/scummvm

5. replace pelya's scummvm config to config from scummvm dists
cd ~/androidsdl/project/jni/application
rm -fr scummvm
ln -s ~/scummvm/dists/androidsdl/scummvm scummvm

6. You have to replace one line in file AndroidAppSettings.cfg ( ~/androidsdl/project/jni/application/scummvm)
AppVersionCode=@ANDROID_VERSIONCODE@
to
AppVersionCode=16

7. Now you can build project (apk)
cd ~/androidsdl
./build.sh scummvm

mac_es
Posts: 104
Joined: Mon Oct 31, 2005 9:37 am

Post by mac_es » Thu Aug 11, 2016 7:46 am

Lubomyr wrote:
mac_es wrote: Hello,

Can you explain how to compile scummvm android-sdl? I can compile the native one but I wasn't able to compile sdl lib...

thank you
1. You need 64bit linux

2. Install Android sdk&ndk (i unpacked it into ~/android directory)
http://developer.android.com/ndk/downloads/index.html
https://developer.android.com/sdk/index.html

to run android environment i create and use simple script setenv-android.sh

#!/bin/sh

export PATH=~/android/android-ndk-r12b:$PATH
export PATH=~/android/android-sdk-linux/tools:$PATH
export PATH=~/android/android-sdk-linux/build-tools/24.0.0:$PATH

now we can run android build environment via console
. setenv-android.sh

Now via Android SDK Manager (for call sdk manager via console type android). We need download latest version:
Android SDK Tools
Android SDK Platform-tools
Android SDL Build tools
Android 6.0 (API 23)
+SDK Platform (API 23)

3. Install pelya's libSDL-environment
cd ~
git clone git://github.com/pelya/commandergenius androidsdl

4. download scummvm sources
cd ~
git clone https://github.com/scummvm/scummvm

5. replace pelya's scummvm config to config from scummvm dists
cd ~/androidsdl/project/jni/application
rm -fr scummvm
ln -s ~/scummvm/dists/androidsdl/scummvm scummvm

6. You have to replace one line in file AndroidAppSettings.cfg ( ~/androidsdl/project/jni/application/scummvm)
AppVersionCode=@ANDROID_VERSIONCODE@
to
AppVersionCode=16

7. Now you can build project (apk)
cd ~/androidsdl
./build.sh scummvm
Thank you!

Timar
Posts: 19
Joined: Sat Oct 03, 2009 2:51 pm

Post by Timar » Mon Oct 03, 2016 10:33 am

Thanks for this build. I also think, given the ever-increasing performance of mobile devices, MT-32 emulation should by now be included (but not necessarily enabled) by default in all Android builds.

One question: With the above build I experience some minor cracking on my 1,2GHz MetiaTek device when many instruments are playing. Could a 64bit build offer any improvement? (I'm running 64 bit Marshmallow).

rkk
Posts: 4
Joined: Sat Jul 30, 2016 10:40 am

Post by rkk » Mon Oct 03, 2016 10:54 am

Timar wrote:Thanks for this build. I also think, given the ever-increasing performance of mobile devices, MT-32 emulation should by now be included (but not necessarily enabled) by default in all Android builds.

One question: With the above build I experience some minor cracking on my 1,2GHz MetiaTek device when many instruments are playing. Could a 64bit build offer any improvement? (I'm running 64 bit Marshmallow).
I have the same issues on my Moto G 2014 (1,2GHz). I believe you have to Overclock your CPU to have it working cleanly.

Timar
Posts: 19
Joined: Sat Oct 03, 2009 2:51 pm

Post by Timar » Mon Oct 03, 2016 11:07 am

rkk wrote: I have the same issues on my Moto G 2014 (1,2GHz). I believe you have to Overclock your CPU to have it working cleanly.
Have you tried adjusting the audio buffer? For me, a larger buffer size paradoxially makes things worse.

What gave some improvement for me was to check the "Seperate thread for video" box in the SDL video settings.

It's a pitty, you have all those cores and can't utilize them to run the emulator.

phunimator
Posts: 56
Joined: Mon Jun 01, 2009 1:03 pm
Location: London

Post by phunimator » Fri Oct 21, 2016 9:44 am

Hi all,

I have missed updates to this thread since my follow up message in August, and I'm really pleased that this has been incorporated finally Smile

I have downloaded the latest build directly from the Google Play store on my Google Pixel phone today, and I'm happy to report that MT-32 is working pretty well! I've noticed there is a tiny bit of crackling, but I haven't messed with the audio buffer yet (which is set to very small by default).

I had to do the changes described by goetz in the 'ScummVM not working on Android N' thread to get the files to show in the ScummVM file browser, but then it works a treat. Can't wait to replay everything again with great audio Smile

Cheers!!

-P

phunimator
Posts: 56
Joined: Mon Jun 01, 2009 1:03 pm
Location: London

Post by phunimator » Mon Oct 24, 2016 11:35 am

Just to update that for me, the cracking was completely eliminated when the audio buffer was set to medium. Obviously YMMV depending on the device you are trying to do this with. Best of luck!

Post Reply