47 lines
1.3 KiB
C
47 lines
1.3 KiB
C
#ifndef _LIBGCCVB_CONTROLLER_H
|
|
#define _LIBGCCVB_CONTROLLER_H
|
|
|
|
|
|
#include "types.h"
|
|
#include "hw.h"
|
|
|
|
|
|
/* Hardware reg SCR definitions */
|
|
#define S_INTDIS 0x80 // Disable Interrups
|
|
#define S_SW 0x20 // Software Reading
|
|
#define S_SWCK 0x10 // Software Clock, Interrupt?
|
|
#define S_HW 0x04 // Hardware Reading
|
|
#define S_STAT 0x02 // Hardware Reading Status
|
|
#define S_HWDIS 0x01 // Disable Hardware Reading
|
|
|
|
/* Keypad Definitions */
|
|
#define K_ANY 0xFFFC // All keys, without pwr & sgn
|
|
#define K_BTNS 0x303C // All buttons; no d-pads, pwr or sgn
|
|
#define K_PADS 0xCFC0 // All d-pads
|
|
#define K_LPAD 0x0F00 // Left d-pad only
|
|
#define K_RPAD 0xC0C0 // Right d-pad only
|
|
#define K_PWR 0x0001 // Low Battery
|
|
#define K_SGN 0x0002 // Signature; 1 = Standard Pad
|
|
#define K_A 0x0004 // A Button
|
|
#define K_B 0x0008 // B Button
|
|
#define K_RT 0x0010 // R Trigger
|
|
#define K_LT 0x0020 // L Trigger
|
|
#define K_RU 0x0040 // Right Pad, Up
|
|
#define K_RR 0x0080 // Right Pad, Right
|
|
#define K_LR 0x0100 // Left Pad, Right
|
|
#define K_LL 0x0200 // Left Pad, Left
|
|
#define K_LD 0x0400 // Left Pad, Down
|
|
#define K_LU 0x0800 // Left Pad, Up
|
|
#define K_STA 0x1000 // Start Button
|
|
#define K_SEL 0x2000 // Select Button
|
|
#define K_RL 0x4000 // Right Pad, Left
|
|
#define K_RD 0x8000 // Right Pad, Down
|
|
|
|
|
|
u16 vbReadPad();
|
|
u16 vbPadKeyDown();
|
|
u16 vbPadKeyUp();
|
|
|
|
|
|
#endif
|