Search
lxdream.org :: lxdream/src/mem.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/mem.h
changeset 11:0a82ef380c45
prev10:c898b37506e0
next18:9a1b5d75703f
author nkeynes
date Sun Dec 11 12:00:09 2005 +0000 (18 years ago)
permissions -rw-r--r--
last change Moved arm material under aica/
Hooked arm disasm up
view annotate diff log raw
     1 #ifndef dream_sh4_mem_H
     2 #define dream_sh4_mem_H
     4 #include <stdint.h>
     6 #ifdef __cplusplus
     7 extern "C" {
     8 #endif
    10 typedef struct mem_region {
    11     uint32_t base;
    12     uint32_t size;
    13     char *name;
    14     char *mem;
    15     int flags;
    16 } *mem_region_t;
    18 #define MAX_IO_REGIONS 24
    19 #define MAX_MEM_REGIONS 8
    21 #define MEM_REGION_MAIN "System RAM"
    22 #define MEM_REGION_VIDEO "Video RAM"
    23 #define MEM_REGION_AUDIO "Audio RAM"
    24 #define MEM_REGION_AUDIO_SCRATCH "Audio Scratch RAM"
    26 #define MB * (1024 * 1024)
    27 #define KB * 1024
    29 void *mem_create_ram_region( uint32_t base, uint32_t size, char *name );
    30 void *mem_load_rom( char *name, uint32_t base, uint32_t size, uint32_t crc );
    31 char *mem_get_region( uint32_t addr );
    32 char *mem_get_region_by_name( char *name );
    33 int mem_has_page( uint32_t addr );
    34 char *mem_get_page( uint32_t addr );
    36 void mem_init( void );
    37 void mem_reset( void );
    39 #define ENABLE_WATCH 1
    41 #define WATCH_WRITE 1
    42 #define WATCH_READ  2
    43 #define WATCH_EXEC  3  /* AKA Breakpoint :) */
    45 typedef struct watch_point *watch_point_t;
    47 watch_point_t mem_new_watch( uint32_t start, uint32_t end, int flags );
    48 void mem_delete_watch( watch_point_t watch );
    49 watch_point_t mem_is_watched( uint32_t addr, int size, int op );
    51 extern char **page_map;
    52 #ifdef __cplusplus
    53 }
    54 #endif
    55 #endif
.