uae_u32 REGPARAM2 kickmem_lget (uaecptr addr) { uae_u32 *m; addr -= kickmem_start & kickmem_mask; addr &= kickmem_mask; m = (uae_u32 *)(kickmemory + addr); return swab_l(do_get_mem_long (m)); }
void REGPARAM2 chipmem_lput (uaecptr addr, uae_u32 l) { uae_u32 *m; addr -= chipmem_start & chipmem_mask; addr &= chipmem_mask; m = (uae_u32 *)(chipmemory + addr); do_put_mem_long (m, swab_l(l)); }
uae_u32 REGPARAM2 chipmem_lget (uaecptr addr) { uae_u32 *m; addr -= chipmem_start & chipmem_mask; addr &= chipmem_mask; m = (uae_u32 *)(chipmemory + addr); return swab_l(do_get_mem_long (m)); }
uae_u32 REGPARAM2 extendedkickmem_lget (uaecptr addr) { #ifdef DEBUG_MEMORY dbgf("extendedkickmem_lget 0x%X\n",addr); #endif uae_u32 *m; addr -= extendedkickmem_start & extendedkickmem_mask; addr &= extendedkickmem_mask; m = (uae_u32 *)(extendedkickmemory + addr); return swab_l(do_get_mem_long (m)); }
void REGPARAM2 kickmem_lput (uaecptr addr, uae_u32 b) { uae_u32 *m; if (a1000_kickstart_mode) { if (addr >= 0xfc0000) { addr -= kickmem_start & kickmem_mask; addr &= kickmem_mask; m = (uae_u32 *)(kickmemory + addr); do_put_mem_long (m, swab_l(b)); return; } else a1000_handle_kickstart (0); } }
static void allocate_memory (void) { if (allocated_chipmem != prefs_chipmem_size) { if (chipmemory) mapped_free (chipmemory); chipmemory = 0; allocated_chipmem = prefs_chipmem_size; chipmem_mask = allocated_chipmem - 1; chipmemory = (uae_u8 *)mapped_malloc (allocated_chipmem, "chip"); if (chipmemory == 0) { write_log ("Fatal error: out of memory for chipmem.\n"); allocated_chipmem = 0; } else do_put_mem_long ((uae_u32 *)(chipmemory + 4), swab_l(0)); } if (savestate_state == STATE_RESTORE) { fseek (savestate_file, chip_filepos, SEEK_SET); #ifdef USE_LIB7Z void *tmp=malloc(compressed_size); int outSize=allocated_chipmem; int inSize=compressed_size; SRes res; fread (tmp, 1, compressed_size, savestate_file); res=Lzma_Decode((Byte *)chipmemory, (size_t *)&outSize, (const Byte *)tmp, (size_t *)&inSize); free(tmp); if(res != SZ_OK) { allocated_chipmem=compressed_size; fseek (savestate_file, chip_filepos, SEEK_SET); } if(res != SZ_OK) #endif fread (chipmemory, 1, allocated_chipmem, savestate_file); if (allocated_bogomem > 0) { fseek (savestate_file, bogo_filepos, SEEK_SET); fread (bogomemory, 1, allocated_bogomem, savestate_file); } } chipmem_bank.baseaddr = chipmemory; bogomem_bank.baseaddr = bogomemory; chipmemory_word=(uae_u16 *)chipmemory; }
static void allocate_memory (void) { if (allocated_chipmem != prefs_chipmem_size) { if (chipmemory) mapped_free (chipmemory); chipmemory = 0; allocated_chipmem = prefs_chipmem_size; chipmem_mask = allocated_chipmem - 1; chipmemory = mapped_malloc (allocated_chipmem, "chip"); if (chipmemory == 0) { write_log ("Fatal error: out of memory for chipmem.\n"); allocated_chipmem = 0; } else do_put_mem_long ((uae_u32 *)(chipmemory + 4), swab_l(0)); } chipmem_bank.baseaddr = chipmemory; bogomem_bank.baseaddr = bogomemory; chipmemory_word=(uae_u16 *)chipmemory; }