release r2, update credits
[fceu.git] / fce.h
diff --git a/fce.h b/fce.h
index ba90d75..dde07c0 100644 (file)
--- a/fce.h
+++ b/fce.h
@@ -1,10 +1,21 @@
 #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);
 
 #define DECLFR(x) uint8 FP_FASTAPASS(1) x (uint32 A)
 #define DECLFW(x) void FP_FASTAPASS(2) x (uint32 A, uint8 V)
 
+void FCEU_MemoryRand(uint8 *ptr, uint32 size);
 void FASTAPASS(3) SetReadHandler(int32 start, int32 end, readfunc func);
 void FASTAPASS(3) SetWriteHandler(int32 start, int32 end, writefunc func);
 writefunc FASTAPASS(1) GetWriteHandler(int32 a);
@@ -16,7 +27,10 @@ void FlushGenieRW(void);
 void FCEU_ResetVidSys(void);
 
 void ResetMapping(void);
-void ResetNES(void);
+
+extern void (*ResetNES)(void);
+
+void ResetNES081(void);
 void PowerNES(void);
 
 
@@ -30,8 +44,13 @@ extern uint8 MMC5HackSPMode;
 extern uint8 MMC5HackSPScroll;
 extern uint8 MMC5HackSPPage;
 
-extern uint8 RAM[0x800],SPRAM[0x100],NTARAM[0x800],PALRAM[0x20],SPRAM[0x100],SPRBUF[0x100];
-extern uint8 GameMemBlock[131072];
+#define GAME_MEM_BLOCK_SIZE 131072
+
+extern uint8 GameMemBlock[GAME_MEM_BLOCK_SIZE];
+extern uint8 NTARAM[0x800],PALRAM[0x20];
+
+extern uint8 RAM[0x800];
+
 
 extern uint32 RefreshAddr,TempAddr;
 extern uint8 vtoggle,XOffset,VRAMBuffer,PPUGenLatch;
@@ -49,7 +68,7 @@ extern readfunc ARead[0x10000];
 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 */
@@ -61,19 +80,25 @@ extern writefunc BWrite[0x10000];
 #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_RESETSAVE   4
+#define GI_INFOSTRING  11
 
 #include "git.h"
 extern FCEUGI FCEUGameInfo;
+extern FCEUGI *GameInfo; // FCEUX compatibility HACK
 extern int GameAttributes;
 
+extern uint8 pale;
+extern uint8 vsdip;
+
 
 #endif