2005-03-02 23:49:38 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef __HW_H__
|
|
|
|
#define __HW_H__
|
|
|
|
|
|
|
|
|
|
|
|
#include "defs.h"
|
|
|
|
|
|
|
|
|
|
|
|
#define PAD_RIGHT 0x01
|
|
|
|
#define PAD_LEFT 0x02
|
|
|
|
#define PAD_UP 0x04
|
|
|
|
#define PAD_DOWN 0x08
|
|
|
|
#define PAD_A 0x10
|
|
|
|
#define PAD_B 0x20
|
|
|
|
#define PAD_SELECT 0x40
|
|
|
|
#define PAD_START 0x80
|
|
|
|
|
|
|
|
#define IF_VBLANK 0x01
|
|
|
|
#define IF_STAT 0x02
|
|
|
|
#define IF_TIMER 0x04
|
|
|
|
#define IF_SERIAL 0x08
|
|
|
|
#define IF_PAD 0x10
|
|
|
|
|
|
|
|
struct hw
|
|
|
|
{
|
|
|
|
byte ilines;
|
|
|
|
byte pad;
|
|
|
|
int hdma;
|
|
|
|
int cgb,gba;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
extern struct hw hw;
|
|
|
|
|
2006-01-20 13:05:52 +00:00
|
|
|
void hw_interrupt(byte i, byte mask) ICODE_ATTR;
|
|
|
|
void hw_dma(byte b) ICODE_ATTR;
|
|
|
|
void hw_hdma_cmd(byte c) ICODE_ATTR;
|
|
|
|
void hw_hdma(void) ICODE_ATTR;
|
|
|
|
void pad_refresh(void)ICODE_ATTR;
|
|
|
|
void pad_press(byte k)ICODE_ATTR;
|
|
|
|
void pad_release(byte k)ICODE_ATTR;
|
|
|
|
void pad_set(byte k, int st)ICODE_ATTR;
|
2005-03-02 23:49:38 +00:00
|
|
|
void hw_reset(void);
|
|
|
|
|
|
|
|
#endif
|