Author Topic: "A" Button Not Functioning When Using Joystick  (Read 5713 times)

Offline Brock

  • byte
  • *
  • Posts: 27
    • View Profile
"A" Button Not Functioning When Using Joystick
« on: January 01, 2012, 09:33:13 PM »
Tech Info:
LG Optimus One
CPU: Qualcomm S1 MSM7227 600MHz *Overclocked to 729MHz*
ROM: Megatron v.1
OS: 2.2 Froyo

App version: 1.2

I gladly donated the 1$ at the market for this app, I was so happy to know someday I would be able to play all my favorite N64 games on my phone.  :)

Anyway the most games run very slowly 5-10FPS, and I know my phones not the best out right now. lol
I do hope to see performance improvement. Here's a problem I noticed, in Super Mario 64 when I am using the on screen joystick I am unable to jump using the A button on the screen, the B button seems to be fully functional when using the on screen joystick. I have the same problem in Mario Kart.

Also I would like to mention that I have my processor overclocked to 729MHz, I also see improved framerate when it is overclocked to 748MHz, that surprised me, I get about 2-3 extra frames per second although my phone is very unstable when overclocked to 748MHz.

I would like to recommend a PayPal donate button to the site, I would gladly donate to help you continue to develop this app.

Thanks!

Device: Samsung Galaxy S2
CPU: 1.5 GHz Dual Core  Snapdragon S3
RAM: 1GB
Resolution: 800 x 480
Rom: 4.1.2 Jelly Bean Stock

Device: Mach Speed Trio Stealth G2
CPU: 1.5 GHz Dual Core ARM Cortex-A9
RAM: 1GB DDR3
Resolution: 800x480
Rom: 4.0.4 ICS Stock

Device: Mach Speed Trio
CPU: 1.2 GHz Boxchip A13
RAM: 512MB DDR3
Resolution: 480x272
Rom: 4.0.4 ICS Stock

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: "A" Button Not Functioning When Using Joystick
« Reply #1 on: January 01, 2012, 09:59:11 PM »
Here's a problem I noticed, in Super Mario 64 when I am using the on screen joystick I am unable to jump using the A button on the screen, the B button seems to be fully functional when using the on screen joystick. I have the same problem in Mario Kart.

Hmm, that is very odd that the one button works but not the other.  I suppose there could be something wrong with the mask color picking code or something (the read pixel method is buggy in Android, so this seems like the likely culprit).  I'll put together a verbose test for you to run tomorrow to see where the breakdown is occurring.

I would like to recommend a PayPal donate button to the site, I would gladly donate to help you continue to develop this app.

I'm already getting way more in donations from the Android Market than I feel comfortable with, given the incomplete state the emulator is currently in (over 5,000 purchases in only a couple weeks between the two versions of the app that are posted).  I already have enough to put into some various hardware that I wanted to get for testing.  The rest I'll be donating back to the various projects and developers I borrowed code from.  The emulator itself was never intended to be a money-making venture.. I want it to be a community-driven project with multiple developers, artists, and testers contributing to it.  Once the emulator is at a more presentable state in like a year or so, I do plan to sell some nice closed-source front-ends for it on the market, but until then I don't feel comfortable making money off of other people's work (at least 95% of this project was written by other people - I just brought all the components together).
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 Brock

  • byte
  • *
  • Posts: 27
    • View Profile
Re: "A" Button Not Functioning When Using Joystick
« Reply #2 on: January 01, 2012, 10:20:11 PM »
Here's a problem I noticed, in Super Mario 64 when I am using the on screen joystick I am unable to jump using the A button on the screen, the B button seems to be fully functional when using the on screen joystick. I have the same problem in Mario Kart.

Hmm, that is very odd that the one button works but not the other.  I suppose there could be something wrong with the mask color picking code or something (the read pixel method is buggy in Android, so this seems like the likely culprit).  I'll put together a verbose test for you to run tomorrow to see where the breakdown is occurring.

I would like to recommend a PayPal donate button to the site, I would gladly donate to help you continue to develop this app.

