Emuforums.com

Go Back   Emuforums.com > PS2 Emulation > PS2 Plugin Questions & Plugin Troubleshooting
Home Register Downloads FAQ Members List Calendar Arcade Mark Forums Read


Reply
 
LinkBack Thread Tools Display Modes
Old April 13th, 2007   #21 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
Hmm...That's really odd. It could be I'm just being way too sensitive with the sticks. Not sure why you can't set the d-pad. I assume you've tried the d-pad both as a button and as an axis?

Here's another dll with the binding sensitivity fiddled with slightly. See if it helps (Probably won't). If not, generate a debug file with the newly added button and post that (The debug file will appear in the PCSX2 directory).

Edit: When you have one axis bound and then bind another, does the axis description display the correct axis name? Also, does the d-pad only send 1 bit of information per axis? (That is, ignoring horizontal movement, you're either moving up, down, or not moving vertically. No half speed, etc. ok...that's more than one bit)

<Attachment superseded>

Last edited by ChickenLiver; April 15th, 2007 at 21:50..
ChickenLiver is offline   Reply With Quote

Advertisement [Remove Advertisement]
Old April 14th, 2007   #22 (permalink)
Windows 7 x64
 
Join Date: Jul 2002
Location: Bay Area, California
Posts: 1,095
I tried the pad in analog and digital mode. In both modes the sticks and d-pad are not recognized by the plugin.

Here's the relative part of the debug file.
---
Device 2: DX Saitek P990 Dual
Analog Pad
Abs Axis 0: Y Axis
Abs Axis 4: X Axis
Abs Axis 8: Z Axis
Abs Axis 12: Z Rotation
POV 16: Hat Switch
Button 20: Button 0
Button 21: Button 1
Button 22: Button 2
Button 23: Button 3
Button 24: Button 4
Button 25: Button 5
Button 26: Button 6
Button 27: Button 7
Button 28: Button 8
Button 29: Button 9
Button 30: Button 10
Button 31: Button 11
Button 32: Button 12
Button 33: Button 13
---
*HERE* is a screenshot of the setup that resulted in that file.

If I set an axis with "Vert Axis" or "Horiz Axis" it has a Button/Axis name of "Object 275" and does show the proper control (ie. L-Stick Vert for Vert Axis left stick). It will overwrite with any new axis I attempt to define.
__________________
-SSZ
S.SubZero is offline   Reply With Quote
Old April 14th, 2007   #23 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
Hmm...Looks like you're running into two bugs. One with my handling of POV controls (The d-pad) and one with my axis code. Skimming over the code, I can't find an obvious cause of either issue.

I'll spend more time on it later. That 275, in particular, is really odd. Do any of your other listed devices have an object numbered 275 (The number before the colon)? I may have to make a special debug version or two to figure this out. Wish I had a similar device to test on.
ChickenLiver is offline   Reply With Quote
Old April 14th, 2007   #24 (permalink)
Windows 7 x64
 
Join Date: Jul 2002
Location: Bay Area, California
Posts: 1,095
No the Object 275 is only for the axis when I try to set it. Every other button except the d-pad seems to properly map. I only intend to use gamepad so I have not set any keys or mouse things.

If it helps any, I tried this on my other PC, and that PC is a completely different architecture (laptop vs. desktop), a different OS (Vista x64 vs. XP64) using a different controller (logitech dual action) and I got *identical* results.
__________________
-SSZ

Last edited by S.SubZero; April 14th, 2007 at 22:50.. Reason: Automerged Doublepost
S.SubZero is offline   Reply With Quote
Old April 15th, 2007   #25 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
I tried simulating what was going on, but everything was behaving correctly, so that means the issue is probably with my direct input code, as opposed to my interface code. Here's a version that generates a binary file whenever you bind an axis. The binary file just contains a binary list of objects for the relevant device and a copy of the state of all buttons at the moment of binding. It also outputs some data when updating the list of bound controls.

Replace your dll, delete/remove/rename LiliPad.ini so I don't have to navigate through the output from loading your button bindings, and try binding analog axes twice. Use different physical axes on your pad each time. Then try binding the d-pad, and post the resulting debug.bin file. For consistency, use the Saitek controller.

Also, when you try and bind the d-pad, does it recognize any axis as being active? That is, if you try and bind the d-pad, then move an analog axis around, does it (try to) bind the analog axis or not? If it doesn't even recognize the d-pad as moving, then when you try and bind the d-pad hold the d-pad down in any direction, and then move an analog axis, so output is added to the debug file.

<Attachment superseded>

Last edited by ChickenLiver; April 15th, 2007 at 21:51..
ChickenLiver is offline   Reply With Quote
Old April 15th, 2007   #26 (permalink)
Windows 7 x64
 
