c62d2810 |
1 | #ifndef _FCEH |
92e249b1 |
2 | |
3 | #ifdef ASM_6502 |
4 | void asmcpu_unpack(void); |
5 | void asmcpu_pack(void); |
6 | #endif |
7 | |
d97315ac |
8 | #define fceuindbg 0 |
9 | |
a384bf44 |
10 | extern int use098code; |
11 | |
c62d2810 |
12 | extern int GameLoaded; |
13 | void ResetGameLoaded(void); |
14 | |
15 | #define DECLFR(x) uint8 FP_FASTAPASS(1) x (uint32 A) |
16 | #define DECLFW(x) void FP_FASTAPASS(2) x (uint32 A, uint8 V) |
17 | |
386f5371 |
18 | void FCEU_MemoryRand(uint8 *ptr, uint32 size); |
c62d2810 |
19 | void FASTAPASS(3) SetReadHandler(int32 start, int32 end, readfunc func); |
20 | void FASTAPASS(3) SetWriteHandler(int32 start, int32 end, writefunc func); |
21 | writefunc FASTAPASS(1) GetWriteHandler(int32 a); |
22 | readfunc FASTAPASS(1) GetReadHandler(int32 a); |
23 | |
24 | int AllocGenieRW(void); |
25 | void FlushGenieRW(void); |
26 | |
27 | void FCEU_ResetVidSys(void); |
28 | |
29 | void ResetMapping(void); |
6244011f |
30 | |
31 | extern void (*ResetNES)(void); |
6244011f |
32 | |
33 | void ResetNES081(void); |
642070a9 |
34 | void PowerNES(void); |
c62d2810 |
35 | |
36 | |
37 | extern uint64 timestampbase; |
38 | extern uint32 MMC5HackVROMMask; |
39 | extern uint8 *MMC5HackExNTARAMPtr; |
40 | extern int MMC5Hack; |
41 | extern uint8 *MMC5HackVROMPTR; |
42 | extern uint8 MMC5HackCHRMode; |
43 | extern uint8 MMC5HackSPMode; |
44 | extern uint8 MMC5HackSPScroll; |
45 | extern uint8 MMC5HackSPPage; |
46 | |
386f5371 |
47 | #define GAME_MEM_BLOCK_SIZE 131072 |
48 | |
49 | extern uint8 GameMemBlock[GAME_MEM_BLOCK_SIZE]; |
5232c20c |
50 | extern uint8 NTARAM[0x800],PALRAM[0x20]; |
51 | |
52 | extern uint8 RAM[0x800]; |
53 | |
c62d2810 |
54 | |
55 | extern uint32 RefreshAddr,TempAddr; |
56 | extern uint8 vtoggle,XOffset,VRAMBuffer,PPUGenLatch; |
57 | extern uint8 PPU[4]; |
58 | |
59 | extern int scanline; |
60 | extern uint8 *vnapage[4]; |
61 | |
62 | extern uint8 PPUNTARAM; |
63 | extern uint8 PPUCHRRAM; |
64 | extern uint8 VPAL[8]; |
65 | extern uint8 PAL; |
66 | |
67 | extern readfunc ARead[0x10000]; |
68 | extern writefunc BWrite[0x10000]; |
69 | |
70 | #define VBlankON (PPU[0]&0x80) /* Generate VBlank NMI */ |
92e249b1 |
71 | #define SpHitON (PPU[0]&0x40) |
c62d2810 |
72 | #define Sprite16 (PPU[0]&0x20) /* Sprites 8x16/8x8 */ |
73 | #define BGAdrHI (PPU[0]&0x10) /* BG pattern adr $0000/$1000 */ |
74 | #define SpAdrHI (PPU[0]&0x08) /* Sprite pattern adr $0000/$1000 */ |
75 | #define INC32 (PPU[0]&0x04) /* auto increment 1/32 */ |
76 | #define NameTable (PPU[0]&0x3) /* name table $2000/$2400/$2800/$2C00 */ |
77 | |
78 | #define SpriteON (PPU[1]&0x10) /* Show Sprite */ |
79 | #define ScreenON (PPU[1]&0x08) /* Show screen */ |
80 | #define PPU_status (PPU[2]) |
81 | |
82 | |
c4980f9e |
83 | extern void (*GameInterface)(int h, void *param); |
c62d2810 |
84 | extern void FP_FASTAPASS(1) (*PPU_hook)(uint32 A); |
d97315ac |
85 | extern void (*GameHBIRQHook)(void), (*GameHBIRQHook2)(void); |
c62d2810 |
86 | extern void (*GameStateRestore)(int version); |
87 | |
88 | #define GI_RESETM2 1 |
89 | #define GI_POWER 2 |
90 | #define GI_CLOSE 3 |
386f5371 |
91 | #define GI_RESETSAVE 4 |
c4980f9e |
92 | #define GI_INFOSTRING 11 |
c62d2810 |
93 | |
94 | #include "git.h" |
95 | extern FCEUGI FCEUGameInfo; |
386f5371 |
96 | extern FCEUGI *GameInfo; // FCEUX compatibility HACK |
c62d2810 |
97 | extern int GameAttributes; |
98 | |
d97315ac |
99 | extern uint8 pale; |
100 | extern uint8 vsdip; |
101 | |
c62d2810 |
102 | |
103 | #endif |
104 | |
105 | #define _FCEH |
106 | |