notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
frontend: pcnt: support arm11
[pcsx_rearmed.git]
/
plugins
/
dfinput
/
pad.c
diff --git
a/plugins/dfinput/pad.c
b/plugins/dfinput/pad.c
index
ab55db0
..
a8019b9
100644
(file)
--- a/
plugins/dfinput/pad.c
+++ b/
plugins/dfinput/pad.c
@@
-206,11
+206,21
@@
static void do_cmd2(unsigned char value)
case CMD_READ_DATA_AND_VIBRATE:
if (value == 1 && CurPad == 0 && in_enable_vibration)
case CMD_READ_DATA_AND_VIBRATE:
if (value == 1 && CurPad == 0 && in_enable_vibration)
- plat_trigger_vibrate();
+ plat_trigger_vibrate(
0
);
break;
}
}
break;
}
}
+static void do_cmd3(unsigned char value)
+{
+ if (in_enable_vibration && CurCmd == CMD_READ_DATA_AND_VIBRATE && CurPad == 0) {
+ if (value >= 0xf0)
+ plat_trigger_vibrate(1);
+ else if (value > 0x40)
+ plat_trigger_vibrate(0);
+ }
+}
+
#if 0
#include <stdio.h>
unsigned char PADpoll_(unsigned char value);
#if 0
#include <stdio.h>
unsigned char PADpoll_(unsigned char value);
@@
-224,7
+234,8
@@
unsigned char PADpoll(unsigned char value) {
unsigned char PADpoll_pad(unsigned char value) {
unsigned char PADpoll_pad(unsigned char value) {
- if (CurByte == 0) {
+ switch (CurByte) {
+ case 0:
CurCmd = value;
CurByte++;
CurCmd = value;
CurByte++;
@@
-233,10
+244,13
@@
unsigned char PADpoll_pad(unsigned char value) {
CurCmd = CMD_READ_DATA_AND_VIBRATE;
return do_cmd();
CurCmd = CMD_READ_DATA_AND_VIBRATE;
return do_cmd();
- }
-
- if (CurByte == 2)
+ case 2:
do_cmd2(value);
do_cmd2(value);
+ break;
+ case 3:
+ do_cmd3(value);
+ break;
+ }
if (CurByte >= CmdLen)
return 0xff; // verified
if (CurByte >= CmdLen)
return 0xff; // verified