filename | src/maple/controller.h |
changeset | 561:533f6b478071 |
prev | 148:3f31c2d9b783 |
next | 736:a02d1475ccfd |
author | nkeynes |
date | Mon May 12 10:00:13 2008 +0000 (15 years ago) |
permissions | -rw-r--r-- |
last change | Cleanup most of the -Wall warnings (getting a bit sloppy...) Convert FP code to use fixed banks rather than indirect pointer (3-4% faster this way now) |
file | annotate | diff | log | raw |
nkeynes@31 | 1 | /** |
nkeynes@561 | 2 | * $Id$ |
nkeynes@31 | 3 | * |
nkeynes@31 | 4 | * Definitions for the standard controller device |
nkeynes@31 | 5 | * |
nkeynes@31 | 6 | * Copyright (c) 2005 Nathan Keynes. |
nkeynes@31 | 7 | * |
nkeynes@31 | 8 | * This program is free software; you can redistribute it and/or modify |
nkeynes@31 | 9 | * it under the terms of the GNU General Public License as published by |
nkeynes@31 | 10 | * the Free Software Foundation; either version 2 of the License, or |
nkeynes@31 | 11 | * (at your option) any later version. |
nkeynes@31 | 12 | * |
nkeynes@31 | 13 | * This program is distributed in the hope that it will be useful, |
nkeynes@31 | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
nkeynes@31 | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
nkeynes@31 | 16 | * GNU General Public License for more details. |
nkeynes@31 | 17 | */ |
nkeynes@31 | 18 | |
nkeynes@2 | 19 | /* First word of controller condition */ |
nkeynes@2 | 20 | #define BUTTON_C 0x00000001 /* not on standard controller */ |
nkeynes@2 | 21 | #define BUTTON_B 0x00000002 |
nkeynes@2 | 22 | #define BUTTON_A 0x00000004 |
nkeynes@2 | 23 | #define BUTTON_START 0x00000008 |
nkeynes@2 | 24 | #define BUTTON_DPAD_UP 0x00000010 |
nkeynes@2 | 25 | #define BUTTON_DPAD_DOWN 0x00000020 |
nkeynes@2 | 26 | #define BUTTON_DPAD_LEFT 0x00000040 |
nkeynes@2 | 27 | #define BUTTON_DPAD_RIGHT 0x00000080 |
nkeynes@2 | 28 | #define BUTTON_Z 0x00000100 /* not on standard controller */ |
nkeynes@2 | 29 | #define BUTTON_Y 0x00000200 |
nkeynes@2 | 30 | #define BUTTON_X 0x00000400 |
nkeynes@2 | 31 | #define BUTTON_D 0x00000800 /* not on standard controller */ |
nkeynes@2 | 32 | #define BUTTON_LEFT_TRIGGER 0xFF000000 /* Bitmask */ |
nkeynes@2 | 33 | #define BUTTON_RIGHT_TRIGGER 0x00FF0000 /* Bitmask */ |
nkeynes@2 | 34 | |
nkeynes@2 | 35 | /* Second word of controller condition (bitmasks) */ |
nkeynes@2 | 36 | #define JOY_X_AXIS 0x000000FF |
nkeynes@2 | 37 | #define JOY_Y_AXIS 0x0000FF00 |
nkeynes@148 | 38 | #define JOY_X_AXIS_CENTER 0x00000080 |
nkeynes@148 | 39 | #define JOY_Y_AXIS_CENTER 0x00008000 |
nkeynes@2 | 40 | #define JOY2_X_AXIS 0x00FF0000 /* not on standard controller */ |
nkeynes@2 | 41 | #define JOY2_Y_AXIS 0xFF000000 /* not on standard controller */ |
nkeynes@2 | 42 | |
nkeynes@148 | 43 | /* The following bits are used by the emulator for flags but don't actually |
nkeynes@148 | 44 | * appear in the hardware |
nkeynes@148 | 45 | */ |
nkeynes@148 | 46 | #define JOY_LEFT 0x80000001 |
nkeynes@148 | 47 | #define JOY_RIGHT 0x80000002 |
nkeynes@148 | 48 | #define JOY_UP 0x80000004 |
nkeynes@148 | 49 | #define JOY_DOWN 0x80000008 |
nkeynes@148 | 50 | |
nkeynes@2 | 51 | /* Standard controller ID */ |
nkeynes@2 | 52 | #define CONTROLLER_IDENT {0x00, 0x00, 0x00, 0x01, 0x00, 0x0f, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x00, \ |
nkeynes@2 | 53 | 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x44, 0x72, 0x65, 0x61, 0x6d, 0x63, 0x61, 0x73, 0x74, 0x20, \ |
nkeynes@2 | 54 | 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, \ |
nkeynes@2 | 55 | 0x20, 0x20, 0x20, 0x20, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x65, 0x64, 0x20, 0x42, 0x79, 0x20, \ |
nkeynes@2 | 56 | 0x6f, 0x72, 0x20, 0x55, 0x6e, 0x64, 0x65, 0x72, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, \ |
nkeynes@2 | 57 | 0x20, 0x46, 0x72, 0x6f, 0x6d, 0x20, 0x53, 0x45, 0x47, 0x41, 0x20, 0x45, 0x4e, 0x54, 0x45, 0x52, \ |
nkeynes@2 | 58 | 0x50, 0x52, 0x49, 0x53, 0x45, 0x53, 0x2c, 0x4c, 0x54, 0x44, 0x2e, 0x20, 0x20, 0x20, 0x20, 0x20, \ |
nkeynes@2 | 59 | 0xae, 0x01, 0xf4, 0x01} |
nkeynes@2 | 60 | #define CONTROLLER_VERSION {0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e, 0x30, 0x31, \ |
nkeynes@2 | 61 | 0x30, 0x2c, 0x31, 0x39, 0x39, 0x38, 0x2f, 0x30, 0x39, 0x2f, 0x32, 0x38, 0x2c, 0x33, 0x31, 0x35, \ |
nkeynes@2 | 62 | 0x2d, 0x36, 0x32, 0x31, 0x31, 0x2d, 0x41, 0x42, 0x20, 0x20, 0x20, 0x2c, 0x41, 0x6e, 0x61, 0x6c, \ |
nkeynes@2 | 63 | 0x6f, 0x67, 0x20, 0x4d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x20, 0x3a, 0x20, 0x54, 0x68, 0x65, 0x20, \ |
nkeynes@2 | 64 | 0x34, 0x74, 0x68, 0x20, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x35, 0x2f, 0x38, 0x20, \ |
nkeynes@2 | 65 | 0x20, 0x2b, 0x44, 0x46 } |
.