// -*- C++ -*- // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator. // Copyright (C) 1999-2003 Forgotten // Copyright (C) 2005 Forgotten and the VBA development team // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2, or(at your option) // any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #ifndef VBA_GLOBALS_H #define VBA_GLOBALS_H #include "GBA.h" #define VERBOSE_SWI 1 #define VERBOSE_UNALIGNED_MEMORY 2 #define VERBOSE_ILLEGAL_WRITE 4 #define VERBOSE_ILLEGAL_READ 8 #define VERBOSE_DMA0 16 #define VERBOSE_DMA1 32 #define VERBOSE_DMA2 64 #define VERBOSE_DMA3 128 #define VERBOSE_UNDEFINED 256 #define VERBOSE_AGBPRINT 512 #define VERBOSE_SOUNDOUTPUT 1024 extern reg_pair reg[45]; extern bool ioReadable[0x400]; extern bool N_FLAG; extern bool C_FLAG; extern bool Z_FLAG; extern bool V_FLAG; extern bool armState; extern bool armIrqEnable; extern u32 armNextPC; extern int armMode; extern u32 stop; extern int saveType; extern bool useBios; extern bool skipBios; extern int frameSkip; extern bool speedup; extern bool synchronize; extern bool cpuDisableSfx; extern bool cpuIsMultiBoot; extern bool parseDebug; extern int layerSettings; extern int layerEnable; extern bool speedHack; extern int cpuSaveType; extern bool cheatsEnabled; extern bool mirroringEnable; extern bool skipSaveGameBattery; extern u8 *bios; extern u8 *rom; extern u8 *internalRAM; extern u8 *workRAM; extern u8 *paletteRAM; extern u8 *vram; extern u8 *pix; extern u8 *oam; extern u8 *ioMem; extern u16 DISPCNT; extern u16 DISPSTAT; extern u16 VCOUNT; extern u16 BG0CNT; extern u16 BG1CNT; extern u16 BG2CNT; extern u16 BG3CNT; extern u16 BG0HOFS; extern u16 BG0VOFS; extern u16 BG1HOFS; extern u16 BG1VOFS; extern u16 BG2HOFS; extern u16 BG2VOFS; extern u16 BG3HOFS; extern u16 BG3VOFS; extern u16 BG2PA; extern u16 BG2PB; extern u16 BG2PC; extern u16 BG2PD; extern u16 BG2X_L; extern u16 BG2X_H; extern u16 BG2Y_L; extern u16 BG2Y_H; extern u16 BG3PA; extern u16 BG3PB; extern u16 BG3PC; extern u16 BG3PD; extern u16 BG3X_L; extern u16 BG3X_H; extern u16 BG3Y_L; extern u16 BG3Y_H; extern u16 WIN0H; extern u16 WIN1H; extern u16 WIN0V; extern u16 WIN1V; extern u16 WININ; extern u16 WINOUT; extern u16 MOSAIC; extern u16 BLDMOD; extern u16 COLEV; extern u16 COLY; extern u16 DM0SAD_L; extern u16 DM0SAD_H; extern u16 DM0DAD_L; extern u16 DM0DAD_H; extern u16 DM0CNT_L; extern u16 DM0CNT_H; extern u16 DM1SAD_L; extern u16 DM1SAD_H; extern u16 DM1DAD_L; extern u16 DM1DAD_H; extern u16 DM1CNT_L; extern u16 DM1CNT_H; extern u16 DM2SAD_L; extern u16 DM2SAD_H; extern u16 DM2DAD_L; extern u16 DM2DAD_H; extern u16 DM2CNT_L; extern u16 DM2CNT_H; extern u16 DM3SAD_L; extern u16 DM3SAD_H; extern u16 DM3DAD_L; extern u16 DM3DAD_H; extern u16 DM3CNT_L; extern u16 DM3CNT_H; extern u16 TM0D; extern u16 TM0CNT; extern u16 TM1D; extern u16 TM1CNT; extern u16 TM2D; extern u16 TM2CNT; extern u16 TM3D; extern u16 TM3CNT; extern u16 P1; extern u16 IE; extern u16 IF; extern u16 IME; #endif // VBA_GLOBALS_H