X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=fce.h;h=dde07c07607e535a4f61f38f1f4efaa27a7f6a96;hp=ba90d75aa7ff24551fe363f00b92a0ebe5448e2d;hb=refs%2Fheads%2Fmaster;hpb=c62d28102c77e19c291c78bf6bf7f0a81abd54b9 diff --git a/fce.h b/fce.h index ba90d75..dde07c0 100644 --- 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