4 void asmcpu_unpack(void);
5 void asmcpu_pack(void);
10 extern int use098code;
12 extern int GameLoaded;
13 void ResetGameLoaded(void);
15 #define DECLFR(x) uint8 FP_FASTAPASS(1) x (uint32 A)
16 #define DECLFW(x) void FP_FASTAPASS(2) x (uint32 A, uint8 V)
18 void FCEU_MemoryRand(uint8 *ptr, uint32 size);
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);
24 int AllocGenieRW(void);
25 void FlushGenieRW(void);
27 void FCEU_ResetVidSys(void);
29 void ResetMapping(void);
31 extern void (*ResetNES)(void);
33 void ResetNES081(void);
37 extern uint64 timestampbase;
38 extern uint32 MMC5HackVROMMask;
39 extern uint8 *MMC5HackExNTARAMPtr;
41 extern uint8 *MMC5HackVROMPTR;
42 extern uint8 MMC5HackCHRMode;
43 extern uint8 MMC5HackSPMode;
44 extern uint8 MMC5HackSPScroll;
45 extern uint8 MMC5HackSPPage;
47 #define GAME_MEM_BLOCK_SIZE 131072
49 extern uint8 GameMemBlock[GAME_MEM_BLOCK_SIZE];
50 extern uint8 NTARAM[0x800],PALRAM[0x20];
52 extern uint8 RAM[0x800];
55 extern uint32 RefreshAddr,TempAddr;
56 extern uint8 vtoggle,XOffset,VRAMBuffer,PPUGenLatch;
60 extern uint8 *vnapage[4];
62 extern uint8 PPUNTARAM;
63 extern uint8 PPUCHRRAM;
67 extern readfunc ARead[0x10000];
68 extern writefunc BWrite[0x10000];
70 #define VBlankON (PPU[0]&0x80) /* Generate VBlank NMI */
71 #define SpHitON (PPU[0]&0x40)
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 */
78 #define SpriteON (PPU[1]&0x10) /* Show Sprite */
79 #define ScreenON (PPU[1]&0x08) /* Show screen */
80 #define PPU_status (PPU[2])
83 extern void (*GameInterface)(int h, void *param);
84 extern void FP_FASTAPASS(1) (*PPU_hook)(uint32 A);
85 extern void (*GameHBIRQHook)(void), (*GameHBIRQHook2)(void);
86 extern void (*GameStateRestore)(int version);
91 #define GI_RESETSAVE 4
92 #define GI_INFOSTRING 11
95 extern FCEUGI FCEUGameInfo;
96 extern FCEUGI *GameInfo; // FCEUX compatibility HACK
97 extern int GameAttributes;