notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix build without cyclone
[picodrive.git]
/
pico
/
memory.c
diff --git
a/pico/memory.c
b/pico/memory.c
index
2e8a821
..
88d43f0
100644
(file)
--- a/
pico/memory.c
+++ b/
pico/memory.c
@@
-23,6
+23,11
@@
uptr m68k_write16_map[0x1000000 >> M68K_MEM_SHIFT];
static void xmap_set(uptr *map, int shift, int start_addr, int end_addr,
\r
const void *func_or_mh, int is_func)
\r
{
\r
static void xmap_set(uptr *map, int shift, int start_addr, int end_addr,
\r
const void *func_or_mh, int is_func)
\r
{
\r
+#ifdef __clang__
\r
+ // workaround bug (segfault) in
\r
+ // Apple LLVM version 4.2 (clang-425.0.27) (based on LLVM 3.2svn)
\r
+ volatile
\r
+#endif
\r
uptr addr = (uptr)func_or_mh;
\r
int mask = (1 << shift) - 1;
\r
int i;
\r
uptr addr = (uptr)func_or_mh;
\r
int mask = (1 << shift) - 1;
\r
int i;
\r
@@
-110,6
+115,11
@@
static void m68k_unmapped_write16(u32 a, u32 d)
\r
void m68k_map_unmap(int start_addr, int end_addr)
\r
{
\r
\r
void m68k_map_unmap(int start_addr, int end_addr)
\r
{
\r
+#ifdef __clang__
\r
+ // workaround bug (segfault) in
\r
+ // Apple LLVM version 4.2 (clang-425.0.27) (based on LLVM 3.2svn)
\r
+ volatile
\r
+#endif
\r
uptr addr;
\r
int shift = M68K_MEM_SHIFT;
\r
int i;
\r
uptr addr;
\r
int shift = M68K_MEM_SHIFT;
\r
int i;
\r
@@
-726,13
+736,13
@@
PICO_INTERNAL void PicoMemSetup(void)
int i;
\r
// by default, point everything to first 64k of ROM
\r
for (i = 0; i < M68K_FETCHBANK1; i++)
\r
int i;
\r
// by default, point everything to first 64k of ROM
\r
for (i = 0; i < M68K_FETCHBANK1; i++)
\r
- PicoCpuFM68k.Fetch[i] = (unsigned
int
)Pico.rom - (i<<(24-FAMEC_FETCHBITS));
\r
+ PicoCpuFM68k.Fetch[i] = (unsigned
long
)Pico.rom - (i<<(24-FAMEC_FETCHBITS));
\r
// now real ROM
\r
for (i = 0; i < M68K_FETCHBANK1 && (i<<(24-FAMEC_FETCHBITS)) < Pico.romsize; i++)
\r
// now real ROM
\r
for (i = 0; i < M68K_FETCHBANK1 && (i<<(24-FAMEC_FETCHBITS)) < Pico.romsize; i++)
\r
- PicoCpuFM68k.Fetch[i] = (unsigned
int
)Pico.rom;
\r
+ PicoCpuFM68k.Fetch[i] = (unsigned
long
)Pico.rom;
\r
// .. and RAM
\r
for (i = M68K_FETCHBANK1*14/16; i < M68K_FETCHBANK1; i++)
\r
// .. and RAM
\r
for (i = M68K_FETCHBANK1*14/16; i < M68K_FETCHBANK1; i++)
\r
- PicoCpuFM68k.Fetch[i] = (unsigned
int
)Pico.ram - (i<<(24-FAMEC_FETCHBITS));
\r
+ PicoCpuFM68k.Fetch[i] = (unsigned
long
)Pico.ram - (i<<(24-FAMEC_FETCHBITS));
\r
}
\r
#endif
\r
#ifdef EMU_M68K
\r
}
\r
#endif
\r
#ifdef EMU_M68K
\r