Author Topic: Porting Yabause to Android  (Read 302432 times)

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3475
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Porting Yabause to Android
« Reply #15 on: January 24, 2012, 01:37:48 PM »
Did you run a test with the setting, Guillaume from Yabause forum replied to you ?
Here is a game compatibility list from pandora port. Maybe you should try another game that is proven to run better.
And i read, that a bios file isn't allways neccessary for the pandora port and the maemo binary for n900.

Yes, I actually had already tried that setting that Guillaume mentioned (yinit.cdcoretype = CDCORE_ISO;).  I thought it was the wrong setting, because it resulted in errors (that's why the build I posted isn't using it).  I'll try some other games at some point, but if there is a problem with loading games into memory as Guillaume suggested, then it won't work for any game until that problem is fixed.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline androidian

  • byte
  • *
  • Posts: 14
    • View Profile
Re: Porting Yabause to Android
« Reply #16 on: January 25, 2012, 10:14:33 AM »
Dont know much about emulation but in some forums i heard that evan dreamcast easier to emulate than saturn some people says that one saturn processor core have 3 or 4 small cores sounds crazy

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3475
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Porting Yabause to Android
« Reply #17 on: January 25, 2012, 02:11:46 PM »
Should only be 2 cores (unless you count the graphics and audio processors as separate "cores" - Mupen64Plus, for example, doesn't make this distinction, although it could probably be argued).  That being said, those two cores are only 16-bit.  In theory, two 16-bit processors are equivalent to one 32-bit processor of the same speed (i.e. the PlayStation - both are able to process the same amount of information at about the same speed, the Saturn being clocked a little slower).  Emulating multiple processors, on the other hand, is probably a lot more complicated to think about from a development perspective than emulating one processor (the difference between "in theory" and "in practice", haha)  Guess we'll just have to see how well it does after getting the rendering correct.  I didn't write the core(s) so I couldn't say.. I'm just speculating at this point.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3475
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Porting Yabause to Android
« Reply #18 on: January 25, 2012, 05:16:10 PM »
Wow, and people were calling this slow:

http://www.youtube.com/watch?v=K_VGuLmj-rA

Does anyone happen to know where to grab the latest sourcecode for the Pandora port of Yabause (or build instructions if it isn't posted somewhere as a separate project)?  The only references I can find use the software rendering pipeline (which I kind of doubt could run as smooth as in that video, although the quality is pretty grainy so hard to tell).  Comments on the pandora forums from July/ August of last year mention the emulator running about 5 FPS for most games (much faster than the <1 FPS I'm getting with the Android port, but still super-slow).  As far as I can tell, nobody has ported the GL renderer for the emulator to GLES yet (which is the main reason for the slow speed), but if anyone happens to know otherwise, that would be helpful (otherwise I'll have to take a crack at porting it myself).
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3475
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Porting Yabause to Android
« Reply #19 on: January 25, 2012, 05:32:53 PM »
Nevermind, digging around in the repository, I see that Ari64 is going through QT (which in turn does the GLES calls).  Still would be faster with direct GLES because QT adds a lot of overhead, but perhaps going with an Android port of QT (such as Necessitas) might be the best way to get performance up to at least a playable speed.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: Porting Yabause to Android
« Reply #20 on: January 25, 2012, 11:43:17 PM »
As I understand, he uses GTK ?
http://boards.openpandora.org/index.php?/topic/4583-yabause/page__view__findpost__p__84306

Something about building from source from him.
 http://boards.openpandora.org/index.php?/topic/4583-yabause/page__view__findpost__p__82228

But I think you already know this thread.
On maemo.org there is another port, but no source. Only some complied binaries.
On pandora thread are also some .pnd but I doubt extracting them brings something helpfull up.

« Last Edit: January 26, 2012, 02:06:56 AM by scorpio16v »

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3475
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Porting Yabause to Android
« Reply #21 on: January 26, 2012, 02:32:29 AM »
Ah, yes, you're right, I must have missed that post when I was reading the thread.  It looks like he added ability to enable the dynarec from QT as well (which is what made me think that's what he was doing in the build he posted). That's just based on his edits and comments in the repository, though.. I could be mistaken about that.  I kind of wish I had a Pandora to test some different build strategies before deciding which graphics library port to get for Android.  I'm considering just scrapping the middle-man entirely, and porting the GL renderer to GLES anyway.. I think its ultimately the only way to get some decent speed out of the emulator.
« Last Edit: January 26, 2012, 02:39:16 AM by Paul »
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline crualfoxhound

  • byte
  • *
  • Posts: 19
    • View Profile
Re: Porting Yabause to Android
« Reply #22 on: January 29, 2012, 09:32:56 AM »
@paul

Is there any progress on this yabouse emulator.
Eg can we select games or speed improvements.
Device.

Samsung galaxy note 2 N7100

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3475
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Porting Yabause to Android
« Reply #23 on: January 29, 2012, 11:13:56 AM »
Nope.  There is a problem loading the game into memory, which will need to be addressed before this project will ever get off the ground.  I'm probably not the person to tackle this problem, so I'm hoping the core Yabause devs are able to figure it out.

Here is an update on where I'm going with this project:

I'm adding in a basic GUI for choosing the bios and CD image now, but it is kind of pointless until that other bug is fixed.  If I tackle that bug myself, I'll have to get the project into a more readable form (this convoluted CMake garbage is WAY too nested for me to follow)

Secondly, it appears that the ARM dynarec is not being built at all (I had assumed it was, but looking at the compiler output it actually isn't).  Because I'm not familiar with CMake, I haven't figured out how to tell it to add Ari64's code to the built paths.  Getting this working will be a huge performance increase, I just have to figure out what setting to add where.

Thirdly, it is using the software rendering pipeline.  For anything to be playable, someone will have to port the OpenGL rendering pipeline to GLES.  I'm planning to tackle this after fixing the above things first.

Fourthly, it will need audio linkage added.  I'll probably use either SLES or SDL (or a tiny "faux SDL" library) for this.

Finally, it will need input to be a functional emulator.  This is the easy piece to add, but also pointless to add until some of the other problems are fixed first.
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Epic_bubble

  • long
  • ***
  • Posts: 235
    • View Profile
Re: Porting Yabause to Android
« Reply #24 on: January 29, 2012, 11:18:16 AM »
The d-pad input actually already works, it just needs more buttons. :P

No point in doing this until games are playable though haha.
Device: Xperia play
CPU: Qualcomm 1 GHz Scorpion (Snapdragon)
GPU: Adreno 205
RAM: 512 MB
Screen res: 854 ? 480
ROM: stock android 2.3.4 rooted

Offline trev186

  • int
  • **
  • Posts: 97
    • View Profile
Re: Porting Yabause to Android
« Reply #25 on: January 29, 2012, 02:32:57 PM »
In regards to the list of things that need to be done. Another dev I know was interested in the yabause android port. If you reach out to him he may be able to help. He works with SDL quite a bit and he also knows pelya pretty well

Here is his website

 http://anddev.at.ua/

Offline altharic

  • bit
  • Posts: 7
    • View Profile
Re: Porting Yabause to Android
« Reply #26 on: January 30, 2012, 03:39:44 PM »
The d-pad input actually already works, it just needs more buttons. :P

No point in doing this until games are playable though haha.

I also confirm the d pad is working great work getting it this far Paul thank you.

Offline altharic

  • bit
  • Posts: 7
    • View Profile
Re: Porting Yabause to Android
« Reply #27 on: February 05, 2012, 05:28:36 AM »
Hi, Did you get anywhere with this? :)

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3475
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Porting Yabause to Android
« Reply #28 on: February 05, 2012, 09:36:39 AM »
Sadly, no.  The problem is related to a couple lines in the dyarec assembly code.  The library builds as a static library just fine, but when I go to use it by the .so library (which is needed for interfacing the static library in an APK) it generates an error stating that code cannot be used from a shared object context.  This limits me to building a command-line executable (which besides not having access to JNI/ Java, would require rooting and could not be distributed on the Android Market)
Device: Samsung Galaxy Nexus i515
CPU: TI OMAP4460, 1.2 GHz (dual core, ARM Cortex-A9)
GPU: PowerVR SGX540, 307 MHz
RAM: 1 GB
Resolution: 720 x 1280
Rom: omni-4.4.4-20141014-toro-FML KitKat 4.4.4, rooted

Device: Eee PC 1015PEM
CPU: Intel Atom N550, 1.5 GHz (dual core, x86)
GPU: Intel GMA 3150, 200 MHz (dual core)
RAM: 2GB
Resolution: 1024 x 600
Rom: android-x86-4.3-20130725 Jelly Bean 4.3, rooted

Offline Epic_bubble

  • long
  • ***
  • Posts: 235
    • View Profile
Re: Porting Yabause to Android
« Reply #29 on: February 05, 2012, 09:45:02 AM »
Ive seen plenty of root apps sold on the market? Or could it not be distributed on there because of one of the other limtations you mentioned?

Device: Xperia play
CPU: Qualcomm 1 GHz Scorpion (Snapdragon)
GPU: Adreno 205
RAM: 512 MB
Screen res: 854 ? 480
ROM: stock android 2.3.4 rooted