Emuforums.com

Go Back   Emuforums.com > PS2 Emulation > PCSX2 Forum
Home Register Downloads FAQ Members List Calendar Arcade Mark Forums Read


Reply
 
LinkBack Thread Tools Display Modes
Old January 9th, 2008   #1 (permalink)
Registered User
 
Join Date: Jan 2008
Location: New York
Posts: 7
Looking for specific Guitar Hero information...

I scoured the net for info, but was at a loss to find out what my problems may be or how I can solve them.

I am trying to use the 360 Guitar Hero controller through Windows to play GH on pcsx2. I know tat the PS2 controller has been buggy, so I wanted to try this out thinking (ignorantly, probably) that perhaps no one else had explored this. Windows has correctly identified it as a joystick and after two hours of tweaking, I have been able to use the MegaPad.dll controller plugin to detect the fret buttons as well as Start and Select ("back" on the controller).

For a while I was having a problem using SSSPSX "Pressure" pad plugin because it was detecting the Z and Y axes (Star power and one other) as registering even when the controller was still. This would still happen when using the MegaPad.dll plugin, however the delay in detection was enough that a quick button press after detection began would cause it to pick up what I wanted.

Anyways, my problem is this: the MegaPad.dll plugin doesn't seem to want to detect the strum bar OR the D-Pad when I try using it. Frets On Fire of course has worked fine with this so far detecting both the up and down strums as well as all directions on the D-Pad.

Does Anyone know about this? I was thinking that perhaps the fret buttons and the strum bar/D-pad are classified into some kind of "non-standard" category under windows rather than just being regular buttons. Can anyone think of a way around this? At this point I was thinking of getting some kind of a program that would map joystick buttons to keyboard presses and use those to control the game, however that would mean no whammy and a boring Star Power!

Does anyone have any thoughts on what I might use to pick up the strum bar or D-Pad within pcsx2?

FOR REFERENCE: MegaPad.dll v1.2 (or whatever new version) is what I am using. I have tried ZeroPad 0.1.0, PADwin keyb 4.0 (which only supports keyboard input) and SSSPSX PAD Plugin Pressure Mod 1.6.0.

EDIT: THE SSSPSX PAD pressure mod 1.7.0M picks up the strum bar and the D-PAD, but not the buttons before it detects the axes!!!! <8^0

Last edited by coolcool23; January 10th, 2008 at 00:32..
coolcool23 is offline   Reply With Quote

Advertisement [Remove Advertisement]
Old January 10th, 2008   #2 (permalink)
On the Side Programmer
 
gamersat678's Avatar
 
Join Date: Nov 2007
Location: In the Neighbor's Trash Can (USA)
Posts: 494
I use Lilypad. Megapad is great and all but Lilypad is the favored plugin for almost every PCSX2 user.
__________________
Primary: Core 2 Duo E4300 OC 2.0 ghz, 3 gb DDR II ram, Extinct OC XFX 7900GS 580/745 Now Have OC BFG 9800GT
Secondary: Mod P4 HT 3.18ghz, 1.5gb ram, AGP HIS Radeon X1650 Pro IceQ II / 512MB

Need To Post a Bug? Use This Program PCSX2 Bug Reporter
My Web if anyone cares
gamersat678 is offline   Reply With Quote
Old January 10th, 2008   #3 (permalink)
Registered User
 
Join Date: Jan 2008
Location: New York
Posts: 7
Oh, Man, you just made my life awesome! Lily Pad seems to be working perfectly by mapping the 360 guitar's controls, THANKS!
coolcool23 is offline   Reply With Quote
Old March 11th, 2008   #4 (permalink)
Registered User
 
Join Date: Mar 2008
Location: Sweden
Posts: 1
Did it work?!

Hi coolcool23

If I get it right, you managed to get all controls of the XBOX 360 guitar to work on pscsx2?

I´m really a newbee in this world, my ambition is to do exactly the same thing as you - get Xbox 360-guitars to work in GH2. If you summarize your current config/setup, how does it look?

By trying to apply your config and some testing, It might work

/Dogge
Doman is offline   Reply With Quote
Old March 14th, 2008   #5 (permalink)
Registered User
 
Join Date: Jan 2008
Location: New York
Posts: 7
Well...

