Author Topic: Alpha Testing Underway!  (Read 341140 times)

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #120 on: November 12, 2011, 09:13:47 AM »
so that means you will include a settings zone letting you customize the controls's size, position and maybe skin when you finish the GUI?
In the GUI, you will be able to import custom gamepad layouts.  The layouts can be made by anyone (doesn't require any programming skill).  They will not be created or customized through the GUI itself.  I will probably make a "skin builder" program at some point, but for now it's easy enough to create the gamepad layouts without one.

the analog stick's indicator doesn't move  ( i can move my character but the analog doesn't)
This is intentional.  By not redrawing the analog "stick", there is a noticeable performance improvement on some devices.  I'll be using this layout by default until I develop a faster way to redraw the onscreen gamepad (probably using GLES directly rather than the Android API in Java).

Is there a way to use the analog style control instead of the one with no analog?
Yes, you can edit the file [sdcard]/app-data/paulscode.android.mupen64plus/skins/gamepads/gamepad_list.ini.  Move the layout you want to use to the top of the list.  Choose one of the "analog" layouts instead of the "touch" layouts (probably Mupen64Plus-AE-Analog).  This will be a function of the GUI, but for now the layout has to be chosen using the config file.  You can also iterate through the layouts with the search button if your device has one, but there is a bug with that (where the buttons disappear and the analog control freezes and gets drawn to the wrong part of the screen)

is there a way to see fps? i'm trying to find out how to improve performance
For now, FPS is being written to the logcat output every 30 frames.  The next official build will have an optional FPS object that you can add to the gamepad layouts, which can be turned on or off from a GUI option.  The syntax will look like this (in the layout's pad.ini file):

Code: [Select]
[FILENAME]
info=FPS
x=0
y=0
refresh=30

That would put the FPS at the top-left of the screen and it would refresh every 30 frames.  Filename will be a .PNG file to use for the background of the FPS counter (can be completely transparent for no background), and the numbers will be centered on that image.

this emulator is a pre alpha, IT'S GOING TOO FINE
Well the project has progressed quite a bit.  When this phase of testing began, the graphics were completely screwed up, it crashed after running for a minute, there was no way to map non-standard Android buttons, etc (read the first post in this thread to see all the problems that have been fixed).  It is nearing the end of what I'm calling the "alpha-testing phase" - I just want to have a working GUI in place first.  The beta-testing phase will mainly focus on ROM-specific and video plug-in problems (the alpha-testing phase has been mainly focused on getting the basic skeleton of the emulator in place, and getting the plug-ins to emulate Mario64 as accurately as possible on as many devices as possible)
« Last Edit: November 12, 2011, 09:18:42 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 Vincentmrl

  • Cyan Team
  • long
  • *
  • Posts: 121
    • View Profile
Re: Alpha Testing Underway!
« Reply #121 on: November 12, 2011, 12:13:55 PM »
all paul said
That's awesome, i never saw an emulator with all that support!
by the way i can't seem to set hardware buttons becuse the code doesn't show, what happened? it was working in older builds (in fact i found this emulator yesterday from the XDA developers forum, and i see all the changes from that version to this) and in order to play mario 64 better, i need to bind the a button and z button, i'm currently testing all mario 64 (completing all the game) to check if there are any bugs, i really want to support this emulator in any way, but i can help just with ideas or doing buttons with vectorial programs, i think this will be the best android n64 emulator ever :D
Device: Lg Optimus One
CPU: 600 Mhz ARMv6 (Overclocked to 748Mhz ondemand governor)
GPU: Qualcomm Adreno 200
RAM: 512 MB
Resolution: 320 x 480
Rom: Unofficial Cyanogenmod 9

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: Alpha Testing Underway!
« Reply #122 on: November 12, 2011, 12:21:12 PM »
Quote
by the way i can't seem to set hardware buttons becuse the code doesn't show, what happened?

you need the SDL scancode finder from the first post. just run it to find out the keycodes.

Offline Vincentmrl

  • Cyan Team
  • long
  • *
  • Posts: 121
    • View Profile
Re: Alpha Testing Underway!
« Reply #123 on: November 12, 2011, 01:26:23 PM »
Quote
by the way i can't seem to set hardware buttons becuse the code doesn't show, what happened?

you need the SDL scancode finder from the first post. just run it to find out the keycodes.


Thanks, this will speed up my SM64
---
I just found out why the sound gets these "spikes": this happens when the emulator lags, this could be fixed eith a plugin similiar as pcsx2's sound plugins (there's one letting you get normal speed audio even if the game lags, but it could crash games)
P.s:because i own a n64  and i own 3 of the most selled games (sm64, mario kart 64 and 007 goldeneye)+ other famous games i could test, i could compare the ones on the console and the ones on the android to check bugs :D
Device: Lg Optimus One
CPU: 600 Mhz ARMv6 (Overclocked to 748Mhz ondemand governor)
GPU: Qualcomm Adreno 200
RAM: 512 MB
Resolution: 320 x 480
Rom: Unofficial Cyanogenmod 9

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #124 on: November 12, 2011, 03:35:56 PM »
I just found out why the sound gets these "spikes": this happens when the emulator lags, this could be fixed eith a plugin similiar as pcsx2's sound plugins (there's one letting you get normal speed audio even if the game lags, but it could crash games)

I'm not sure how that would work - the gaps are due to the fact that the audio is playing at a faster rate than the emulation can keep up with.  I could buffer the audio, but then you don't just have to deal with latency depending on the size of the buffer, but the buffered audio will still continuously "catch up" to the emulation and have to be re-buffered, causing fewer larger gaps in the audio instead of numerous smaller gaps.  The only other implementation I can think of would be to dynamically change the sample-rate of the audio playback, so that it always matches the emulation speed, but that could get really annoying for games where the frame-rate changes a lot depending on the 3D scene like Zelda64 (the music would be constantly changing pitch).  Ultimately, I think the only acceptable way to solve this is to just keep adding optimizations to the emulator over time, until it runs most games at full-speed so there aren't audio spikes in the first place.
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: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #125 on: November 12, 2011, 04:07:07 PM »
I think I've figured out how to solve the black-screen on return bug.  I believe I can keep the thread that's running the emulator separate, recreate the SDLSurface from scratch, and hand it the emulator's thread.  This will create a new EGL context, so I'll need to figure out how to make sure the video plug-in can still link with it.  I'll see how it turns out..
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: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #126 on: November 12, 2011, 08:56:19 PM »
Aha!  I got it working.  It doesn't always behave the way I want it to yet, but it resumes, which was the main snag I've been dealing with.  I ended up having to do a save-state and shut down the core entirely.  Then I recreate the SDL context on resume, start the emulator, and load-state.  It's a bit sluggish, but it works.  I'll come back to this at some point in the future, because I am sure it is possible to do this by just pausing the emulator rather than going through the whole complex thing.  But it's good enough for now - I can finally move on to other parts of the GUI.

Before I get too excited, though, I better have some folks test this on other phones to make sure it doesn't have that ANR crash bug (in particular on Tegra 2, but potentially on some other devices like the Xperia Play which are more sensitive to delays in the main UI thread than my Droid X is).

Resume App Test

Provide the logcat output after doing the following test:
1) Run the app and let it load for a bit
2) Press the "Home" button
3) Relaunch from the status-bar
4) Press the "Menu" button and choose "Close"
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 xperia64

  • Moderator
  • double
  • *****
  • Posts: 591
    • View Profile
    • My Apps
