rlm@1
|
1 #include "GBAGlobals.h"
|
rlm@1
|
2
|
rlm@1
|
3 reg_pair reg[45];
|
rlm@1
|
4 memoryMap map[256];
|
rlm@1
|
5 bool8 ioReadable[0x400];
|
rlm@1
|
6 bool8 N_FLAG = 0;
|
rlm@1
|
7 bool8 C_FLAG = 0;
|
rlm@1
|
8 bool8 Z_FLAG = 0;
|
rlm@1
|
9 bool8 V_FLAG = 0;
|
rlm@1
|
10 bool8 armState = true;
|
rlm@1
|
11 bool8 armIrqEnable = true;
|
rlm@1
|
12 u32 armNextPC = 0x00000000;
|
rlm@1
|
13 int32 armMode = 0x1f;
|
rlm@1
|
14 u32 stop = 0x08000568;
|
rlm@1
|
15 int32 saveType = 0;
|
rlm@1
|
16 bool8 useBios = false;
|
rlm@1
|
17 bool8 skipBios = false;
|
rlm@1
|
18 int32 frameSkip = 1;
|
rlm@1
|
19 u32 extButtons = 0;
|
rlm@1
|
20 bool8 capturePrevious = false;
|
rlm@1
|
21 int32 captureNumber = 0;
|
rlm@1
|
22 bool8 speedup = false;
|
rlm@1
|
23 bool8 synchronize = true;
|
rlm@1
|
24 bool8 cpuDisableSfx = false;
|
rlm@1
|
25 bool8 cpuIsMultiBoot = false;
|
rlm@1
|
26 bool8 parseDebug = true;
|
rlm@1
|
27 int32 layerSettings = 0xff00;
|
rlm@1
|
28 int32 layerEnable = 0xff00;
|
rlm@1
|
29 bool8 speedHack = false;
|
rlm@1
|
30 bool8 memLagEnabled = false;
|
rlm@1
|
31 bool8 memLagTempEnabled = false;
|
rlm@1
|
32 bool8 useOldFrameTiming = false;
|
rlm@1
|
33 int32 cpuSaveType = 0;
|
rlm@1
|
34 bool8 cpuEnhancedDetection = true;
|
rlm@1
|
35 bool8 cheatsEnabled = true;
|
rlm@1
|
36
|
rlm@1
|
37 u8 *bios = NULL;
|
rlm@1
|
38 u8 *rom = NULL;
|
rlm@1
|
39 u8 *internalRAM = NULL;
|
rlm@1
|
40 u8 *workRAM = NULL;
|
rlm@1
|
41 u8 *paletteRAM = NULL;
|
rlm@1
|
42 u8 *vram = NULL;
|
rlm@1
|
43 u8 *pix = NULL;
|
rlm@1
|
44 u8 *oam = NULL;
|
rlm@1
|
45 u8 *ioMem = NULL;
|
rlm@1
|
46
|
rlm@1
|
47 u16 DISPCNT = 0x0080;
|
rlm@1
|
48 u16 DISPSTAT = 0x0000;
|
rlm@1
|
49 u16 VCOUNT = 0x0000;
|
rlm@1
|
50 u16 BG0CNT = 0x0000;
|
rlm@1
|
51 u16 BG1CNT = 0x0000;
|
rlm@1
|
52 u16 BG2CNT = 0x0000;
|
rlm@1
|
53 u16 BG3CNT = 0x0000;
|
rlm@1
|
54 u16 BG0HOFS = 0x0000;
|
rlm@1
|
55 u16 BG0VOFS = 0x0000;
|
rlm@1
|
56 u16 BG1HOFS = 0x0000;
|
rlm@1
|
57 u16 BG1VOFS = 0x0000;
|
rlm@1
|
58 u16 BG2HOFS = 0x0000;
|
rlm@1
|
59 u16 BG2VOFS = 0x0000;
|
rlm@1
|
60 u16 BG3HOFS = 0x0000;
|
rlm@1
|
61 u16 BG3VOFS = 0x0000;
|
rlm@1
|
62 u16 BG2PA = 0x0100;
|
rlm@1
|
63 u16 BG2PB = 0x0000;
|
rlm@1
|
64 u16 BG2PC = 0x0000;
|
rlm@1
|
65 u16 BG2PD = 0x0100;
|
rlm@1
|
66 u16 BG2X_L = 0x0000;
|
rlm@1
|
67 u16 BG2X_H = 0x0000;
|
rlm@1
|
68 u16 BG2Y_L = 0x0000;
|
rlm@1
|
69 u16 BG2Y_H = 0x0000;
|
rlm@1
|
70 u16 BG3PA = 0x0100;
|
rlm@1
|
71 u16 BG3PB = 0x0000;
|
rlm@1
|
72 u16 BG3PC = 0x0000;
|
rlm@1
|
73 u16 BG3PD = 0x0100;
|
rlm@1
|
74 u16 BG3X_L = 0x0000;
|
rlm@1
|
75 u16 BG3X_H = 0x0000;
|
rlm@1
|
76 u16 BG3Y_L = 0x0000;
|
rlm@1
|
77 u16 BG3Y_H = 0x0000;
|
rlm@1
|
78 u16 WIN0H = 0x0000;
|
rlm@1
|
79 u16 WIN1H = 0x0000;
|
rlm@1
|
80 u16 WIN0V = 0x0000;
|
rlm@1
|
81 u16 WIN1V = 0x0000;
|
rlm@1
|
82 u16 WININ = 0x0000;
|
rlm@1
|
83 u16 WINOUT = 0x0000;
|
rlm@1
|
84 u16 MOSAIC = 0x0000;
|
rlm@1
|
85 u16 BLDMOD = 0x0000;
|
rlm@1
|
86 u16 COLEV = 0x0000;
|
rlm@1
|
87 u16 COLY = 0x0000;
|
rlm@1
|
88 u16 DM0SAD_L = 0x0000;
|
rlm@1
|
89 u16 DM0SAD_H = 0x0000;
|
rlm@1
|
90 u16 DM0DAD_L = 0x0000;
|
rlm@1
|
91 u16 DM0DAD_H = 0x0000;
|
rlm@1
|
92 u16 DM0CNT_L = 0x0000;
|
rlm@1
|
93 u16 DM0CNT_H = 0x0000;
|
rlm@1
|
94 u16 DM1SAD_L = 0x0000;
|
rlm@1
|
95 u16 DM1SAD_H = 0x0000;
|
rlm@1
|
96 u16 DM1DAD_L = 0x0000;
|
rlm@1
|
97 u16 DM1DAD_H = 0x0000;
|
rlm@1
|
98 u16 DM1CNT_L = 0x0000;
|
rlm@1
|
99 u16 DM1CNT_H = 0x0000;
|
rlm@1
|
100 u16 DM2SAD_L = 0x0000;
|
rlm@1
|
101 u16 DM2SAD_H = 0x0000;
|
rlm@1
|
102 u16 DM2DAD_L = 0x0000;
|
rlm@1
|
103 u16 DM2DAD_H = 0x0000;
|
rlm@1
|
104 u16 DM2CNT_L = 0x0000;
|
rlm@1
|
105 u16 DM2CNT_H = 0x0000;
|
rlm@1
|
106 u16 DM3SAD_L = 0x0000;
|
rlm@1
|
107 u16 DM3SAD_H = 0x0000;
|
rlm@1
|
108 u16 DM3DAD_L = 0x0000;
|
rlm@1
|
109 u16 DM3DAD_H = 0x0000;
|
rlm@1
|
110 u16 DM3CNT_L = 0x0000;
|
rlm@1
|
111 u16 DM3CNT_H = 0x0000;
|
rlm@1
|
112 u16 TM0D = 0x0000;
|
rlm@1
|
113 u16 TM0CNT = 0x0000;
|
rlm@1
|
114 u16 TM1D = 0x0000;
|
rlm@1
|
115 u16 TM1CNT = 0x0000;
|
rlm@1
|
116 u16 TM2D = 0x0000;
|
rlm@1
|
117 u16 TM2CNT = 0x0000;
|
rlm@1
|
118 u16 TM3D = 0x0000;
|
rlm@1
|
119 u16 TM3CNT = 0x0000;
|
rlm@1
|
120 u16 P1 = 0xFFFF;
|
rlm@1
|
121 u16 IE = 0x0000;
|
rlm@1
|
122 u16 IF = 0x0000;
|
rlm@1
|
123 u16 IME = 0x0000;
|