#define DEFINE_SNAPSHOT_MEMORY_BLOCK(name, structure) { "MemoryRegion:" name, (void*)&structure, snapcallback_memory_loader, snapcallback_memory_saver } static const struct memblock_st memblock_chip_ram = { chip_ram, sizeof chip_ram }; static const struct memblock_st memblock_fast_ram = { fast_ram, sizeof fast_ram }; static const struct memblock_st memblock_colour_ram = { colour_ram, sizeof colour_ram }; static const struct memblock_st memblock_char_wom = { char_wom, sizeof char_wom }; static const struct memblock_st memblock_hypervisor = { hypervisor_ram, 0x4000 }; const struct xemu_snapshot_definition_st m65_snapshot_definition[] = { { "CPU", NULL, cpu65_snapshot_load_state, cpu65_snapshot_save_state }, { "CIA#1", &cia1, cia_snapshot_load_state, cia_snapshot_save_state }, { "CIA#2", &cia2, cia_snapshot_load_state, cia_snapshot_save_state }, { "VIC-4", NULL, vic4_snapshot_load_state, vic4_snapshot_save_state }, { "M65", NULL, m65emu_snapshot_load_state, m65emu_snapshot_save_state }, { "SID#1", &sid1, sid_snapshot_load_state, sid_snapshot_save_state }, { "SID#2", &sid2, sid_snapshot_load_state, sid_snapshot_save_state }, { "DMAgic", NULL, dma_snapshot_load_state, dma_snapshot_save_state }, { "SDcard", NULL, sdcard_snapshot_load_state, sdcard_snapshot_save_state }, { "FDC-F011", NULL, fdc_snapshot_load_state, fdc_snapshot_save_state }, DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:ChipRam", memblock_chip_ram), DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:FastRam", memblock_fast_ram), DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:ColourRam", memblock_colour_ram), DEFINE_SNAPSHOT_MEMORY_BLOCK("WOM:CharWom", memblock_char_wom), DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:HyperVisorRam", memblock_hypervisor), { NULL, NULL, m65emu_snapshot_loading_finalize, NULL } }; #endif
static const struct memblock_st memblock_126k_ram = { memory, 126 * 1024 }; static const struct memblock_st memblock_colour_2k_ram = { memory + 126 * 1024, 2 * 1024 }; static const struct memblock_st memblock_rom = { memory + 128 * 1024, 128 * 1024 }; static const struct memblock_st memblock_unused_lo = { memory + 256 * 1024, sizeof(memory) - (256 * 1024) }; static const struct memblock_st memblock_colour_ram = { colour_ram, sizeof colour_ram }; static const struct memblock_st memblock_char_wom = { character_rom, sizeof character_rom }; static const struct memblock_st memblock_hypervisor = { hypervisor_memory, sizeof hypervisor_memory }; const struct xemu_snapshot_definition_st m65_snapshot_definition[] = { { "CPU", NULL, cpu_snapshot_load_state, cpu_snapshot_save_state }, { "CIA#1", &cia1, cia_snapshot_load_state, cia_snapshot_save_state }, { "CIA#2", &cia2, cia_snapshot_load_state, cia_snapshot_save_state }, { "VIC-4", NULL, vic4_snapshot_load_state, vic4_snapshot_save_state }, { "M65", NULL, m65emu_snapshot_load_state, m65emu_snapshot_save_state }, { "SID#1", &sid1, sid_snapshot_load_state, sid_snapshot_save_state }, { "SID#2", &sid2, sid_snapshot_load_state, sid_snapshot_save_state }, { "DMAgic", NULL, dma_snapshot_load_state, dma_snapshot_save_state }, { "SDcard", NULL, sdcard_snapshot_load_state, sdcard_snapshot_save_state }, { "FDC-F011", NULL, fdc_snapshot_load_state, fdc_snapshot_save_state }, DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:Chip", memblock_126k_ram), DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:Colour2K", memblock_colour_2k_ram), DEFINE_SNAPSHOT_MEMORY_BLOCK("ROM", memblock_rom), DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:LoUnused", memblock_unused_lo), DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:Colour", memblock_colour_ram), DEFINE_SNAPSHOT_MEMORY_BLOCK("WOM:Char", memblock_char_wom), DEFINE_SNAPSHOT_MEMORY_BLOCK("RAM:HyperVisor", memblock_hypervisor), { NULL, NULL, m65emu_snapshot_loading_finalize, NULL } }; #endif