Re: Alpha Testing Underway!
« Reply #127 on: November 12, 2011, 09:27:12 PM »
See what you can get from this. I triee multiple times and when.u reload it the first time from the status bar it crashes but every time. After that it loads the auto save thing. Save states work

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: Alpha Testing Underway!
« Reply #128 on: November 13, 2011, 12:23:44 AM »
ok

tegra 2 tablet and phone with rice plugin.
after pressing home, the sound continues. go back to app, no menue. then the app shuts down with fc.
if i start the game again, it doesn't begin with mario's face, it starts in the menue screen.

logcat tablet
http://db.tt/La8TwyqL

traces.txt
http://db.tt/rvK45tgP

logcat from gles2n64
http://db.tt/C6lwE424

on sgs2 :
it's the same bug.
logcat exynos_mali
http://db.tt/HoCUiJNC

taces.txt
http://db.tt/IsB5WEOd

logcat from gles2n64
http://db.tt/C6lwE424

it works only with gles2n64
« Last Edit: November 13, 2011, 01:29:07 AM by scorpio16v »

goodboy735

  • Guest
Re: Alpha Testing Underway!
« Reply #129 on: November 13, 2011, 01:29:43 AM »
HTC Aria:
gles2n64: resumes fine
gles2rice:
With it running I hit home, it closes with the notification there and if I hit it right after, it reloads the game and resumes.. but if I wait at the homescreen for a bit, I hear the audio resume, and when I tap the notification it instantly resumes already loaded (with the audio playing)...
Either way, when it resumes input doesn't work and android pops up with the not responding box after a bit (even though its rendering video and sound).. if I force close it the notification is still there, and when tapped on it loads and resumes with input working fine..

