#ifndef _FCEH
+
+#ifdef ASM_6502
+void asmcpu_unpack(void);
+void asmcpu_pack(void);
+#endif
+
+#define fceuindbg 0
+
+extern int use098code;
+
extern int GameLoaded;
void ResetGameLoaded(void);
void FCEU_ResetVidSys(void);
void ResetMapping(void);
-void ResetNES(void);
+
+extern void (*ResetNES)(void);
+
+void ResetNES081(void);
void PowerNES(void);
extern uint8 MMC5HackSPScroll;
extern uint8 MMC5HackSPPage;
-extern uint8 RAM[0x800],SPRAM[0x100],NTARAM[0x800],PALRAM[0x20],SPRAM[0x100],SPRBUF[0x100];
extern uint8 GameMemBlock[131072];
+extern uint8 NTARAM[0x800],PALRAM[0x20];
+
+extern uint8 RAM[0x800];
+
extern uint32 RefreshAddr,TempAddr;
extern uint8 vtoggle,XOffset,VRAMBuffer,PPUGenLatch;
extern writefunc BWrite[0x10000];
#define VBlankON (PPU[0]&0x80) /* Generate VBlank NMI */
-#define SpHitON (PPU[0]&0x40)
+#define SpHitON (PPU[0]&0x40)
#define Sprite16 (PPU[0]&0x20) /* Sprites 8x16/8x8 */
#define BGAdrHI (PPU[0]&0x10) /* BG pattern adr $0000/$1000 */
#define SpAdrHI (PPU[0]&0x08) /* Sprite pattern adr $0000/$1000 */
#define PPU_status (PPU[2])
-extern void (*GameInterface)(int h);
+extern void (*GameInterface)(int h, void *param);
extern void FP_FASTAPASS(1) (*PPU_hook)(uint32 A);
-extern void (*GameHBIRQHook)(void);
+extern void (*GameHBIRQHook)(void), (*GameHBIRQHook2)(void);
extern void (*GameStateRestore)(int version);
#define GI_RESETM2 1
#define GI_POWER 2
#define GI_CLOSE 3
+#define GI_INFOSTRING 11
#include "git.h"
extern FCEUGI FCEUGameInfo;
extern int GameAttributes;
+extern uint8 pale;
+extern uint8 vsdip;
+
#endif