BlitterStudio / amiberry

Optimized Amiga emulator for Linux/macOS
https://amiberry.com
GNU General Public License v3.0
660 stars 89 forks source link

Android native UI for configuration #241

Closed bspinner closed 4 years ago

bspinner commented 6 years ago

Instead of using the guisan GUI optimizied for use with mouse/keyboard/directional keys, it would be nicer for Smartphone users to have an native UI for configuring things.

The native UI could start the amiberry uae core with parameters, similar to providing an uae config via -config argument (and skip the guisan gui).

I'd actually be able to contribute code to this (finally :))

TODOs

midwan commented 6 years ago

@bspinner Not a bad idea! Can you help with the GUI part on Android then?

For simplicity, I'm testing things "as-is" for now, trying to get things to work properly first, then improve on that. And it's also a learning experience for me (haven't deployed C++ code to Android before, using external libraries like this).

bspinner commented 6 years ago

Yup.

bspinner commented 6 years ago

I'll create a new repo for android stuff, so we can treat amiberry like a core with separate issue tracking.

edit: https://github.com/bspinner/amiberry-android

bspinner commented 6 years ago

@midwan Follow up: Currently I'm trying to get the whole package of libs and amiberry to compile and start up (converting the Makefiles to Android.mk files etc.) This is a learning experience for me, too btw. I'm fluent in Android/iOS development, but not using the NDK... :)

midwan commented 6 years ago

I've been trying to set up a sort of a template, which includes the required libraries compiled under NDK, and test them. Not very successful so far, and it's surprising that there's nothing that works right away either.

All the tutorials I've seen were too outdated for the current versions, some worked half-way at best. I did create something but testing Guisan on it hasn't been very successful yet (I could get it to run on the Android emulator, but not on the real device).

bspinner commented 6 years ago

What was your successful approach to get everything compiling?

(I could get it to run on the Android emulator, but not on the real device).

What architecture was your emulator "emulating"?

midwan commented 6 years ago

@bspinner Using the method outlined in Lubomyr's readme, I could get the SDL1 version to compile and deploy, but it crashes as soon as it starts. Using another approach from scratch, trying to get the GUI to compile with all the SDL2 dependencies, I could run it on the Android emulator (x86 compile) but it didn't show any graphics on a real (ARM) device - just a black screen.

Then I found a barebones template that seemed promising, because it included SDL2, SDL2_image, SDL2_ttf (and SDL2_mixer but we don't use that), but that wouldn't compile properly either, even after manually fixing some of the issues it had. :-(

2xtime commented 5 years ago

@midwan Just out of interest, have you had any luck with this Android port recently or did you give up on the idea ? :) What version of Android are you testing this on, because Lubomyr's version apparently also crashes when using it on Nvidia Shield (not sure which version of Android the Shield uses). Does it work on earlier Android versions like KitKat ?

midwan commented 5 years ago

@2xtime Definitely did not give up. :) After spending time trying to get everything to work, I had to put it on pause because there were other things to look into as well, and this wasn't moving much. Since then, I decided that the fastest/easiest way to go forward would be to use the tooling I already have in place (VisualGDB) to produce an Android version. The problem with that approach, is that VisualGDB is a commercial product and I've only got the Linux version.

So we started a Paypal donation thing, in order to gather the necessary funds to get a license for VisualGDB, and we're almost there. If you'd like to help, here's the link: https://paypal.me/pools/c/8apqkBQovm

bspinner commented 5 years ago

@midwan Feel free to leave a comment here as soon as you can need a helping hand with actual Android development. :)

03stevensmi commented 5 years ago

Any news on this for shield TV? From what the paypal says, it looks like you have reached that goal! I can not use amiga on shield Oreo so i really need to know if this is going to be done soon. Thanks Man!

midwan commented 5 years ago

I managed to get the SDL2 components building correctly, which was one of the show-stoppers earlier. But there is still work to be done (the rest of the dependencies need to be added, and finally Amiberry itself). Progress is slow due to the limited available time, but it is happening.

03stevensmi commented 5 years ago

cool, lets hope this gets sorted soon, thanks for your great time and effort! btw, sorry for the dupe topic. I'm new here to github ;)

bspinner commented 4 years ago

@midwan I think we can close this, since this issue will be part of the separate Android repo.

bspinner commented 4 years ago

Extra android repo is here: https://github.com/bspinner/amiberry-android