remove more unportable ASM, obsoleting C_CORE define
[rofl0r-VisualBoyAdvance.git] / src / Globals.h
blob8a1e1d35f7b0dfbdefcade9f4d88420adfbe12b2
1 // -*- C++ -*-
2 // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
3 // Copyright (C) 1999-2003 Forgotten
4 // Copyright (C) 2005 Forgotten and the VBA development team
6 // This program is free software; you can redistribute it and/or modify
7 // it under the terms of the GNU General Public License as published by
8 // the Free Software Foundation; either version 2, or(at your option)
9 // any later version.
11 // This program is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License
17 // along with this program; if not, write to the Free Software Foundation,
18 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
20 #ifndef VBA_GLOBALS_H
21 #define VBA_GLOBALS_H
23 #include "GBA.h"
25 #define VERBOSE_SWI 1
26 #define VERBOSE_UNALIGNED_MEMORY 2
27 #define VERBOSE_ILLEGAL_WRITE 4
28 #define VERBOSE_ILLEGAL_READ 8
29 #define VERBOSE_DMA0 16
30 #define VERBOSE_DMA1 32
31 #define VERBOSE_DMA2 64
32 #define VERBOSE_DMA3 128
33 #define VERBOSE_UNDEFINED 256
34 #define VERBOSE_AGBPRINT 512
36 extern reg_pair reg[45];
37 extern bool ioReadable[0x400];
38 extern bool N_FLAG;
39 extern bool C_FLAG;
40 extern bool Z_FLAG;
41 extern bool V_FLAG;
42 extern bool armState;
43 extern bool armIrqEnable;
44 extern u32 armNextPC;
45 extern int armMode;
46 extern u32 stop;
47 extern int saveType;
48 #define DEF_USEBIOS false
49 extern bool useBios;
50 #define DEF_SKIPBIOS false
51 extern bool skipBios;
52 extern int frameSkip;
53 extern bool speedup;
54 extern bool synchronize;
55 extern bool cpuDisableSfx;
56 extern bool cpuIsMultiBoot;
57 extern bool parseDebug;
58 extern int layerSettings;
59 extern int layerEnable;
60 extern bool speedHack;
61 extern int cpuSaveType;
62 extern bool cheatsEnabled;
63 extern bool mirroringEnable;
65 extern u8 *bios;
66 extern u8 *rom;
67 extern u8 *internalRAM;
68 extern u8 *workRAM;
69 extern u8 *paletteRAM;
70 extern u8 *vram;
71 extern u8 *pix;
72 extern u8 *oam;
73 extern u8 *ioMem;
75 extern u16 DISPCNT;
76 extern u16 DISPSTAT;
77 extern u16 VCOUNT;
78 extern u16 BG0CNT;
79 extern u16 BG1CNT;
80 extern u16 BG2CNT;
81 extern u16 BG3CNT;
82 extern u16 BG0HOFS;
83 extern u16 BG0VOFS;
84 extern u16 BG1HOFS;
85 extern u16 BG1VOFS;
86 extern u16 BG2HOFS;
87 extern u16 BG2VOFS;
88 extern u16 BG3HOFS;
89 extern u16 BG3VOFS;
90 extern u16 BG2PA;
91 extern u16 BG2PB;
92 extern u16 BG2PC;
93 extern u16 BG2PD;
94 extern u16 BG2X_L;
95 extern u16 BG2X_H;
96 extern u16 BG2Y_L;
97 extern u16 BG2Y_H;
98 extern u16 BG3PA;
99 extern u16 BG3PB;
100 extern u16 BG3PC;
101 extern u16 BG3PD;
102 extern u16 BG3X_L;
103 extern u16 BG3X_H;
104 extern u16 BG3Y_L;
105 extern u16 BG3Y_H;
106 extern u16 WIN0H;
107 extern u16 WIN1H;
108 extern u16 WIN0V;
109 extern u16 WIN1V;
110 extern u16 WININ;
111 extern u16 WINOUT;
112 extern u16 MOSAIC;
113 extern u16 BLDMOD;
114 extern u16 COLEV;
115 extern u16 COLY;
116 extern u16 DM0SAD_L;
117 extern u16 DM0SAD_H;
118 extern u16 DM0DAD_L;
119 extern u16 DM0DAD_H;
120 extern u16 DM0CNT_L;
121 extern u16 DM0CNT_H;
122 extern u16 DM1SAD_L;
123 extern u16 DM1SAD_H;
124 extern u16 DM1DAD_L;
125 extern u16 DM1DAD_H;
126 extern u16 DM1CNT_L;
127 extern u16 DM1CNT_H;
128 extern u16 DM2SAD_L;
129 extern u16 DM2SAD_H;
130 extern u16 DM2DAD_L;
131 extern u16 DM2DAD_H;
132 extern u16 DM2CNT_L;
133 extern u16 DM2CNT_H;
134 extern u16 DM3SAD_L;
135 extern u16 DM3SAD_H;
136 extern u16 DM3DAD_L;
137 extern u16 DM3DAD_H;
138 extern u16 DM3CNT_L;
139 extern u16 DM3CNT_H;
140 extern u16 TM0D;
141 extern u16 TM0CNT;
142 extern u16 TM1D;
143 extern u16 TM1CNT;
144 extern u16 TM2D;
145 extern u16 TM2CNT;
146 extern u16 TM3D;
147 extern u16 TM3CNT;
148 extern u16 P1;
149 extern u16 IE;
150 extern u16 IF;
151 extern u16 IME;
153 #endif // VBA_GLOBALS_H