Logcat: http://dl.dropbox.com/u/1077120/mupentesting/logcat_resumetest.txt

Hope this was easy enough to read :P I can probably record a video if needed..

E: just tried this on the Moto Flipside and rice doesn't even load! black screen...sound doesn't start either. Onscreen controls and GUI are fine.. resuming still acts the same as the Aria...
Logcat from Flipside starting up with rice plugin: http://dl.dropbox.com/u/1077120/mupentesting/logcat_flipside_rice.txt


« Last Edit: November 13, 2011, 02:06:59 AM by goodboy735 »

Offline Mats

  • int
  • **
  • Posts: 65
    • View Profile
Re: Alpha Testing Underway!
« Reply #130 on: November 13, 2011, 04:25:07 AM »
it doesn't start could you make the same test without the rice plugin : )

Offline scorpio16v

  • long
  • ***
  • Posts: 203
    • View Profile
Re: Alpha Testing Underway!
« Reply #131 on: November 13, 2011, 04:33:05 AM »
if you didn't enable the rice plugin, libgles2n64.so is selected as default.
if you have enabled rice, you must change the config, like you did before.
it's well explained in the first post.

Offline Mats

  • int
  • **
  • Posts: 65
    • View Profile
Re: Alpha Testing Underway!
« Reply #132 on: November 13, 2011, 04:35:56 AM »
if you didn't enable the rice plugin, libgles2n64.so is selected as default.
if you have enabled rice, you must change the config, like you did before.
it's well explained in the first post.
paul says it takes to much memory to loade both. and i need to wait to the GUI is finish.
« Last Edit: November 13, 2011, 04:46:46 AM by Mats »

Offline Epic_bubble

  • long
  • ***
  • Posts: 235
    • View Profile
Re: Alpha Testing Underway!
« Reply #133 on: November 13, 2011, 05:42:24 AM »
Seems to work for me but only every second time. First time I tap the status bar icon it just seems to hang for a second and kicks me back to the homescreen and the second time it works and reloads the save state. The close option in the emulator also works fine.
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 Paul

  • Administrator
  • double
  • *****
  • Posts: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: Alpha Testing Underway!
« Reply #134 on: November 13, 2011, 06:36:27 AM »
Wow, gotta love all the different behaviors.  I'm pretty sure this is all related to that ANR bug, which either causes a crash or a restart (which screws with the desired behavior).  I'll see if there is any way to speed up the process or move things to a separate thread.  Sure would be nice if at least the base operating system would behave consistently on different devices..
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