Join Date: Jul 2002
Location: Bay Area, California
Posts: 1,095
*HERE* is the bin file.

When I try to bind any button on the d-pad, it ignores the input. If I try to bind the d-pad's vert or horiz axes buttons it binds, but again it will only bind one at a time. If I try to bind any other axis on any other part of the controller it overwrites the current one.

If I try to bind either the d-pad or either analog sticks' specific directions, the debug.bin file does not change.
__________________
-SSZ
S.SubZero is offline   Reply With Quote
Old April 15th, 2007   #27 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
Ok...I found at least one problem, thanks to that file. Not only was I being too sensitive, I was being *way* too sensitive. When you were binding a single axis I detected movement on all 4 axes beyond my threshold (One was 1000 times higher, and the others merely 4 times higher), so I was always just taking the first axis. See if this works. It still generates the debug.bin file, as I might need one for your d-pad or if my fix doesn't work.

<Attachment outdated>

Last edited by ChickenLiver; April 20th, 2007 at 23:50..
ChickenLiver is offline   Reply With Quote
Old April 15th, 2007   #28 (permalink)
Registered User
 
Join Date: Apr 2007
Location: UK
Posts: 25
Quote:
Originally Posted by ChickenLiver View Post
Ok...I found at least one problem, thanks to that file. Not only was I being too sensitive, I was being *way* too sensitive. When you were binding a single axis I detected movement on all 4 axes beyond my threshold (One was 1000 times higher, and the others merely 4 times higher), so I was always just taking the first axis. See if this works. It still generates the debug.bin file, as I might need one for your d-pad or if my fix doesn't work.
Gave this new file a go to see if it sorted out the problem I had per chance - but no it didn't.

Hope S.SubZero gets more luck out of it.
EscCtrl is offline   Reply With Quote
Old April 15th, 2007   #29 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
Doh...Thought that'd fix it. Mind posting your resulting debug.bin?
ChickenLiver is offline   Reply With Quote
Old April 16th, 2007   #30 (permalink)
Windows 7 x64
 
Join Date: Jul 2002
Location: Bay Area, California
Posts: 1,095
I can now get the axis of the analog sticks to map. Sort of. The vertical only seems to accept up, and not down. Left and right work ok. The d-pad is less functional, it will accept one axis only (overwrites), and even tho I set the axis, it ignores it in the actual emulator.

I have replaced the debug.bin in the link in my previous post with the newest one I have made.
__________________
-SSZ
S.SubZero is offline   Reply With Quote
Old April 16th, 2007   #31 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
S.SubZero: That's how the d-pad should work, in terms of configuration actually...I map one input object to one PS2 button/axis. The d-pad is a single "hat" object. It just gives a direction. You should map it to the d-pad horizontal axis, and it will automatically map the vertical axis (Without displaying anything about it). You may have to flip the axis to get up/down working correctly. Ignoring the d-pad in the actual emulator is, of course, a bug.

Not sure why left was working. Think I've now fixed both bugs.

Edit: You may need to set sensitivity to 2 or 4 for things to work out right. I'll add in the needed factor in my next release, once I figure out which it is. Probably 4.

EscCtrl: I assume this still does not work for you? You go to pad 1, click on an axis/button, move an axis/press the button, and nothing at all happens? Not sure what would cause that. I'll look at it some more when I have time.

<Broken -> Attachment nuked>

Last edited by ChickenLiver; April 16th, 2007 at 12:23..
ChickenLiver is offline   Reply With Quote
Old April 16th, 2007   #32 (permalink)
Windows 7 x64
 
Join Date: Jul 2002
Location: Bay Area, California
Posts: 1,095
This one is having worse results. In my test game (Capcom Vs. SNK 2), it just scrolls horizontally out of control through the main menu to the right. I even removed the horizontal axis for both analog sticks and it still does it. With the horiz axis for the left analog stick I can interact with it by nudging the stick left but it can't stop.

According to Vista's game controller properties the gamepad is centered properly.

I updated the debug.bin file again.
__________________
-SSZ

