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