--- a/src/mem.h Tue Dec 12 09:18:47 2006 +0000 +++ b/src/mem.h Sun Oct 07 06:27:12 2007 +0000 @@ -1,5 +1,5 @@ /** - * $Id: mem.h,v 1.11 2006-12-12 09:18:44 nkeynes Exp $ + * $Id: mem.h,v 1.12 2007-10-06 08:59:42 nkeynes Exp $ * * mem is responsible for creating and maintaining the overall system memory * map, as visible from the SH4 processor. (Note the ARM has a different map) @@ -30,7 +30,7 @@ typedef struct mem_region { uint32_t base; uint32_t size; - char *name; + const char *name; char *mem; int flags; } *mem_region_t; @@ -45,16 +45,13 @@ #define MEM_REGION_AUDIO_SCRATCH "Audio Scratch RAM" #define MEM_REGION_FLASH "System Flash" -#define MB * (1024 * 1024) -#define KB * 1024 - -void *mem_create_ram_region( uint32_t base, uint32_t size, char *name ); -void *mem_create_repeating_ram_region( uint32_t base, uint32_t size, char *name, +void *mem_create_ram_region( uint32_t base, uint32_t size, const char *name ); +void *mem_create_repeating_ram_region( uint32_t base, uint32_t size, const char *name, uint32_t repeat_offset, uint32_t last_repeat ); -void *mem_load_rom( char *name, uint32_t base, uint32_t size, uint32_t crc ); +void *mem_load_rom( const gchar *name, uint32_t base, uint32_t size, uint32_t crc ); void *mem_alloc_pages( int n ); char *mem_get_region( uint32_t addr ); -char *mem_get_region_by_name( char *name ); +char *mem_get_region_by_name( const char *name ); int mem_has_page( uint32_t addr ); char *mem_get_page( uint32_t addr ); int mem_load_block( const gchar *filename, uint32_t base, uint32_t size ); @@ -62,6 +59,8 @@ void mem_set_trace( uint32_t addr, int flag ); void mem_init( void ); void mem_reset( void ); +void mem_copy_from_sh4( char *dest, sh4addr_t src, size_t count ); +void mem_copy_to_sh4( sh4addr_t dest, char *src, size_t count ); #define ENABLE_DEBUG_MODE 1 @@ -90,8 +89,6 @@ void mem_delete_watch( watch_point_t watch ); watch_point_t mem_is_watched( uint32_t addr, int size, int op ); -typedef uint32_t sh4addr_t; - extern char **page_map; #ifdef __cplusplus }