Hmmmm.... Well, if you want to call what I have "working".

I got pretty far on this but eventually hung it up because of the problems that I was having. I only tried emulation because of the fact that my PS3 can't completely emulate the controls on a PS2 guitar correctly - something that this setup can't match and with a worse framerate at that.

First of all, it should be noted that this game (at least with my setup, possibly using slightly older plugins) runs playable really only while in training mode. Actually playing the songs in the setlist is just too much for my setup to handle (Core 2 Duo @ 3.0Ghz + DDR21000 memory and nVidia 8800GTS!) Usually I get about 30 jittery frames or so while playing in the setlist.

Secondly, Yes, I can play songs but it is somewhat awkward. The way I have the buttons mapped, Starpower can only be activated via select, and the strum bar doesn't actually strum - for reasons I can't explain. The frets strum immediately when pressed which makes it difficult to play even the easiest songs. (To put it mildly, I got past 'freebird' on expert in the 360 version in ONE playthrough, but I get 82% on 'mental health' - easily the tamest song in Rocks the 80's)

So it is possible, but really the two biggest problems are the frets that strum immediately when pressed and the non functioning strum bar.

It's also worth mentioning that I found NO other controller plugin that would detect the 360 guitar correctly when I was mapping buttons. Because of the 360 guitars wierd Z and Y axis mappings (starpower and something else that kind of jitters back and forth as you jiggle the controller) whenever I tried to map a button, the rest of the plugins that I tried would always assign the dang Z or Y axis over the button that I was pressing. For some reason this one waits just long enough to register the correct buttons, or perhaps has a margin of error when detecting the axes.

Pictures here:
www.techtalkblog.com/psx1.jpg
www.techtalkblog.com/psx2.jpg
www.techtalkblog.com/psx3.jpg

(If they don't work its because I'm posting this and then getting the screen caps afterwards.)

If you feel that you can improve on it, please be my guest. In fact, please tell me what you managed to get working over what I have as it would be AWESOME to play this game on my computer.

EDIT: Please let me know if you need anymore information. I understand that some of my plugins are (probably) old and in need of updating. I also felt that It didn't really matter posting my graphics options due to that fact that the framerate was comparable on several different plugins and it differs in performance for all setups.

Last edited by coolcool23; March 14th, 2008 at 01:18.. Reason: adding info
coolcool23 is offline   Reply With Quote
Old March 14th, 2008   #6 (permalink)
PCSX2 Coder
 
refraction's Avatar
 
Join Date: Jan 2004
Location: Plymouth, UK
Posts: 9,822
unfortunately i dont think there is a way to accurately get the guitar to work. This is due to how the emu "talks" in ps2 language. the section responsible for pads always says "yes there are 2 pads plugged in" not "there is 1 pad and a guitar" or anything. part of the recognition is that constant axis which you are experiencing, which also makes mapping very difficult.

i have yet to find away around this, wouldnt mind either cos i love GH :/
__________________

http://www.generalemu.net/
Intel Core 2 Quad Q6600 @ 3.4Ghz (425x8), Leadtek GTX 280 1Gb, 1.8Tb HDs, 2Gb Corsair DDR2-800 @ DDR2-1020 5-5-5-18 Dual Channel
Dont PM me for help, use the forums, thats what its for!



refraction is offline   Reply With Quote
Old March 14th, 2008   #7 (permalink)
I'm a gopher
 
Join Date: Sep 2007
Location: Chicago
Posts: 376
Quote:
Originally Posted by refraction View Post
unfortunately i dont think there is a way to accurately get the guitar to work. This is due to how the emu "talks" in ps2 language. the section responsible for pads always says "yes there are 2 pads plugged in" not "there is 1 pad and a guitar" or anything. part of the recognition is that constant axis which you are experiencing, which also makes mapping very difficult.

i have yet to find away around this, wouldnt mind either cos i love GH :/
Could a custom input plugin, specifically made for the guitar, get around the issues?

I'm queuing up things to do, even if none get finished/actually work.
echosierra is offline   Reply With Quote
Old March 14th, 2008   #8 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
As refraction said, a pad plugin can't say it's a guitar, for the same reason it can't say it's a multitap controller.

Also, about reading the strum bar: Unless it's a "Vendor Defined" object, the DirectInput driver you're using using isn't providing any data to DirectInput. It might be impossible, given your adapter, or it might just need drivers that support it.
ChickenLiver is offline   Reply With Quote
Old March 14th, 2008   #9 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,905
it sounds to me that a custom input plugin is exactly whats needed.

the emulator is most-likely reading the "xbox Guitar hero" controller as a regular ps2 gamepad.
and the game guitar hero, is acting like when you play with a regular ps2 controller (which is that when you press a button, you don't need to strum)

so you need an input plugin that tells guitar hero that the controller is a guitar, and not a ps2 gamepad.

but you would need to know about the original ps2 guitar hero controller's hardware information to make this work. well at least, what type of information it sends to the ps2 to let it know its a guitar hero controller.

i was fiddling around with a C library for detecting ps1 controllers connected to the parallel port (by homemade adapter). i was able to detect my ps2 gamepad, but when i plugged in my guitar hero guitar, it wouldn't recognize it.
so the information the guitar hero controllers send are totally different than ps2 gamepads...

well, not sure if what i said helps
but since guitar hero runs really slow now, making the custom plugin is probably not worth it (until we get faster cpus...)

Edit:
just read chickenliver's post, maybe i don't know what i'm talking about lol

chickenliver & refraction, so I guess you guys are saying that PCSX2 automatically says that there are 2 "ps2 gamepads" and not 2 input devices.
thus the pad plugin can't tell pcsx2 that one input device is a Guitar, because PCSX2 can only read "ps2 GamePads"

so the way PCSX2 handles' gamepads would have to be changed in order to allow the guitar? and not the pad plugin itself..?
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog

Last edited by cottonvibes; March 14th, 2008 at 04:55..
cottonvibes is offline   Reply With Quote
Old March 14th, 2008   #10 (permalink)
Registered User
 
Join Date: Jan 2008
Location: New York
Posts: 7
Post

based upon what I'm reading here, it does seem to indicate that a rewrite of the emulator would be needed to support guitar functionality. As well as it was discussed that you would most likely have to test and record output from the ps2 guitar to find out exactly how it was communicating as per the differences in fret buttons on the guitar and a regular gamepad.

I always suspected that it was something like this; a case of the emulator designed to only work with specific emulated hardware input. (A gamepad rather than multitap or guitar as stated)

That's not to say that it can't be done, but at this point it looks like whomever attempts this would have much more work than they bargianed for ahead of them.
coolcool23 is offline   Reply With Quote
Old March 14th, 2008   #11 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
cottonvibes: Both would need to be changed. As it is, PCSX2 asks a pad plugin which pad(s) it supports, pad 1 or 2, and then just sends the necessary pad 1/2 commands to the plugin. Guitar controllers identify themselves differently from pads and respond to different messages (At least from refraction's post, I assume they do. I can't find the specs). Therefore, you'd need to to modify PCSX2 itself to act like guitar devices are plugged in and pass the corresponding commands on to the pad plugin. The pad plugin would then have to be modified respond to the aforementioned messages like a guitar.

Refraction would undoubtedly know more about this than I. I just spent a little time looking at multitaps enough to realize I couldn't emulate one with the current interface. Apparently there was a plan to switch from pad plugins to a new SIO plugin API, which I believe would have gotten around this issue. Not sure what ever happened to that. SIO plugins are still documented in the header file, and pad plugins are called "depricated".
ChickenLiver is offline   Reply With Quote
Old March 14th, 2008   #12 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,905
yeah i remember browsing through the pcsx2 source and i saw something about pads deprecated. but didn't really know what it was talking about...

but i just had an idea on how to make the guitar work w/ a modded version of lilypad (hypothetically).

basically, in the game Guitar Hero 2 when you use a regular PS2 dualshock2controller, it makes "L1", "L2", "R1", and "R2" be the frets and also it strums automatically when a fret is being pressed.

so instead of making a guitar hero plugin, the user can map the guitar "frets" to the "L1","L2", etc.. keys in the plugin.

next, the user would map the guitar's "strum bar" to "Right Analog up" and "Right analog down".

then in the plugin's source code, you modify it to only let the "L1","L2",etc.. keys work if
"L1" && ("Right Analog Up" || "Right Analog Down")
has been pressed.

thus, emulating the strumming function.

thats probably easier than having to mess with PCSX2's code.
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog
cottonvibes is offline   Reply With Quote
Old March 14th, 2008   #13 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
Yea, that'd probably be much simpler. There's still the issue of reading the strum bar... Like I said, it's not available from DirectInput, unless it's a vendor specific object type (Which seems unlikely to me), so you'd need to find a way around that, first. Don't have access to a guitar myself, so I can't look into it. If someone finds out how to read it, I'd be happy to add support (And any other advanced options necessary to get the desired behavior).

Last edited by ChickenLiver; March 14th, 2008 at 06:16.. Reason: typo
ChickenLiver is offline   Reply With Quote
Old March 14th, 2008   #14 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,905
chickenliver, i believe your plugin can read the strumbar.

its just that the way guitar hero was coded basically uses the pseudocode below for determining if a note is correct.


Code:
if (input == guitar hero guitar) {
    if (correct fret is pressed) && (check if strumming) {
        score++;
    }
}
else if (input == dualshock2controller) {
    if (correct fret is pressed) {
        score++;
    }
}
so the reason coolcool23 said the strumbar wasn't working was a game problem, not a plugin problem.

its a bit confusing unless you have the game, but i hope you understand what i'm saying.

EDIT:

also take a look at the pics he posted of the config screen. the guitarhero drivers map the guitar hero strumbar as a hatswitch.
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog
cottonvibes is offline   Reply With Quote
Old March 14th, 2008   #15 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
I've heard it said multiple times that it didn't work, and had assumed everyone meant they couldn't bind it. If the strum bar can be bound, then it's just a trivial change... Can someone confirm that the strum bar can be bound, even if it doesn't work properly?

So let me get this straight...The strum bar is an axis, which should be mapped to right analog vertical axes. The frets are 4 buttons (L/R 1/2). The frets should only be considered down when the strum bar isn't in its centered position (Or is at least x distance away from it)? Or should I copy the strum bar's displacement to the buttons corresponding to the pressed frets?

Confirm all this, and I can easily add a "guitar hero" toggle which, when on, will do just what's needed.

Last edited by ChickenLiver; March 14th, 2008 at 07:11..
ChickenLiver is offline   Reply With Quote
Old March 14th, 2008   #16 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,905
chickenliver,
i forgot to mention, but theres a fifth fret (yes they're just buttons) and that should be maped to "X" but i'm not sure, it might be Triangle
i'll play the game tomorow and confirm which botton it is.
but i'm 100% positive the rest are (L/R 1/2)

the frets should only be considered down when the strum bar is not in its default position.

i think it might be best if the user binds the strumbar to "Left Analog UP/DOWN" (i said Right analog b4, my mistake)


when you play the game using the guitar. Strumming the guitar up, moves up in the menus, and strumming down moves down in the menus.
so its basically taking place of the left analog stick.

the strumbar itself is 2 buttons, they're not pressurized (i've taken apart the physical controller b4 ).
when you physically move the strumbar up, it presses one button. and likewise, when you move it down, it presses another button.

and judging from the picture posted, i'm 95% positive the guitar's drivers tell the strumbar to act as a hatSwitch.


coolcool23, please confirm this.
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog
cottonvibes is offline   Reply With Quote
Old March 14th, 2008   #17 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
Here's an experimental version with strum bar support as discussed. Bind a key to the new "guitar" button. Then start up guitar hero and press it. R1, R2, L1, L2, Triangle, and Cross will then all be ignored except when the left vertical axis is pressed up or down. Can remove whichever button shouldn't be on the list if this works.

<Attachment outdated, so removed>

Last edited by ChickenLiver; March 19th, 2008 at 04:39..
ChickenLiver is offline   Reply With Quote
Old March 14th, 2008   #18 (permalink)
PCSX2 Coder
 
refraction's Avatar
 
Join Date: Jan 2004
Location: Plymouth, UK
Posts: 9,822
what i didnt mention which i should have, the part of the emulator which says how many pads there are and what the pads are, is part of the main emu, not any plugin. At the moment a lot of that section of the emulator is a hack to make things work, many parts of it are still unknown
__________________

http://www.generalemu.net/
Intel Core 2 Quad Q6600 @ 3.4Ghz (425x8), Leadtek GTX 280 1Gb, 1.8Tb HDs, 2Gb Corsair DDR2-800 @ DDR2-1020 5-5-5-18 Dual Channel
Dont PM me for help, use the forums, thats what its for!



refraction is offline   Reply With Quote
Old March 14th, 2008   #19 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,905
wow, chickenliver you already made the mod
i'll test it when i get back from class,
but i can only test it using my ps2controller w/ the guitar hero game.
theoretically, it should work w/ the xBox 360 guitar hero controller though, since it's drivers let it act as a normal gamepad..
and i'll also confirm which is the fifth fret...


refraction, does the PCSX2 team plan to change the way it handles pads in the future?
i'd say about 95% of the time you just need a regular dualshock2 controller for games, so the current system should be fine for most games.
but there are some games which you can use, mice, keyboards, guns, guitars, etc..
i'm wondering though, if PCSX2 changes the way it handle's input, it might render the current pad plugins useless w/o a re-write...

------------------------------
EDIT:

chickenliver,
i did some testing w/ the guitarhero LilyPadMod, and for the most part it works great.

but after playing the game, there needs to be some corrections.

1) It turns out the fifth fret is "X" button, so theres no need to modify the Triangle button.

2) It turns out that the Left Analog uses the "Whammy Bar" function in-game. So can you switch the Mod to use the Directional Buttons UP & DOWN, instead of Left Analog UP & DOWN, that way it won't interfere with anything, and still let you navigate through menus.

