summaryrefslogtreecommitdiff
path: root/gba_memory.c
diff options
context:
space:
mode:
authorAutechre2021-03-27 00:31:51 +0100
committerGitHub2021-03-27 00:31:51 +0100
commit08d2fa1ebe9e259da228dfa5e5086bd5b62c4347 (patch)
tree73d1a6eba45d5ed80a698b254332c8e9de2b7bd2 /gba_memory.c
parent53cc4a2475ebc8cc510dc97fe8db95939230cee9 (diff)
parent452ba76ba898c5fc6d176ae8f8e2d77cf15f64a2 (diff)
downloadpicogpsp-08d2fa1ebe9e259da228dfa5e5086bd5b62c4347.tar.gz
picogpsp-08d2fa1ebe9e259da228dfa5e5086bd5b62c4347.tar.bz2
picogpsp-08d2fa1ebe9e259da228dfa5e5086bd5b62c4347.zip
Merge pull request #120 from davidgfnet/master
Fixes and improvements for MIPS and ARM
Diffstat (limited to 'gba_memory.c')
-rw-r--r--gba_memory.c16
1 files changed, 5 insertions, 11 deletions
diff --git a/gba_memory.c b/gba_memory.c
index a51f183..b66dce7 100644
--- a/gba_memory.c
+++ b/gba_memory.c
@@ -305,7 +305,6 @@ u32 gamepak_waitstate_sequential[2][3][3] =
}
};
-u16 oam_ram[512];
u16 io_registers[1024 * 16];
u8 ewram[1024 * 256 * 2];
u8 iwram[1024 * 32 * 2];
@@ -342,14 +341,9 @@ gamepak_swap_entry_type *gamepak_memory_map;
// a lot.
FILE *gamepak_file_large = NULL;
-u32 direct_map_vram = 0;
-
// Writes to these respective locations should trigger an update
// so the related subsystem may react to it.
-// If OAM is written to:
-u32 oam_update = 1;
-
// If GBC audio is written to:
u32 gbc_sound_update = 0;
@@ -755,7 +749,7 @@ cpu_alert_type function_cc write_io_register8(u32 address, u32 value)
u32 dispcnt = io_registers[REG_DISPCNT];
if((value & 0x07) != (dispcnt & 0x07))
- oam_update = 1;
+ reg[OAM_UPDATED] = 1;
address8(io_registers, 0x00) = value;
break;
@@ -1171,7 +1165,7 @@ cpu_alert_type function_cc write_io_register16(u32 address, u32 value)
{
u32 dispcnt = io_registers[REG_DISPCNT];
if((value & 0x07) != (dispcnt & 0x07))
- oam_update = 1;
+ reg[OAM_UPDATED] = 1;
address16(io_registers, 0x00) = value;
break;
@@ -1934,7 +1928,7 @@ void function_cc write_rtc(u32 address, u32 value)
\
case 0x07: \
/* OAM RAM */ \
- oam_update = 1; \
+ reg[OAM_UPDATED] = 1; \
address##type(oam_ram, address & 0x3FF) = value; \
break; \
\
@@ -2529,7 +2523,7 @@ dma_region_type dma_region_map[16] =
dma_smc_vars_##type()
#define dma_oam_ram_dest() \
- oam_update = 1 \
+ reg[OAM_UPDATED] = 1 \
#define dma_vars_oam_ram(type) \
dma_oam_ram_##type() \
@@ -3331,7 +3325,7 @@ void gba_load_state(const void* src)
wipe_caches();
#endif
- oam_update = 1;
+ reg[OAM_UPDATED] = 1;
gbc_sound_update = 1;
for(i = 0; i < 512; i++)