Last edited by S.SubZero; April 16th, 2007 at 11:58..
S.SubZero is offline   Reply With Quote
Old April 16th, 2007   #33 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
Oops. Left in a debug statement making the d-pad always return 0 (right). At least that means the d-pad should do something now. Removed that. (Also removed the "debug.bin" stuff, as it's no longer relevant...until someone else has a binding problem).

<Attachment superseded>

Last edited by ChickenLiver; April 17th, 2007 at 12:29..
ChickenLiver is offline   Reply With Quote
Old April 16th, 2007   #34 (permalink)
 
shafeen's Avatar
 
Join Date: Aug 2006
Location: india<<hyderabad..it rocks>>
Posts: 2,770
this is a very good plugin i love it .thanks
__________________


Quote:
and if I don't care , do I still get to suck your scrotum? please say yes xp
^^posted by sonic

shafeen is offline   Reply With Quote
Old April 16th, 2007   #35 (permalink)
Windows 7 x64
 
Join Date: Jul 2002
Location: Bay Area, California
Posts: 1,095
The analog sticks now appear to be working as intended. This is awesome. The d-pad is CLOSE.. I got horizontal working, but vertical is backwards. Up is down and down is up!

I did notice in CvsSNK2 that the analogs don't do diagonal.. at all.. but I don't know if that's a game thing. The only other game I have that PCSX2 likes, Pac-Man World 2, seemed to behave better with diagonals, tho the game runs so slow it might just be how I perceive it.
__________________
-SSZ
S.SubZero is offline   Reply With Quote
Old April 16th, 2007   #36 (permalink)
Registered User
 
Join Date: Apr 2007
Location: UK
Posts: 25
RapidShare: 1-Click Webhosting

^ debug.bin ^
EscCtrl is offline   Reply With Quote
Old April 16th, 2007   #37 (permalink)
代言人
 
Fadingz's Avatar
 
Join Date: Dec 2006
Location: 應許之地
Posts: 5,125
sounds nice, I 'll try it when I wanna replay a PS2 game (or a new game)
__________________

Quote:
Originally Posted by Fadespear
Neither a borrower nor a lender be; For loan oft loses both itself and friend, and borrowing dulls the edge of biniantry.
My deviantART~

QX9650 @ 4.0GHz | 4x G.Skill 2GB DDR2 1066 | Vista 64 Ultimate | Quadro FX4600 (similar to 8800GTX) | X-Fi Elite Pro | SAMSUNG 2253BW | Cosmos S | ASUS RAMPAGE FORMULA | 2x 150GB Raptor X RAID0 | ThermalTake ToughPower 850W | ZEROtherm Nirvana
Fadingz is offline   Reply With Quote
Old April 16th, 2007   #38 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
EscCtrl: Hmm...Nothing useful there (Only input from your mouse). Looks like I'm just not capturing the direct input data from your converter at all, which is exactly what your comments would suggest. Just need to figure out why...

S.SubZero: You could just check the flip axes button, and it'd fix that. Anyways, it's fixed in the attached file (Which I'll play with a bit more and make an official release of, unless you encounter any other problems with it).

I'm not sure why you're having issues with diagonals. I simulated them, and it looks like I'm doing everything correctly. Do the arrow keys handle diagonals properly in CvsSNK2 if you bind them to the d-pad?

To check my processing of diagonals, you could enable logging and look at the output, if you so desire. If your game supports dual shock controllers in full analog mode, you'll get lines like:

00 42 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 <-- Input request
FF 79 5A FF FF 7F 7F 7F 7F 00 00 00 00 00 00 00 00 00 00 00 00 <-- My response

The 4 bold 00s are the d-pad. If 2 of them are non-zero, you're (I'm?) sending diagonals correctly. If you aren't in full dual shock mode, you'll get a lot fewer numbers (None of the extra 0's and possibly not the 7F's. The 79 will be 41 or 73, depending on if it's in digital or analog mode). In that case, the value where the bold F is will indicate if you're moving diagonally. If two bits of it are 0 instead of 1, you are moving diagonally (1 means up, 0 means down). A value of 6 would be up and to the left. If you don't know how binary/hex work, don't bother with it.

Probably simplest to just bind arrow keys to the d-pad and see if that works instead of playing with logging.

Edit: Oops. Forgot to attach the file.

<Attachment superseded>

Last edited by ChickenLiver; April 20th, 2007 at 22:27..
ChickenLiver is offline   Reply With Quote
Old April 17th, 2007   #39 (permalink)
Windows 7 x64
 
Join Date: Jul 2002
Location: Bay Area, California
Posts: 1,095
If I choose "flip axis" the horizontal will work right but the vertical will not.

If I try to set the d-pad Vert Axis it will not accept "up" as input, I can only tap down.
__________________
-SSZ
S.SubZero is offline   Reply With Quote
Old April 19th, 2007   #40 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
Flip was flipping the wrong axis (Horizontal instead of Vertical. Supposed to only flip vertical. I'll probably add another button to flip horizontal only). Anyhow, try this. When you bind a hat switch it will label it "d-pad" or "d-pad (rotated)" based on which direction you bind and which direction you move the d-pad when binding. Also fixed the up binding issue.

<Debug version superseded by file in original post>

Last edited by ChickenLiver; May 15th, 2007 at 07:03..
ChickenLiver is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 05:23.

© 2006 - 2008 Emu Forums | About Emu Forums | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.7.6
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5