Example #1
0
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);
}