static void gbcSaveSRAM() { if (enable_sram && save_sram) { sram_save(); save_sram = 0; } }
void loader_unload() { sram_save(); if (romfile) free(romfile); if (sramfile) free(sramfile); if (saveprefix) free(saveprefix); if (rom.bank) free(rom.bank); if (ram.sbank) free(ram.sbank); romfile = sramfile = saveprefix = 0; rom.bank = 0; ram.sbank = 0; mbc.type = mbc.romsize = mbc.ramsize = mbc.batt = 0; }
void emu_reset() { sram_save(); rtc_save(); hw_reset(); lcd_reset(); cpu_reset(); mbc_reset(); sound_reset(); init = 0; }
void dma_write_sram(struct pi_controller* pi) { size_t i; size_t length = (pi->regs[PI_RD_LEN_REG] & 0xffffff) + 1; uint8_t* sram = pi->sram.data; uint8_t* dram = (uint8_t*)pi->ri->rdram.dram; uint32_t cart_addr = pi->regs[PI_CART_ADDR_REG] - 0x08000000; uint32_t dram_addr = pi->regs[PI_DRAM_ADDR_REG]; for(i = 0; i < length; ++i) sram[(cart_addr+i)^S8] = dram[(dram_addr+i)^S8]; sram_save(&pi->sram); }
void loader_unload() { #if 0 //fndef __PALM__ sram_save(); if (romfile) free(romfile); if (sramfile) free(sramfile); if (saveprefix) free(saveprefix); #endif if (rom.bank) free(rom.bank); if (ram.sbank) free(ram.sbank); romfile = sramfile = saveprefix = 0; rom.bank = 0; ram.sbank = 0; mbc.type = mbc.romsize = mbc.ramsize = mbc.batt = 0; }
static void cleanup() { sram_save(); rtc_save(); /* IDEA - if error, write emergency savestate..? */ }