Search
lxdream.org :: lxdream/src/maple/controller.c :: diff
lxdream 0.9.1
released Jun 29
Download Now
filename src/maple/controller.c
changeset 846:32ab6b592a8a
prev838:9abb2fa58934
next848:34dc33c05106
author nkeynes
date Sat Sep 06 08:16:39 2008 +0000 (11 years ago)
permissions -rw-r--r--
last change Merge controller.h into controller.c for consistency with the other maple devices
file annotate diff log raw
1.1 --- a/src/maple/controller.c Tue Sep 02 00:42:43 2008 +0000
1.2 +++ b/src/maple/controller.c Sat Sep 06 08:16:39 2008 +0000
1.3 @@ -22,7 +22,54 @@
1.4 #include "dreamcast.h"
1.5 #include "display.h"
1.6 #include "maple.h"
1.7 -#include "maple/controller.h"
1.8 +
1.9 +/* First word of controller condition */
1.10 +#define BUTTON_C 0x00000001 /* not on standard controller */
1.11 +#define BUTTON_B 0x00000002
1.12 +#define BUTTON_A 0x00000004
1.13 +#define BUTTON_START 0x00000008
1.14 +#define BUTTON_DPAD_UP 0x00000010
1.15 +#define BUTTON_DPAD_DOWN 0x00000020
1.16 +#define BUTTON_DPAD_LEFT 0x00000040
1.17 +#define BUTTON_DPAD_RIGHT 0x00000080
1.18 +#define BUTTON_Z 0x00000100 /* not on standard controller */
1.19 +#define BUTTON_Y 0x00000200
1.20 +#define BUTTON_X 0x00000400
1.21 +#define BUTTON_D 0x00000800 /* not on standard controller */
1.22 +#define BUTTON_LEFT_TRIGGER 0xFF000000 /* Bitmask */
1.23 +#define BUTTON_RIGHT_TRIGGER 0x00FF0000 /* Bitmask */
1.24 +
1.25 +/* Second word of controller condition (bitmasks) */
1.26 +#define JOY_X_AXIS 0x000000FF
1.27 +#define JOY_Y_AXIS 0x0000FF00
1.28 +#define JOY_X_AXIS_CENTER 0x00000080
1.29 +#define JOY_Y_AXIS_CENTER 0x00008000
1.30 +#define JOY2_X_AXIS 0x00FF0000 /* not on standard controller */
1.31 +#define JOY2_Y_AXIS 0xFF000000 /* not on standard controller */
1.32 +
1.33 +/* The following bits are used by the emulator for flags but don't actually
1.34 + * appear in the hardware
1.35 + */
1.36 +#define JOY_LEFT 0x80000001
1.37 +#define JOY_RIGHT 0x80000002
1.38 +#define JOY_UP 0x80000004
1.39 +#define JOY_DOWN 0x80000008
1.40 +
1.41 +/* Standard controller ID */
1.42 +#define CONTROLLER_IDENT {0x00, 0x00, 0x00, 0x01, 0x00, 0x0f, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x00, \
1.43 + 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x44, 0x72, 0x65, 0x61, 0x6d, 0x63, 0x61, 0x73, 0x74, 0x20, \
1.44 + 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \
1.45 + 0x20, 0x20, 0x20, 0x20, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x42, 0x79, 0x20, \
1.46 + 0x6f, 0x72, 0x20, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, \
1.47 + 0x20, 0x46, 0x72, 0x6f, 0x6d, 0x20, 0x53, 0x45, 0x47, 0x41, 0x20, 0x45, 0x4e, 0x54, 0x45, 0x52, \
1.48 + 0x50, 0x52, 0x49, 0x53, 0x45, 0x53, 0x2c, 0x4c, 0x54, 0x44, 0x2e, 0x20, 0x20, 0x20, 0x20, 0x20, \
1.49 + 0xae, 0x01, 0xf4, 0x01}
1.50 +#define CONTROLLER_VERSION {0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x30, 0x31, \
1.51 + 0x30, 0x2c, 0x31, 0x39, 0x39, 0x38, 0x2f, 0x30, 0x39, 0x2f, 0x32, 0x38, 0x2c, 0x33, 0x31, 0x35, \
1.52 + 0x2d, 0x36, 0x32, 0x31, 0x31, 0x2d, 0x41, 0x42, 0x20, 0x20, 0x20, 0x2c, 0x41, 0x6e, 0x61, 0x6c, \
1.53 + 0x6f, 0x67, 0x20, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, \
1.54 + 0x34, 0x74, 0x68, 0x20, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x35, 0x2f, 0x38, 0x20, \
1.55 + 0x20, 0x2b, 0x44, 0x46 }
1.56
1.57 #define CONTROLLER_CONFIG_ENTRIES 15
1.58
.