memory.c
 1  #include "shared.h"
 2  
 3  //static uint8 lpceram[0x8000];
 4  static uint8 lvram[0x10000];
 5  static uint8 lobjram[0x200];
 6  static uint8 lbram[0x2000];
 7  
 8  static uint8 lbg_name_dirty[0x800];
 9  static uint16 lbg_name_list[0x800];
10  static uint16 lobj_name_dirty[0x200];
11  static uint16 lobj_name_list[0x200];
12  static uint8 lbg_pattern_cache[BG_CACHE_SIZE];
13  //static uint8 lobj_pattern_cache[OBJ_CACHE_SIZE]; 
14  
15  
16  uint8 *  vram=&lvram[0];
17  uint16 * vramw = (uint16 *)&lvram[0];
18  uint8 * objram = &lobjram[0];
19  uint16 *objramw = (uint16 *)&lobjram[0];
20  uint8 *  pceram;// = &lpceram[0];
21  #ifdef CDRAM    
22  uint8 *  cdram;
23  #endif
24  uint8 *  bram=&lbram[0];
25  
26  uint8 * bg_name_dirty=&lbg_name_dirty[0];
27  uint16 * bg_name_list=&lbg_name_list[0];
28  uint16 * obj_name_dirty=&lobj_name_dirty[0];
29  uint16 * obj_name_list=&lobj_name_list[0];
30  uint8 * bg_pattern_cache;
31  uint8 * obj_pattern_cache; 
32  uint8 * bg_pattern_cache=&lbg_pattern_cache[0];
33  //uint8 * obj_pattern_cache=&lobj_pattern_cache[0]; 
34  
35  #include "emuapi.h"
36  
37  void mem_init(void) {
38      //bg_pattern_cache = emu_Malloc(BG_CACHE_SIZE); 
39      obj_pattern_cache = emu_Malloc(OBJ_CACHE_SIZE); //0x20200000; 
40      pceram = emu_Malloc(0x8000);
41  #ifdef CDRAM    
42      cdram = emu_Malloc(0x10000);
43  #endif    
44      //emu_printh(obj_pattern_cache);
45  }
46  
47  
48  void memcpy_rom(int dst, int src, int size) {
49  	while (size > 0) {   
50  		write_rom(dst++, read_rom(src++));
51  		size--;
52  	}
53  }