08-06-2012, 09:20 PM
08-17-2012, 09:51 AM
Well the wheel is being a beotch. It responds to a get it ( 0x01 ) but not to any type of command poll I try.
Here are the command that work for a GC controller
01000000 00000011 00000010
0x40 : 0x03 : 0x02
0x40 : 0x03 : 0x01
0x40 : 0x03 : 0x04
This is the norm, some where in the Game code you will see that for a normal game. But for the wheel its waiting on something. Like you mentioned I bet its a calibration. Do you see the code it sends?
___________________
Looking back I see you said 0x300680, going to try that.
0k - I attached the read out. You see it doing the getID then the calibrate no dice. See if you can spot that get id and let me know it there is anything else that goes on.
___________________
Here is some info that may come in handy.
http://hitmen.c02.at/files/yagcd/yagcd/chap9.html
Here are the command that work for a GC controller
01000000 00000011 00000010
0x40 : 0x03 : 0x02
0x40 : 0x03 : 0x01
0x40 : 0x03 : 0x04
This is the norm, some where in the Game code you will see that for a normal game. But for the wheel its waiting on something. Like you mentioned I bet its a calibration. Do you see the code it sends?
___________________
Looking back I see you said 0x300680, going to try that.
0k - I attached the read out. You see it doing the getID then the calibrate no dice. See if you can spot that get id and let me know it there is anything else that goes on.
___________________
Here is some info that may come in handy.
http://hitmen.c02.at/files/yagcd/yagcd/chap9.html
08-17-2012, 11:03 PM
I suspect that 0x30 0x06 0x80 might be "center the wheel". If the wheel is already centered, it won't do anything.
Try these other values:
0x30 0x06 0x56
0x30 0x06 0x5e
0x30 0x06 0x63
It looks to me like the last byte can be anything.
Also try 0x30 0x04 0x80
Possibly the format might be <0x30> <direction> <strength>
where direction can be 0x06 or 0x04
and strength is 0x00 - 0xff
A sample list of commands is in the log above on the lines that say "unknown direct command". You can see by the timestamp how rapidly the commands are sent.
The other thing that the game does is, it sends a command similar to "Get ID", but instead of 0x01, it sends a 0xff Directly after the 0xff, it starts sending the commands above. This is the "unknown SI command" in the log.
Do you have a real Wii or GC to test the wheel on just to check that it is in working condition?
Try these other values:
0x30 0x06 0x56
0x30 0x06 0x5e
0x30 0x06 0x63
It looks to me like the last byte can be anything.
Also try 0x30 0x04 0x80
Possibly the format might be <0x30> <direction> <strength>
where direction can be 0x06 or 0x04
and strength is 0x00 - 0xff
A sample list of commands is in the log above on the lines that say "unknown direct command". You can see by the timestamp how rapidly the commands are sent.
The other thing that the game does is, it sends a command similar to "Get ID", but instead of 0x01, it sends a 0xff Directly after the 0xff, it starts sending the commands above. This is the "unknown SI command" in the log.
Do you have a real Wii or GC to test the wheel on just to check that it is in working condition?
08-18-2012, 12:35 AM
Quote:Do you have a real Wii or GC to test the wheel on just to check that it is in working condition?No my son took it
This may be what I'm lo0king for great info! I didnt see that log before thx.
Small update: yes he does reply to the 0xFF, and then the ox30, 0x06, 0x80 now responds. I think I see what is going on here now. Will try more later tonight.
08-18-2012, 04:04 AM
eureka!! Huston we have lift off.
Ok I have to refine this a bit and clean up my debug but I'm able to read the button lay out now. I'm not sure what command did it but Ill have that understood quickly. I'm not sure what all the commands do but I agree some of these are calibrations and getting info from the wheel. Once I analyze this I will be able to figure out what the bytes mean and then you can map that to DX FFB and on to the hard part ( at least for me )
Was this log all the initialization of the game, or in game?
Ok I have to refine this a bit and clean up my debug but I'm able to read the button lay out now. I'm not sure what command did it but Ill have that understood quickly. I'm not sure what all the commands do but I agree some of these are calibrations and getting info from the wheel. Once I analyze this I will be able to figure out what the bytes mean and then you can map that to DX FFB and on to the hard part ( at least for me )

Was this log all the initialization of the game, or in game?
08-18-2012, 08:11 AM
No, it was not in-game yet. I stopped it at the "Press start" demo. I will create another log later.
08-18-2012, 09:22 AM
Here's another log with me crashing into walls and stuff.
08-18-2012, 11:57 PM
Ok dude I got it working. Its like so...
(0x30 04 80)
30 is standard, just away to talk to the wheel
06 is force on. 04 would be off ( an off is not needed but when sending 04 it just reads button and does not send force, so to generate a force it use an 06 per pulse )
80 is the amount. I dont know what controls right or left but I think its
LEFT 0 strong 128 none
Right 256 strong 128 none
or in another way to say it
full left 0....128....256 full Right
I'm going to do some game testing but the ball is in your court now, just ask what you need from me. I'll need you to send the Force feed back commands from this info. Any FFB ready adapter will pick that up and should work. Also I think its best to add a drop down with the wheel so dolphin knows its attached. Thus far I dont see any commands for rumble in the logs. My guess is f-zero had no need for it.
Here is the wheel using the rumble as a test. Clicking [test] will jolt the wheel.
url
OH I tried f-zero and I was able to play up t the race but not steer. I went back to the controller screen and tried to calibrate. Now this made no sense, so I'm positive the game needs to be told its a wheel. It was talking about moving the control stick in circles. Also I saw there is a rumble feature, but I think that for controller mode only. So I would need a build with the option to select a wheel.
(0x30 04 80)
30 is standard, just away to talk to the wheel
06 is force on. 04 would be off ( an off is not needed but when sending 04 it just reads button and does not send force, so to generate a force it use an 06 per pulse )
80 is the amount. I dont know what controls right or left but I think its
LEFT 0 strong 128 none
Right 256 strong 128 none
or in another way to say it
full left 0....128....256 full Right
I'm going to do some game testing but the ball is in your court now, just ask what you need from me. I'll need you to send the Force feed back commands from this info. Any FFB ready adapter will pick that up and should work. Also I think its best to add a drop down with the wheel so dolphin knows its attached. Thus far I dont see any commands for rumble in the logs. My guess is f-zero had no need for it.
Here is the wheel using the rumble as a test. Clicking [test] will jolt the wheel.
url
OH I tried f-zero and I was able to play up t the race but not steer. I went back to the controller screen and tried to calibrate. Now this made no sense, so I'm positive the game needs to be told its a wheel. It was talking about moving the control stick in circles. Also I saw there is a rumble feature, but I think that for controller mode only. So I would need a build with the option to select a wheel.
08-19-2012, 07:25 AM
It doesn't sound too hard. I have to find the time for it now. It'll be a dropdown option. Thanks for your work on this.
08-19-2012, 09:57 AM
After sending a command, does the wheel keep on moving until the next command is issued?