fix yet another portability issue

This commit is contained in:
notaz 2013-08-26 03:44:53 +03:00
parent 95049eea1c
commit add51c49ec
2 changed files with 7 additions and 6 deletions

View file

@ -49,7 +49,7 @@ static void xmap_set(uptr *map, int shift, int start_addr, int end_addr,
for (i = start_addr >> shift; i <= end_addr >> shift; i++) { for (i = start_addr >> shift; i <= end_addr >> shift; i++) {
map[i] = addr >> 1; map[i] = addr >> 1;
if (is_func) if (is_func)
map[i] |= (uptr)1 << (sizeof(addr) * 8 - 1); map[i] |= MAP_FLAG;
} }
} }
@ -126,19 +126,19 @@ void m68k_map_unmap(int start_addr, int end_addr)
addr = (uptr)m68k_unmapped_read8; addr = (uptr)m68k_unmapped_read8;
for (i = start_addr >> shift; i <= end_addr >> shift; i++) for (i = start_addr >> shift; i <= end_addr >> shift; i++)
m68k_read8_map[i] = (addr >> 1) | (1 << 31); m68k_read8_map[i] = (addr >> 1) | MAP_FLAG;
addr = (uptr)m68k_unmapped_read16; addr = (uptr)m68k_unmapped_read16;
for (i = start_addr >> shift; i <= end_addr >> shift; i++) for (i = start_addr >> shift; i <= end_addr >> shift; i++)
m68k_read16_map[i] = (addr >> 1) | (1 << 31); m68k_read16_map[i] = (addr >> 1) | MAP_FLAG;
addr = (uptr)m68k_unmapped_write8; addr = (uptr)m68k_unmapped_write8;
for (i = start_addr >> shift; i <= end_addr >> shift; i++) for (i = start_addr >> shift; i <= end_addr >> shift; i++)
m68k_write8_map[i] = (addr >> 1) | (1 << 31); m68k_write8_map[i] = (addr >> 1) | MAP_FLAG;
addr = (uptr)m68k_unmapped_write16; addr = (uptr)m68k_unmapped_write16;
for (i = start_addr >> shift; i <= end_addr >> shift; i++) for (i = start_addr >> shift; i <= end_addr >> shift; i++)
m68k_write16_map[i] = (addr >> 1) | (1 << 31); m68k_write16_map[i] = (addr >> 1) | MAP_FLAG;
} }
MAKE_68K_READ8(m68k_read8, m68k_read8_map) MAKE_68K_READ8(m68k_read8, m68k_read8_map)

View file

@ -45,7 +45,8 @@ void cpu68k_map_set(uptr *map, int start_addr, int end_addr,
void cpu68k_map_all_ram(int start_addr, int end_addr, void *ptr, int is_sub); void cpu68k_map_all_ram(int start_addr, int end_addr, void *ptr, int is_sub);
void m68k_map_unmap(int start_addr, int end_addr); void m68k_map_unmap(int start_addr, int end_addr);
#define map_flag_set(x) ((x) & ((uptr)1 << (sizeof(uptr) * 8 - 1))) #define MAP_FLAG ((uptr)1 << (sizeof(uptr) * 8 - 1))
#define map_flag_set(x) ((x) & MAP_FLAG)
#define MAKE_68K_READ8(name, map) \ #define MAKE_68K_READ8(name, map) \
u32 name(u32 a) \ u32 name(u32 a) \