initial fce ultra 0.81 import
[fceu.git] / fce.h
CommitLineData
c62d2810 1#ifndef _FCEH
2extern int GameLoaded;
3void ResetGameLoaded(void);
4
5#define DECLFR(x) uint8 FP_FASTAPASS(1) x (uint32 A)
6#define DECLFW(x) void FP_FASTAPASS(2) x (uint32 A, uint8 V)
7
8void FASTAPASS(3) SetReadHandler(int32 start, int32 end, readfunc func);
9void FASTAPASS(3) SetWriteHandler(int32 start, int32 end, writefunc func);
10writefunc FASTAPASS(1) GetWriteHandler(int32 a);
11readfunc FASTAPASS(1) GetReadHandler(int32 a);
12
13int AllocGenieRW(void);
14void FlushGenieRW(void);
15
16void FCEU_ResetVidSys(void);
17
18void ResetMapping(void);
19void ResetNES(void);
20void PowerNES(void);
21
22
23extern uint64 timestampbase;
24extern uint32 MMC5HackVROMMask;
25extern uint8 *MMC5HackExNTARAMPtr;
26extern int MMC5Hack;
27extern uint8 *MMC5HackVROMPTR;
28extern uint8 MMC5HackCHRMode;
29extern uint8 MMC5HackSPMode;
30extern uint8 MMC5HackSPScroll;
31extern uint8 MMC5HackSPPage;
32
33extern uint8 RAM[0x800],SPRAM[0x100],NTARAM[0x800],PALRAM[0x20],SPRAM[0x100],SPRBUF[0x100];
34extern uint8 GameMemBlock[131072];
35
36extern uint32 RefreshAddr,TempAddr;
37extern uint8 vtoggle,XOffset,VRAMBuffer,PPUGenLatch;
38extern uint8 PPU[4];
39
40extern int scanline;
41extern uint8 *vnapage[4];
42
43extern uint8 PPUNTARAM;
44extern uint8 PPUCHRRAM;
45extern uint8 VPAL[8];
46extern uint8 PAL;
47
48extern readfunc ARead[0x10000];
49extern writefunc BWrite[0x10000];
50
51#define VBlankON (PPU[0]&0x80) /* Generate VBlank NMI */
52#define SpHitON (PPU[0]&0x40)
53#define Sprite16 (PPU[0]&0x20) /* Sprites 8x16/8x8 */
54#define BGAdrHI (PPU[0]&0x10) /* BG pattern adr $0000/$1000 */
55#define SpAdrHI (PPU[0]&0x08) /* Sprite pattern adr $0000/$1000 */
56#define INC32 (PPU[0]&0x04) /* auto increment 1/32 */
57#define NameTable (PPU[0]&0x3) /* name table $2000/$2400/$2800/$2C00 */
58
59#define SpriteON (PPU[1]&0x10) /* Show Sprite */
60#define ScreenON (PPU[1]&0x08) /* Show screen */
61#define PPU_status (PPU[2])
62
63
64extern void (*GameInterface)(int h);
65extern void FP_FASTAPASS(1) (*PPU_hook)(uint32 A);
66extern void (*GameHBIRQHook)(void);
67extern void (*GameStateRestore)(int version);
68
69#define GI_RESETM2 1
70#define GI_POWER 2
71#define GI_CLOSE 3
72
73#include "git.h"
74extern FCEUGI FCEUGameInfo;
75extern int GameAttributes;
76
77
78#endif
79
80#define _FCEH
81