Fix aligned32 reads in interpreter mode

An address check was missing to read aligned 32 (stm/ldm) data from
high mem areas (0xX0000000). This fixes SM4 EU that for some reason has
some weird memory access (perhaps a bug?)
This commit is contained in:
David Guillen Fandos 2021-05-05 21:31:24 +02:00 committed by David G. F
parent 883f07f487
commit 7877a8888b
1 changed files with 1 additions and 1 deletions

2
cpu.c
View File

@ -1024,7 +1024,7 @@ const u32 psr_masks[16] =
memory_region_access_read_u32[_address >> 24]++; \
memory_reads_u32++; \
} \
if(map) \
if(_address < 0x10000000 && map) \
{ \
dest = address32(map, _address & 0x7FFF); \
} \