I'm already getting way more in donations from the Android Market than I feel comfortable with, given the incomplete state the emulator is currently in (over 5,000 purchases in only a couple weeks between the two versions of the app that are posted).  I already have enough to put into some various hardware that I wanted to get for testing.  The rest I'll be donating back to the various projects and developers I borrowed code from.  The emulator itself was never intended to be a money-making venture.. I want it to be a community-driven project with multiple developers, artists, and testers contributing to it.  Once the emulator is at a more presentable state in like a year or so, I do plan to sell some nice closed-source front-ends for it on the market, but until then I don't feel comfortable making money off of other people's work (at least 95% of this project was written by other people - I just brought all the components together).

I'll check back tomorrow, I defiantly would like to track down this bug.
I'll do some more testing tonight as well.

I'm glad you are able to give back to the community and further you development without the need for larger donations. I think most people would be more than happy to donate the 1$ through the market. I'm glad this app is so successfully. :)

Thanks Paul!

EDIT:

I forgot to mention I am using the Redraw All function, could this be the problem maybe?

EDIT 2:

I did a few tests with the "Redraw All" function on. It seems that the A button does work but it isn't very sensitive so it's works about half the time and you have to hit it just right. Is my screen the culprit or is there any way to increase the sensitivity without causing problems for other phones? Possibly add an option to increase or decrease sensitivity in the settings?
« Last Edit: January 01, 2012, 10:50:22 PM by Brock »
Device: Samsung Galaxy S2
CPU: 1.5 GHz Dual Core  Snapdragon S3
RAM: 1GB
Resolution: 800 x 480
Rom: 4.1.2 Jelly Bean Stock

Device: Mach Speed Trio Stealth G2
CPU: 1.5 GHz Dual Core ARM Cortex-A9
RAM: 1GB DDR3
Resolution: 800x480
Rom: 4.0.4 ICS Stock

Device: Mach Speed Trio
CPU: 1.2 GHz Boxchip A13
RAM: 512MB DDR3
Resolution: 480x272
Rom: 4.0.4 ICS Stock

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: "A" Button Not Functioning When Using Joystick
« Reply #3 on: January 02, 2012, 02:44:47 PM »
It's strange that only the A button is affected.  Perhaps it is because of the proximity to the edge of the screen.  Do you have the same issue with the C-right button?

What is your screen resolution, and which gamepad skin do you have selected?  I'll try putting together a slightly different button layout/ size for you to try to see if it helps any.
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 Brock

  • byte
  • *
  • Posts: 27
    • View Profile
Re: "A" Button Not Functioning When Using Joystick
« Reply #4 on: January 02, 2012, 06:23:11 PM »
It's strange that only the A button is affected.  Perhaps it is because of the proximity to the edge of the screen.  Do you have the same issue with the C-right button?

What is your screen resolution, and which gamepad skin do you have selected?  I'll try putting together a slightly different button layout/ size for you to try to see if it helps any.

Screen Resolution: 320 x 480 pixels
Skin Settings:
*Redraw All = Off
*Accurate N64 Stick = On
*Display FPS = On
Skin: Mupen64Plus-AE-Analog-Small

I updated my OS to 2.3.4 last night and I no longer need the Redraw All option on.

The right C button appears to be functioning while using the joystick in Super Mario 64.
When using Mupen64Plus-AE-Analog skin the B button is cut off by the joystick and the B button overlaps the left C button.
When using Mupen64Plus-AE-Touch skin the B button overlaps the left C button.

The larger buttons work very well on my screen, especially the A button. :)
Device: Samsung Galaxy S2
CPU: 1.5 GHz Dual Core  Snapdragon S3
RAM: 1GB
Resolution: 800 x 480
Rom: 4.1.2 Jelly Bean Stock

Device: Mach Speed Trio Stealth G2
CPU: 1.5 GHz Dual Core ARM Cortex-A9
RAM: 1GB DDR3
Resolution: 800x480
Rom: 4.0.4 ICS Stock

