integrate M-HT's neon scalers
[fceu.git] / input.h
1 typedef struct {
2         uint8 FP_FASTAPASS(1) (*Read)(int w);
3         void FP_FASTAPASS(1) (*Write)(uint8 v);
4         void FP_FASTAPASS(1) (*Strobe)(int w);
5         void FP_FASTAPASS(3) (*Update)(int w, void *data, int arg);
6         void FP_FASTAPASS(3) (*SLHook)(int w, uint8 *bg, uint8 *spr, uint32 linets, int final);
7         void FP_FASTAPASS(3) (*Draw)(int w, uint8 *buf, int arg);
8 } INPUTC;
9
10 typedef struct {
11         uint8 FP_FASTAPASS(2) (*Read)(int w, uint8 ret);
12         void FP_FASTAPASS(1) (*Write)(uint8 v);
13         void (*Strobe)(void);
14         void FP_FASTAPASS(2) (*Update)(void *data, int arg);
15         void FP_FASTAPASS(3) (*SLHook)(uint8 *bg, uint8 *spr, uint32 linets, int final);
16         void FP_FASTAPASS(2) (*Draw)(uint8 *buf, int arg);
17 } INPUTCFC;
18
19 void DrawInput(uint8 *buf);
20 void UpdateInput(void);
21 void InitializeInput(void);
22 extern void (*PStrobe[2])(void);
23 extern void (*InputScanlineHook)(uint8 *bg, uint8 *spr, uint32 linets, int final);
24
25 #define FCEUNPCMD_RESET   0x01
26 #define FCEUNPCMD_POWER   0x02
27
28 #define FCEUNPCMD_VSUNICOIN     0x07
29 #define FCEUNPCMD_VSUNIDIP0     0x08
30 #define FCEUNPCMD_FDSINSERT     0x18
31 #define FCEUNPCMD_FDSSELECT     0x1A
32 void FCEU_DoSimpleCommand(int cmd);
33
34 void FCEUI_FDSSelect(void);
35 int FCEUI_FDSInsert(void);
36 void FCEUI_VSUniToggleDIP(int w);
37 void FCEUI_VSUniCoin(void);
38 void FCEUI_ResetNES(void);
39 void FCEUI_PowerNES(void);
40
41 extern char lastLoadedGameName [2048];