3) There is a thing called "Star Power" in the game, this is activated by pressing the "Select" key. However, using the Guitar Controller, it is activated by tilting the guitar.
To make this work, you might have to allow the "Select" key in Lilypad, to be binded to an Axis.
This is assuming the Xbox360Guitar's Drivers, count the "Tilt" function as an axis.



And just to give you an idea, below is a description of what every key does when using a dualshock 2 controller/ using a guitar/ and how a user should map the 360Guitar to LilyPad's Keys.

Code:
When I say Menus, I mean when browsing the menus/options in the game

(DualShock2Controller)

dPad      - Navigate(Menus)
LAnalog   - Whammy Bar/Navigate(Menus)
RAnalog   - Nothing
L1        - Fret 2
L2        - Fret 1
R1        - Fret 3
R2        - Fret 4
X         - Fret 5/Confirm(Menus)
Triangle  - Go Back(Menus)
Square    - nothing
Circle    - nothing
Select    - Star Power
Start     - Display Menu Screen

---------------------------------------

(GuitarHero Controller)

StrumBar  - Strum/Navigate(Menus)
WhammyBar - Tremolo
Fret 1    - Fret 1/Confirm(Menus)
Fret 2    - Fret 2/Go Back(Menus)
Fret 3    - Fret 3
Fret 4    - Fret 4
Fret 5    - Fret 5
Select    - Star Power
Start     - Display Menu Screen
Tilt      - Star Power

---------------------------------------

(360Guitar -> LilyPad)

StrumBar  -> dPad
WhammyBar -> Left Analog
Fret 1    -> L2
Fret 2    -> L1, Triangle (Map to both keys)
Fret 3    -> R1
Fret 4    -> R2
Fret 5    -> X
Select    -> Select
Start     -> Start
Tilt      -> Select

Note: When navigating through menus, the User must press the 5th Fret to Confirm instead of the 1st Fret like the game tells you to do.
EDIT#2:
i forgot to include what tilt does, and how to map it in lilypad in the list above.
added it.
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog

Last edited by cottonvibes; March 15th, 2008 at 10:27..
cottonvibes is offline   Reply With Quote
Old March 15th, 2008   #20 (permalink)
Plugin author
 
Join Date: Apr 2006
Location: Perdition
Posts: 588
You already can bind an axis to a button in LilyPad. There's a pressure sensitive buttons toggle on the first screen. Should let you bind any button to any axis. It makes the extreme positions of the axis down/up. Is this how tilting/star power works, or is should both extremes be down and the center up?
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 23:50.

© 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