void system_shutdown(void) { #ifdef DEBUG int i; error("PC:%04X\tSP:%04X\n", z80_get_reg(Z80_PC), z80_get_reg(Z80_SP)); error("AF:%04X\tAF:%04X\n", z80_get_reg(Z80_AF), z80_get_reg(Z80_AF2)); error("BC:%04X\tBC:%04X\n", z80_get_reg(Z80_BC), z80_get_reg(Z80_BC2)); error("DE:%04X\tDE:%04X\n", z80_get_reg(Z80_DE), z80_get_reg(Z80_DE2)); error("HL:%04X\tHL:%04X\n", z80_get_reg(Z80_HL), z80_get_reg(Z80_HL2)); error("IX:%04X\tIY:%04X\n", z80_get_reg(Z80_IX), z80_get_reg(Z80_IY)); for(i = 0; i <= 0x0A; i++) error("%02X ", vdp.reg[i]); error("\n"); error("MODE:%02X\n", vdp.mode & 7); error("PN:%04X\n", vdp.pn); error("CT:%04X\n", vdp.ct); error("PG:%04X\n", vdp.pg); error("SA:%04X\n", vdp.sa); error("SG:%04X\n", vdp.sg); error("\n"); #endif sms_shutdown(); pio_shutdown(); vdp_shutdown(); render_shutdown(); sound_shutdown(); error_shutdown(); }
static void genesis_leave() { if (gensettings.saves & SAVES_SRAM) { /* save SRAM */ save_sram(sramname); } else{ if(WindowPrompt("Save", "Save SRAM?", "Save", "Don't Save")){ save_sram(sramname); } } if (gensettings.saves & SAVES_STATES) { save_state(statename); } else{ if(WindowPrompt("Save", "Save Save State?", "Save", "Don't Save")){ save_state(statename); } } system_shutdown(); // audio_shutdown(); error_shutdown(); free(cart.rom); }