(As an aside, blargg's code style makes me go blarg myself.)
| ... | ... |
@@ -1,96 +1,70 @@ |
| 1 | 1 |
#include "GBA.h" |
| 2 | 2 |
|
| 3 |
-#ifdef BKPT_SUPPORT |
|
| 4 |
-int oldreg[18]; |
|
| 5 |
-char oldbuffer[10]; |
|
| 6 |
-#endif |
|
| 7 |
- |
|
| 8 | 3 |
reg_pair reg[45]; |
| 9 | 4 |
memoryMap map[256]; |
| 10 | 5 |
bool ioReadable[0x400]; |
| 11 |
-bool N_FLAG = 0; |
|
| 12 |
-bool C_FLAG = 0; |
|
| 13 |
-bool Z_FLAG = 0; |
|
| 14 |
-bool V_FLAG = 0; |
|
| 6 |
+bool N_FLAG = false; |
|
| 7 |
+bool C_FLAG = false; |
|
| 8 |
+bool Z_FLAG = false; |
|
| 9 |
+bool V_FLAG = false; |
|
| 15 | 10 |
bool armState = true; |
| 16 | 11 |
bool armIrqEnable = true; |
| 17 | 12 |
uint32_t armNextPC = 0x00000000; |
| 18 | 13 |
int armMode = 0x1f; |
| 19 |
-uint32_t stop = 0x08000568; |
|
| 20 |
-int saveType = 0; |
|
| 21 |
-bool useBios = false; |
|
| 22 |
-bool skipBios = false; |
|
| 23 |
-int frameSkip = 1; |
|
| 24 |
-bool speedup = false; |
|
| 25 |
-bool synchronize = true; |
|
| 26 |
-bool cpuDisableSfx = false; |
|
| 27 | 14 |
bool cpuIsMultiBoot = false; |
| 28 |
-bool parseDebug = true; |
|
| 29 | 15 |
int layerSettings = 0xff00; |
| 30 | 16 |
int layerEnable = 0xff00; |
| 31 |
-bool speedHack = false; |
|
| 32 |
-int cpuSaveType = 0; |
|
| 33 |
-bool cheatsEnabled = true; |
|
| 34 |
-bool mirroringEnable = false; |
|
| 35 |
-bool skipSaveGameBattery = false; |
|
| 36 |
-bool skipSaveGameCheats = false; |
|
| 37 |
- |
|
| 38 |
-// this is an optional hack to change the backdrop/background color: |
|
| 39 |
-// -1: disabled |
|
| 40 |
-// 0x0000 to 0x7FFF: set custom 15 bit color |
|
| 41 |
-int customBackdropColor = -1; |
|
| 42 | 17 |
|
| 43 |
-uint8_t *bios = 0; |
|
| 44 |
-uint8_t *rom = 0; |
|
| 45 |
-uint8_t *internalRAM = 0; |
|
| 46 |
-uint8_t *workRAM = 0; |
|
| 47 |
-uint8_t *paletteRAM = 0; |
|
| 48 |
-uint8_t *vram = 0; |
|
| 49 |
-uint8_t *pix = 0; |
|
| 50 |
-uint8_t *oam = 0; |
|
| 51 |
-uint8_t *ioMem = 0; |
|
| 18 |
+uint8_t bios[0x4000]; |
|
| 19 |
+uint8_t rom[0x2000000]; |
|
| 20 |
+uint8_t internalRAM[0x8000]; |
|
| 21 |
+uint8_t workRAM[0x40000]; |
|
| 22 |
+uint8_t paletteRAM[0x400]; |
|
| 23 |
+uint8_t vram[0x20000]; |
|
| 24 |
+uint8_t oam[0x400]; |
|
| 25 |
+uint8_t ioMem[0x400]; |
|
| 52 | 26 |
|
| 53 |
-uint16_t DISPCNT = 0x0080; |
|
| 27 |
+uint16_t DISPCNT = 0x0080; |
|
| 54 | 28 |
uint16_t DISPSTAT = 0x0000; |
| 55 |
-uint16_t VCOUNT = 0x0000; |
|
| 56 |
-uint16_t BG0CNT = 0x0000; |
|
| 57 |
-uint16_t BG1CNT = 0x0000; |
|
| 58 |
-uint16_t BG2CNT = 0x0000; |
|
| 59 |
-uint16_t BG3CNT = 0x0000; |
|
| 60 |
-uint16_t BG0HOFS = 0x0000; |
|
| 61 |
-uint16_t BG0VOFS = 0x0000; |
|
| 62 |
-uint16_t BG1HOFS = 0x0000; |
|
| 63 |
-uint16_t BG1VOFS = 0x0000; |
|
| 64 |
-uint16_t BG2HOFS = 0x0000; |
|
| 65 |
-uint16_t BG2VOFS = 0x0000; |
|
| 66 |
-uint16_t BG3HOFS = 0x0000; |
|
| 67 |
-uint16_t BG3VOFS = 0x0000; |
|
| 68 |
-uint16_t BG2PA = 0x0100; |
|
| 69 |
-uint16_t BG2PB = 0x0000; |
|
| 70 |
-uint16_t BG2PC = 0x0000; |
|
| 71 |
-uint16_t BG2PD = 0x0100; |
|
| 72 |
-uint16_t BG2X_L = 0x0000; |
|
| 73 |
-uint16_t BG2X_H = 0x0000; |
|
| 74 |
-uint16_t BG2Y_L = 0x0000; |
|
| 75 |
-uint16_t BG2Y_H = 0x0000; |
|
| 76 |
-uint16_t BG3PA = 0x0100; |
|
| 77 |
-uint16_t BG3PB = 0x0000; |
|
| 78 |
-uint16_t BG3PC = 0x0000; |
|
| 79 |
-uint16_t BG3PD = 0x0100; |
|
| 80 |
-uint16_t BG3X_L = 0x0000; |
|
| 81 |
-uint16_t BG3X_H = 0x0000; |
|
| 82 |
-uint16_t BG3Y_L = 0x0000; |
|
| 83 |
-uint16_t BG3Y_H = 0x0000; |
|
| 84 |
-uint16_t WIN0H = 0x0000; |
|
| 85 |
-uint16_t WIN1H = 0x0000; |
|
| 86 |
-uint16_t WIN0V = 0x0000; |
|
| 87 |
-uint16_t WIN1V = 0x0000; |
|
| 88 |
-uint16_t WININ = 0x0000; |
|
| 89 |
-uint16_t WINOUT = 0x0000; |
|
| 90 |
-uint16_t MOSAIC = 0x0000; |
|
| 91 |
-uint16_t BLDMOD = 0x0000; |
|
| 92 |
-uint16_t COLEV = 0x0000; |
|
| 93 |
-uint16_t COLY = 0x0000; |
|
| 29 |
+uint16_t VCOUNT = 0x0000; |
|
| 30 |
+uint16_t BG0CNT = 0x0000; |
|
| 31 |
+uint16_t BG1CNT = 0x0000; |
|
| 32 |
+uint16_t BG2CNT = 0x0000; |
|
| 33 |
+uint16_t BG3CNT = 0x0000; |
|
| 34 |
+uint16_t BG0HOFS = 0x0000; |
|
| 35 |
+uint16_t BG0VOFS = 0x0000; |
|
| 36 |
+uint16_t BG1HOFS = 0x0000; |
|
| 37 |
+uint16_t BG1VOFS = 0x0000; |
|
| 38 |
+uint16_t BG2HOFS = 0x0000; |
|
| 39 |
+uint16_t BG2VOFS = 0x0000; |
|
| 40 |
+uint16_t BG3HOFS = 0x0000; |
|
| 41 |
+uint16_t BG3VOFS = 0x0000; |
|
| 42 |
+uint16_t BG2PA = 0x0100; |
|
| 43 |
+uint16_t BG2PB = 0x0000; |
|
| 44 |
+uint16_t BG2PC = 0x0000; |
|
| 45 |
+uint16_t BG2PD = 0x0100; |
|
| 46 |
+uint16_t BG2X_L = 0x0000; |
|
| 47 |
+uint16_t BG2X_H = 0x0000; |
|
| 48 |
+uint16_t BG2Y_L = 0x0000; |
|
| 49 |
+uint16_t BG2Y_H = 0x0000; |
|
| 50 |
+uint16_t BG3PA = 0x0100; |
|
| 51 |
+uint16_t BG3PB = 0x0000; |
|
| 52 |
+uint16_t BG3PC = 0x0000; |
|
| 53 |
+uint16_t BG3PD = 0x0100; |
|
| 54 |
+uint16_t BG3X_L = 0x0000; |
|
| 55 |
+uint16_t BG3X_H = 0x0000; |
|
| 56 |
+uint16_t BG3Y_L = 0x0000; |
|
| 57 |
+uint16_t BG3Y_H = 0x0000; |
|
| 58 |
+uint16_t WIN0H = 0x0000; |
|
| 59 |
+uint16_t WIN1H = 0x0000; |
|
| 60 |
+uint16_t WIN0V = 0x0000; |
|
| 61 |
+uint16_t WIN1V = 0x0000; |
|
| 62 |
+uint16_t WININ = 0x0000; |
|
| 63 |
+uint16_t WINOUT = 0x0000; |
|
| 64 |
+uint16_t MOSAIC = 0x0000; |
|
| 65 |
+uint16_t BLDMOD = 0x0000; |
|
| 66 |
+uint16_t COLEV = 0x0000; |
|
| 67 |
+uint16_t COLY = 0x0000; |
|
| 94 | 68 |
uint16_t DM0SAD_L = 0x0000; |
| 95 | 69 |
uint16_t DM0SAD_H = 0x0000; |
| 96 | 70 |
uint16_t DM0DAD_L = 0x0000; |
| ... | ... |
@@ -115,15 +89,15 @@ uint16_t DM3DAD_L = 0x0000; |
| 115 | 89 |
uint16_t DM3DAD_H = 0x0000; |
| 116 | 90 |
uint16_t DM3CNT_L = 0x0000; |
| 117 | 91 |
uint16_t DM3CNT_H = 0x0000; |
| 118 |
-uint16_t TM0D = 0x0000; |
|
| 119 |
-uint16_t TM0CNT = 0x0000; |
|
| 120 |
-uint16_t TM1D = 0x0000; |
|
| 121 |
-uint16_t TM1CNT = 0x0000; |
|
| 122 |
-uint16_t TM2D = 0x0000; |
|
| 123 |
-uint16_t TM2CNT = 0x0000; |
|
| 124 |
-uint16_t TM3D = 0x0000; |
|
| 125 |
-uint16_t TM3CNT = 0x0000; |
|
| 126 |
-uint16_t P1 = 0xFFFF; |
|
| 127 |
-uint16_t IE = 0x0000; |
|
| 128 |
-uint16_t IF = 0x0000; |
|
| 129 |
-uint16_t IME = 0x0000; |
|
| 92 |
+uint16_t TM0D = 0x0000; |
|
| 93 |
+uint16_t TM0CNT = 0x0000; |
|
| 94 |
+uint16_t TM1D = 0x0000; |
|
| 95 |
+uint16_t TM1CNT = 0x0000; |
|
| 96 |
+uint16_t TM2D = 0x0000; |
|
| 97 |
+uint16_t TM2CNT = 0x0000; |
|
| 98 |
+uint16_t TM3D = 0x0000; |
|
| 99 |
+uint16_t TM3CNT = 0x0000; |
|
| 100 |
+uint16_t P1 = 0xFFFF; |
|
| 101 |
+uint16_t IE = 0x0000; |
|
| 102 |
+uint16_t IF = 0x0000; |
|
| 103 |
+uint16_t IME = 0x0000; |
| ... | ... |
@@ -14,9 +14,9 @@ bool Z_FLAG = 0; |
| 14 | 14 |
bool V_FLAG = 0; |
| 15 | 15 |
bool armState = true; |
| 16 | 16 |
bool armIrqEnable = true; |
| 17 |
-u32 armNextPC = 0x00000000; |
|
| 17 |
+uint32_t armNextPC = 0x00000000; |
|
| 18 | 18 |
int armMode = 0x1f; |
| 19 |
-u32 stop = 0x08000568; |
|
| 19 |
+uint32_t stop = 0x08000568; |
|
| 20 | 20 |
int saveType = 0; |
| 21 | 21 |
bool useBios = false; |
| 22 | 22 |
bool skipBios = false; |
| ... | ... |
@@ -40,90 +40,90 @@ bool skipSaveGameCheats = false; |
| 40 | 40 |
// 0x0000 to 0x7FFF: set custom 15 bit color |
| 41 | 41 |
int customBackdropColor = -1; |
| 42 | 42 |
|
| 43 |
-u8 *bios = 0; |
|
| 44 |
-u8 *rom = 0; |
|
| 45 |
-u8 *internalRAM = 0; |
|
| 46 |
-u8 *workRAM = 0; |
|
| 47 |
-u8 *paletteRAM = 0; |
|
| 48 |
-u8 *vram = 0; |
|
| 49 |
-u8 *pix = 0; |
|
| 50 |
-u8 *oam = 0; |
|
| 51 |
-u8 *ioMem = 0; |
|
| 43 |
+uint8_t *bios = 0; |
|
| 44 |
+uint8_t *rom = 0; |
|
| 45 |
+uint8_t *internalRAM = 0; |
|
| 46 |
+uint8_t *workRAM = 0; |
|
| 47 |
+uint8_t *paletteRAM = 0; |
|
| 48 |
+uint8_t *vram = 0; |
|
| 49 |
+uint8_t *pix = 0; |
|
| 50 |
+uint8_t *oam = 0; |
|
| 51 |
+uint8_t *ioMem = 0; |
|
| 52 | 52 |
|
| 53 |
-u16 DISPCNT = 0x0080; |
|
| 54 |
-u16 DISPSTAT = 0x0000; |
|
| 55 |
-u16 VCOUNT = 0x0000; |
|
| 56 |
-u16 BG0CNT = 0x0000; |
|
| 57 |
-u16 BG1CNT = 0x0000; |
|
| 58 |
-u16 BG2CNT = 0x0000; |
|
| 59 |
-u16 BG3CNT = 0x0000; |
|
| 60 |
-u16 BG0HOFS = 0x0000; |
|
| 61 |
-u16 BG0VOFS = 0x0000; |
|
| 62 |
-u16 BG1HOFS = 0x0000; |
|
| 63 |
-u16 BG1VOFS = 0x0000; |
|
| 64 |
-u16 BG2HOFS = 0x0000; |
|
| 65 |
-u16 BG2VOFS = 0x0000; |
|
| 66 |
-u16 BG3HOFS = 0x0000; |
|
| 67 |
-u16 BG3VOFS = 0x0000; |
|
| 68 |
-u16 BG2PA = 0x0100; |
|
| 69 |
-u16 BG2PB = 0x0000; |
|
| 70 |
-u16 BG2PC = 0x0000; |
|
| 71 |
-u16 BG2PD = 0x0100; |
|
| 72 |
-u16 BG2X_L = 0x0000; |
|
| 73 |
-u16 BG2X_H = 0x0000; |
|
| 74 |
-u16 BG2Y_L = 0x0000; |
|
| 75 |
-u16 BG2Y_H = 0x0000; |
|
| 76 |
-u16 BG3PA = 0x0100; |
|
| 77 |
-u16 BG3PB = 0x0000; |
|
| 78 |
-u16 BG3PC = 0x0000; |
|
| 79 |
-u16 BG3PD = 0x0100; |
|
| 80 |
-u16 BG3X_L = 0x0000; |
|
| 81 |
-u16 BG3X_H = 0x0000; |
|
| 82 |
-u16 BG3Y_L = 0x0000; |
|
| 83 |
-u16 BG3Y_H = 0x0000; |
|
| 84 |
-u16 WIN0H = 0x0000; |
|
| 85 |
-u16 WIN1H = 0x0000; |
|
| 86 |
-u16 WIN0V = 0x0000; |
|
| 87 |
-u16 WIN1V = 0x0000; |
|
| 88 |
-u16 WININ = 0x0000; |
|
| 89 |
-u16 WINOUT = 0x0000; |
|
| 90 |
-u16 MOSAIC = 0x0000; |
|
| 91 |
-u16 BLDMOD = 0x0000; |
|
| 92 |
-u16 COLEV = 0x0000; |
|
| 93 |
-u16 COLY = 0x0000; |
|
| 94 |
-u16 DM0SAD_L = 0x0000; |
|
| 95 |
-u16 DM0SAD_H = 0x0000; |
|
| 96 |
-u16 DM0DAD_L = 0x0000; |
|
| 97 |
-u16 DM0DAD_H = 0x0000; |
|
| 98 |
-u16 DM0CNT_L = 0x0000; |
|
| 99 |
-u16 DM0CNT_H = 0x0000; |
|
| 100 |
-u16 DM1SAD_L = 0x0000; |
|
| 101 |
-u16 DM1SAD_H = 0x0000; |
|
| 102 |
-u16 DM1DAD_L = 0x0000; |
|
| 103 |
-u16 DM1DAD_H = 0x0000; |
|
| 104 |
-u16 DM1CNT_L = 0x0000; |
|
| 105 |
-u16 DM1CNT_H = 0x0000; |
|
| 106 |
-u16 DM2SAD_L = 0x0000; |
|
| 107 |
-u16 DM2SAD_H = 0x0000; |
|
| 108 |
-u16 DM2DAD_L = 0x0000; |
|
| 109 |
-u16 DM2DAD_H = 0x0000; |
|
| 110 |
-u16 DM2CNT_L = 0x0000; |
|
| 111 |
-u16 DM2CNT_H = 0x0000; |
|
| 112 |
-u16 DM3SAD_L = 0x0000; |
|
| 113 |
-u16 DM3SAD_H = 0x0000; |
|
| 114 |
-u16 DM3DAD_L = 0x0000; |
|
| 115 |
-u16 DM3DAD_H = 0x0000; |
|
| 116 |
-u16 DM3CNT_L = 0x0000; |
|
| 117 |
-u16 DM3CNT_H = 0x0000; |
|
| 118 |
-u16 TM0D = 0x0000; |
|
| 119 |
-u16 TM0CNT = 0x0000; |
|
| 120 |
-u16 TM1D = 0x0000; |
|
| 121 |
-u16 TM1CNT = 0x0000; |
|
| 122 |
-u16 TM2D = 0x0000; |
|
| 123 |
-u16 TM2CNT = 0x0000; |
|
| 124 |
-u16 TM3D = 0x0000; |
|
| 125 |
-u16 TM3CNT = 0x0000; |
|
| 126 |
-u16 P1 = 0xFFFF; |
|
| 127 |
-u16 IE = 0x0000; |
|
| 128 |
-u16 IF = 0x0000; |
|
| 129 |
-u16 IME = 0x0000; |
|
| 53 |
+uint16_t DISPCNT = 0x0080; |
|
| 54 |
+uint16_t DISPSTAT = 0x0000; |
|
| 55 |
+uint16_t VCOUNT = 0x0000; |
|
| 56 |
+uint16_t BG0CNT = 0x0000; |
|
| 57 |
+uint16_t BG1CNT = 0x0000; |
|
| 58 |
+uint16_t BG2CNT = 0x0000; |
|
| 59 |
+uint16_t BG3CNT = 0x0000; |
|
| 60 |
+uint16_t BG0HOFS = 0x0000; |
|
| 61 |
+uint16_t BG0VOFS = 0x0000; |
|
| 62 |
+uint16_t BG1HOFS = 0x0000; |
|
| 63 |
+uint16_t BG1VOFS = 0x0000; |
|
| 64 |
+uint16_t BG2HOFS = 0x0000; |
|
| 65 |
+uint16_t BG2VOFS = 0x0000; |
|
| 66 |
+uint16_t BG3HOFS = 0x0000; |
|
| 67 |
+uint16_t BG3VOFS = 0x0000; |
|
| 68 |
+uint16_t BG2PA = 0x0100; |
|
| 69 |
+uint16_t BG2PB = 0x0000; |
|
| 70 |
+uint16_t BG2PC = 0x0000; |
|
| 71 |
+uint16_t BG2PD = 0x0100; |
|
| 72 |
+uint16_t BG2X_L = 0x0000; |
|
| 73 |
+uint16_t BG2X_H = 0x0000; |
|
| 74 |
+uint16_t BG2Y_L = 0x0000; |
|
| 75 |
+uint16_t BG2Y_H = 0x0000; |
|
| 76 |
+uint16_t BG3PA = 0x0100; |
|
| 77 |
+uint16_t BG3PB = 0x0000; |
|
| 78 |
+uint16_t BG3PC = 0x0000; |
|
| 79 |
+uint16_t BG3PD = 0x0100; |
|
| 80 |
+uint16_t BG3X_L = 0x0000; |
|
| 81 |
+uint16_t BG3X_H = 0x0000; |
|
| 82 |
+uint16_t BG3Y_L = 0x0000; |
|
| 83 |
+uint16_t BG3Y_H = 0x0000; |
|
| 84 |
+uint16_t WIN0H = 0x0000; |
|
| 85 |
+uint16_t WIN1H = 0x0000; |
|
| 86 |
+uint16_t WIN0V = 0x0000; |
|
| 87 |
+uint16_t WIN1V = 0x0000; |
|
| 88 |
+uint16_t WININ = 0x0000; |
|
| 89 |
+uint16_t WINOUT = 0x0000; |
|
| 90 |
+uint16_t MOSAIC = 0x0000; |
|
| 91 |
+uint16_t BLDMOD = 0x0000; |
|
| 92 |
+uint16_t COLEV = 0x0000; |
|
| 93 |
+uint16_t COLY = 0x0000; |
|
| 94 |
+uint16_t DM0SAD_L = 0x0000; |
|
| 95 |
+uint16_t DM0SAD_H = 0x0000; |
|
| 96 |
+uint16_t DM0DAD_L = 0x0000; |
|
| 97 |
+uint16_t DM0DAD_H = 0x0000; |
|
| 98 |
+uint16_t DM0CNT_L = 0x0000; |
|
| 99 |
+uint16_t DM0CNT_H = 0x0000; |
|
| 100 |
+uint16_t DM1SAD_L = 0x0000; |
|
| 101 |
+uint16_t DM1SAD_H = 0x0000; |
|
| 102 |
+uint16_t DM1DAD_L = 0x0000; |
|
| 103 |
+uint16_t DM1DAD_H = 0x0000; |
|
| 104 |
+uint16_t DM1CNT_L = 0x0000; |
|
| 105 |
+uint16_t DM1CNT_H = 0x0000; |
|
| 106 |
+uint16_t DM2SAD_L = 0x0000; |
|
| 107 |
+uint16_t DM2SAD_H = 0x0000; |
|
| 108 |
+uint16_t DM2DAD_L = 0x0000; |
|
| 109 |
+uint16_t DM2DAD_H = 0x0000; |
|
| 110 |
+uint16_t DM2CNT_L = 0x0000; |
|
| 111 |
+uint16_t DM2CNT_H = 0x0000; |
|
| 112 |
+uint16_t DM3SAD_L = 0x0000; |
|
| 113 |
+uint16_t DM3SAD_H = 0x0000; |
|
| 114 |
+uint16_t DM3DAD_L = 0x0000; |
|
| 115 |
+uint16_t DM3DAD_H = 0x0000; |
|
| 116 |
+uint16_t DM3CNT_L = 0x0000; |
|
| 117 |
+uint16_t DM3CNT_H = 0x0000; |
|
| 118 |
+uint16_t TM0D = 0x0000; |
|
| 119 |
+uint16_t TM0CNT = 0x0000; |
|
| 120 |
+uint16_t TM1D = 0x0000; |
|
| 121 |
+uint16_t TM1CNT = 0x0000; |
|
| 122 |
+uint16_t TM2D = 0x0000; |
|
| 123 |
+uint16_t TM2CNT = 0x0000; |
|
| 124 |
+uint16_t TM3D = 0x0000; |
|
| 125 |
+uint16_t TM3CNT = 0x0000; |
|
| 126 |
+uint16_t P1 = 0xFFFF; |
|
| 127 |
+uint16_t IE = 0x0000; |
|
| 128 |
+uint16_t IF = 0x0000; |
|
| 129 |
+uint16_t IME = 0x0000; |
| 1 | 1 |
new file mode 100644 |
| ... | ... |
@@ -0,0 +1,129 @@ |
| 1 |
+#include "GBA.h" |
|
| 2 |
+ |
|
| 3 |
+#ifdef BKPT_SUPPORT |
|
| 4 |
+int oldreg[18]; |
|
| 5 |
+char oldbuffer[10]; |
|
| 6 |
+#endif |
|
| 7 |
+ |
|
| 8 |
+reg_pair reg[45]; |
|
| 9 |
+memoryMap map[256]; |
|
| 10 |
+bool ioReadable[0x400]; |
|
| 11 |
+bool N_FLAG = 0; |
|
| 12 |
+bool C_FLAG = 0; |
|
| 13 |
+bool Z_FLAG = 0; |
|
| 14 |
+bool V_FLAG = 0; |
|
| 15 |
+bool armState = true; |
|
| 16 |
+bool armIrqEnable = true; |
|
| 17 |
+u32 armNextPC = 0x00000000; |
|
| 18 |
+int armMode = 0x1f; |
|
| 19 |
+u32 stop = 0x08000568; |
|
| 20 |
+int saveType = 0; |
|
| 21 |
+bool useBios = false; |
|
| 22 |
+bool skipBios = false; |
|
| 23 |
+int frameSkip = 1; |
|
| 24 |
+bool speedup = false; |
|
| 25 |
+bool synchronize = true; |
|
| 26 |
+bool cpuDisableSfx = false; |
|
| 27 |
+bool cpuIsMultiBoot = false; |
|
| 28 |
+bool parseDebug = true; |
|
| 29 |
+int layerSettings = 0xff00; |
|
| 30 |
+int layerEnable = 0xff00; |
|
| 31 |
+bool speedHack = false; |
|
| 32 |
+int cpuSaveType = 0; |
|
| 33 |
+bool cheatsEnabled = true; |
|
| 34 |
+bool mirroringEnable = false; |
|
| 35 |
+bool skipSaveGameBattery = false; |
|
| 36 |
+bool skipSaveGameCheats = false; |
|
| 37 |
+ |
|
| 38 |
+// this is an optional hack to change the backdrop/background color: |
|
| 39 |
+// -1: disabled |
|
| 40 |
+// 0x0000 to 0x7FFF: set custom 15 bit color |
|
| 41 |
+int customBackdropColor = -1; |
|
| 42 |
+ |
|
| 43 |
+u8 *bios = 0; |
|
| 44 |
+u8 *rom = 0; |
|
| 45 |
+u8 *internalRAM = 0; |
|
| 46 |
+u8 *workRAM = 0; |
|
| 47 |
+u8 *paletteRAM = 0; |
|
| 48 |
+u8 *vram = 0; |
|
| 49 |
+u8 *pix = 0; |
|
| 50 |
+u8 *oam = 0; |
|
| 51 |
+u8 *ioMem = 0; |
|
| 52 |
+ |
|
| 53 |
+u16 DISPCNT = 0x0080; |
|
| 54 |
+u16 DISPSTAT = 0x0000; |
|
| 55 |
+u16 VCOUNT = 0x0000; |
|
| 56 |
+u16 BG0CNT = 0x0000; |
|
| 57 |
+u16 BG1CNT = 0x0000; |
|
| 58 |
+u16 BG2CNT = 0x0000; |
|
| 59 |
+u16 BG3CNT = 0x0000; |
|
| 60 |
+u16 BG0HOFS = 0x0000; |
|
| 61 |
+u16 BG0VOFS = 0x0000; |
|
| 62 |
+u16 BG1HOFS = 0x0000; |
|
| 63 |
+u16 BG1VOFS = 0x0000; |
|
| 64 |
+u16 BG2HOFS = 0x0000; |
|
| 65 |
+u16 BG2VOFS = 0x0000; |
|
| 66 |
+u16 BG3HOFS = 0x0000; |
|
| 67 |
+u16 BG3VOFS = 0x0000; |
|
| 68 |
+u16 BG2PA = 0x0100; |
|
| 69 |
+u16 BG2PB = 0x0000; |
|
| 70 |
+u16 BG2PC = 0x0000; |
|
| 71 |
+u16 BG2PD = 0x0100; |
|
| 72 |
+u16 BG2X_L = 0x0000; |
|
| 73 |
+u16 BG2X_H = 0x0000; |
|
| 74 |
+u16 BG2Y_L = 0x0000; |
|
| 75 |
+u16 BG2Y_H = 0x0000; |
|
| 76 |
+u16 BG3PA = 0x0100; |
|
| 77 |
+u16 BG3PB = 0x0000; |
|
| 78 |
+u16 BG3PC = 0x0000; |
|
| 79 |
+u16 BG3PD = 0x0100; |
|
| 80 |
+u16 BG3X_L = 0x0000; |
|
| 81 |
+u16 BG3X_H = 0x0000; |
|
| 82 |
+u16 BG3Y_L = 0x0000; |
|
| 83 |
+u16 BG3Y_H = 0x0000; |
|
| 84 |
+u16 WIN0H = 0x0000; |
|
| 85 |
+u16 WIN1H = 0x0000; |
|
| 86 |
+u16 WIN0V = 0x0000; |
|
| 87 |
+u16 WIN1V = 0x0000; |
|
| 88 |
+u16 WININ = 0x0000; |
|
| 89 |
+u16 WINOUT = 0x0000; |
|
| 90 |
+u16 MOSAIC = 0x0000; |
|
| 91 |
+u16 BLDMOD = 0x0000; |
|
| 92 |
+u16 COLEV = 0x0000; |
|
| 93 |
+u16 COLY = 0x0000; |
|
| 94 |
+u16 DM0SAD_L = 0x0000; |
|
| 95 |
+u16 DM0SAD_H = 0x0000; |
|
| 96 |
+u16 DM0DAD_L = 0x0000; |
|
| 97 |
+u16 DM0DAD_H = 0x0000; |
|
| 98 |
+u16 DM0CNT_L = 0x0000; |
|
| 99 |
+u16 DM0CNT_H = 0x0000; |
|
| 100 |
+u16 DM1SAD_L = 0x0000; |
|
| 101 |
+u16 DM1SAD_H = 0x0000; |
|
| 102 |
+u16 DM1DAD_L = 0x0000; |
|
| 103 |
+u16 DM1DAD_H = 0x0000; |
|
| 104 |
+u16 DM1CNT_L = 0x0000; |
|
| 105 |
+u16 DM1CNT_H = 0x0000; |
|
| 106 |
+u16 DM2SAD_L = 0x0000; |
|
| 107 |
+u16 DM2SAD_H = 0x0000; |
|
| 108 |
+u16 DM2DAD_L = 0x0000; |
|
| 109 |
+u16 DM2DAD_H = 0x0000; |
|
| 110 |
+u16 DM2CNT_L = 0x0000; |
|
| 111 |
+u16 DM2CNT_H = 0x0000; |
|
| 112 |
+u16 DM3SAD_L = 0x0000; |
|
| 113 |
+u16 DM3SAD_H = 0x0000; |
|
| 114 |
+u16 DM3DAD_L = 0x0000; |
|
| 115 |
+u16 DM3DAD_H = 0x0000; |
|
| 116 |
+u16 DM3CNT_L = 0x0000; |
|
| 117 |
+u16 DM3CNT_H = 0x0000; |
|
| 118 |
+u16 TM0D = 0x0000; |
|
| 119 |
+u16 TM0CNT = 0x0000; |
|
| 120 |
+u16 TM1D = 0x0000; |
|
| 121 |
+u16 TM1CNT = 0x0000; |
|
| 122 |
+u16 TM2D = 0x0000; |
|
| 123 |
+u16 TM2CNT = 0x0000; |
|
| 124 |
+u16 TM3D = 0x0000; |
|
| 125 |
+u16 TM3CNT = 0x0000; |
|
| 126 |
+u16 P1 = 0xFFFF; |
|
| 127 |
+u16 IE = 0x0000; |
|
| 128 |
+u16 IF = 0x0000; |
|
| 129 |
+u16 IME = 0x0000; |