Device: Mach Speed Trio
CPU: 1.2 GHz Boxchip A13
RAM: 512MB DDR3
Resolution: 480x272
Rom: 4.0.4 ICS Stock

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: "A" Button Not Functioning When Using Joystick
« Reply #5 on: January 02, 2012, 06:54:41 PM »
Ok, I'll write a special small skin that has larger A and B buttons for devices that have the same problem.
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 Brock

  • byte
  • *
  • Posts: 27
    • View Profile
Re: "A" Button Not Functioning When Using Joystick
« Reply #6 on: January 02, 2012, 07:08:02 PM »
Thanks Paul for all your help!  ;D
Device: Samsung Galaxy S2
CPU: 1.5 GHz Dual Core  Snapdragon S3
RAM: 1GB
Resolution: 800 x 480
Rom: 4.1.2 Jelly Bean Stock

Device: Mach Speed Trio Stealth G2
CPU: 1.5 GHz Dual Core ARM Cortex-A9
RAM: 1GB DDR3
Resolution: 800x480
Rom: 4.0.4 ICS Stock

Device: Mach Speed Trio
CPU: 1.2 GHz Boxchip A13
RAM: 512MB DDR3
Resolution: 480x272
Rom: 4.0.4 ICS Stock

Offline Paul

  • Administrator
  • double
  • *****
  • Posts: 3499
  • Developer
    • View Profile
    • PaulsCode.Com
Re: "A" Button Not Functioning When Using Joystick
« Reply #7 on: January 05, 2012, 07:50:09 PM »
Ok, I've created the new layouts, with the larger A and B buttons (its a bit crammed, but it all fits):

Optimus One, Analog

Optimus One, Touch

Optimus One, Digital


To add a skin to the list in the emulator's menu:
1) Download the zip file to your computer and unzip it (alternately you can do all this from the phone, but it is easier from a computer, IMO).
2) Connect your device by USB to your computer in "USB Mass Storage Device" mode.
3) Browse the device and navigate to the folder "Android/data/paulscode.android.mupen64plus/skins/gamepads/"
4) Copy/Paste the entire folder that you unzipped in step one (should be called something like "Optimus-One-Analog")
5) Open the file gamepad_list.ini in a text editor (such as notepad or gedit)
6) Add the name of the folder from step 4 to the list (be careful, it is case-sensitive)
7) Save, and "safely remove drive"
8) Switch the device's USB mode to "Charge Only" (or unplug it from the computer)
9) If there were no problems, it should now appear in the list

Let me know if you run into any problems.  In the next update I will add an "Import" option that will automate the whole process, but for now you just have to manually paste the new folder and add it to the gamepad list.
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 Brock

  • byte
  • *
  • Posts: 27
    • View Profile
Re: "A" Button Not Functioning When Using Joystick
« Reply #8 on: January 05, 2012, 09:30:24 PM »
I added the new skins to my device. It is a lot easier to control, especially in Mario Kart.  I've done a little more testing and I have found the problem, it was the actual problem that I was having but I wasn't able to figure it out before. Okay here's the problem on my device, When moving in any forward direction or sideways on the joystick causes the A button to not function. When moving down left/right or just straight down the A button is 100% functional. I have tested and confirmed this problem in Mario 64 and Paper Mario using my LG Optimus One. I really like the custom skin you posted, it lessens the strain on the thumb and is way easier to use. Thank you so much Paul!  :)
Device: Samsung Galaxy S2
CPU: 1.5 GHz Dual Core  Snapdragon S3
RAM: 1GB
Resolution: 800 x 480
Rom: 4.1.2 Jelly Bean Stock

Device: Mach Speed Trio Stealth G2
CPU: 1.5 GHz Dual Core ARM Cortex-A9
RAM: 1GB DDR3
Resolution: 800x480
Rom: 4.0.4 ICS Stock

Device: Mach Speed Trio
CPU: 1.2 GHz Boxchip A13
RAM: 512MB DDR3
Resolution: 480x272
Rom: 4.0.4 ICS Stock