notaz.gp2x.de
/
picodrive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
32x: new SH2 memory handling, hopefully faster
[picodrive.git]
/
pico
/
memory.c
diff --git
a/pico/memory.c
b/pico/memory.c
index
d36ac62
..
6281501
100644
(file)
--- a/
pico/memory.c
+++ b/
pico/memory.c
@@
-15,15
+15,15
@@
\r
extern unsigned int lastSSRamWrite; // used by serial eeprom code
\r
\r
\r
extern unsigned int lastSSRamWrite; // used by serial eeprom code
\r
\r
-u
nsigned long
m68k_read8_map [0x1000000 >> M68K_MEM_SHIFT];
\r
-u
nsigned long
m68k_read16_map [0x1000000 >> M68K_MEM_SHIFT];
\r
-u
nsigned long
m68k_write8_map [0x1000000 >> M68K_MEM_SHIFT];
\r
-u
nsigned long
m68k_write16_map[0x1000000 >> M68K_MEM_SHIFT];
\r
+u
ptr
m68k_read8_map [0x1000000 >> M68K_MEM_SHIFT];
\r
+u
ptr
m68k_read16_map [0x1000000 >> M68K_MEM_SHIFT];
\r
+u
ptr
m68k_write8_map [0x1000000 >> M68K_MEM_SHIFT];
\r
+u
ptr
m68k_write16_map[0x1000000 >> M68K_MEM_SHIFT];
\r
\r
\r
-static void xmap_set(u
nsigned long
*map, int shift, int start_addr, int end_addr,
\r
+static void xmap_set(u
ptr
*map, int shift, int start_addr, int end_addr,
\r
const void *func_or_mh, int is_func)
\r
{
\r
const void *func_or_mh, int is_func)
\r
{
\r
- u
nsigned long addr = (unsigned long
)func_or_mh;
\r
+ u
ptr addr = (uptr
)func_or_mh;
\r
int mask = (1 << shift) - 1;
\r
int i;
\r
\r
int mask = (1 << shift) - 1;
\r
int i;
\r
\r
@@
-48,13
+48,13
@@
static void xmap_set(unsigned long *map, int shift, int start_addr, int end_addr
}
\r
}
\r
\r
}
\r
}
\r
\r
-void z80_map_set(u
nsigned long
*map, int start_addr, int end_addr,
\r
+void z80_map_set(u
ptr
*map, int start_addr, int end_addr,
\r
const void *func_or_mh, int is_func)
\r
{
\r
xmap_set(map, Z80_MEM_SHIFT, start_addr, end_addr, func_or_mh, is_func);
\r
}
\r
\r
const void *func_or_mh, int is_func)
\r
{
\r
xmap_set(map, Z80_MEM_SHIFT, start_addr, end_addr, func_or_mh, is_func);
\r
}
\r
\r
-void cpu68k_map_set(u
nsigned long
*map, int start_addr, int end_addr,
\r
+void cpu68k_map_set(u
ptr
*map, int start_addr, int end_addr,
\r
const void *func_or_mh, int is_func)
\r
{
\r
xmap_set(map, M68K_MEM_SHIFT, start_addr, end_addr, func_or_mh, is_func);
\r
const void *func_or_mh, int is_func)
\r
{
\r
xmap_set(map, M68K_MEM_SHIFT, start_addr, end_addr, func_or_mh, is_func);
\r
@@
-63,8
+63,8
@@
void cpu68k_map_set(unsigned long *map, int start_addr, int end_addr,
// more specialized/optimized function (does same as above)
\r
void cpu68k_map_all_ram(int start_addr, int end_addr, void *ptr, int is_sub)
\r
{
\r
// more specialized/optimized function (does same as above)
\r
void cpu68k_map_all_ram(int start_addr, int end_addr, void *ptr, int is_sub)
\r
{
\r
- u
nsigned long
*r8map, *r16map, *w8map, *w16map;
\r
- u
nsigned long addr = (unsigned long
)ptr;
\r
+ u
ptr
*r8map, *r16map, *w8map, *w16map;
\r
+ u
ptr addr = (uptr
)ptr;
\r
int shift = M68K_MEM_SHIFT;
\r
int i;
\r
\r
int shift = M68K_MEM_SHIFT;
\r
int i;
\r
\r
@@
-110,23
+110,23
@@
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
- u
nsigned long
addr;
\r
+ u
ptr
addr;
\r
int shift = M68K_MEM_SHIFT;
\r
int i;
\r
\r
int shift = M68K_MEM_SHIFT;
\r
int i;
\r
\r
- addr = (u
nsigned long
)m68k_unmapped_read8;
\r
+ addr = (u
ptr
)m68k_unmapped_read8;
\r
for (i = start_addr >> shift; i <= end_addr >> shift; i++)
\r
m68k_read8_map[i] = (addr >> 1) | (1 << 31);
\r
\r
for (i = start_addr >> shift; i <= end_addr >> shift; i++)
\r
m68k_read8_map[i] = (addr >> 1) | (1 << 31);
\r
\r
- addr = (u
nsigned long
)m68k_unmapped_read16;
\r
+ addr = (u
ptr
)m68k_unmapped_read16;
\r
for (i = start_addr >> shift; i <= end_addr >> shift; i++)
\r
m68k_read16_map[i] = (addr >> 1) | (1 << 31);
\r
\r
for (i = start_addr >> shift; i <= end_addr >> shift; i++)
\r
m68k_read16_map[i] = (addr >> 1) | (1 << 31);
\r
\r
- addr = (u
nsigned long
)m68k_unmapped_write8;
\r
+ addr = (u
ptr
)m68k_unmapped_write8;
\r
for (i = start_addr >> shift; i <= end_addr >> shift; i++)
\r
m68k_write8_map[i] = (addr >> 1) | (1 << 31);
\r
\r
for (i = start_addr >> shift; i <= end_addr >> shift; i++)
\r
m68k_write8_map[i] = (addr >> 1) | (1 << 31);
\r
\r
- addr = (u
nsigned long
)m68k_unmapped_write16;
\r
+ addr = (u
ptr
)m68k_unmapped_write16;
\r
for (i = start_addr >> shift; i <= end_addr >> shift; i++)
\r
m68k_write16_map[i] = (addr >> 1) | (1 << 31);
\r
}
\r
for (i = start_addr >> shift; i <= end_addr >> shift; i++)
\r
m68k_write16_map[i] = (addr >> 1) | (1 << 31);
\r
}
\r