void machine_specific_reset(void) { int iecreset = 1; resources_get_int("IECReset", &iecreset); serial_traps_reset(); ciacore_reset(machine_context.cia1); ciacore_reset(machine_context.cia2); sid_reset(); rs232drv_reset(); /* driver is used by both user- and expansion port ? */ rsuser_reset(); printer_reset(); /* FIXME: whats actually broken here? */ /* reset_reu(); */ /* The VIC-II must be the *last* to be reset. */ vicii_reset(); cartridge_reset(); if (reset_poweron || iecreset) { drive_reset(); } scpu64_hardware_reset(); sampler_reset(); reset_poweron = 0; }
/* C128-specific reset sequence. */ void machine_specific_reset(void) { serial_traps_reset(); ciacore_reset(machine_context.cia1); ciacore_reset(machine_context.cia2); sid_reset(); rs232drv_reset(); rsuser_reset(); printer_reset(); vdc_reset(); /* The VIC-II must be the *last* to be reset. */ vicii_reset(); cartridge_reset(); drive_reset(); datasette_reset(); z80mem_initialize(); z80_reset(); }
/* VIC20-specific reset sequence. */ void machine_specific_reset(void) { serial_traps_reset(); viacore_reset(machine_context.via1); viacore_reset(machine_context.via2); vic_reset(); sid_reset(); viacore_reset(machine_context.ieeevia1); viacore_reset(machine_context.ieeevia2); rs232drv_reset(); rsuser_reset(); #ifdef HAVE_MIDI midi_reset(); #endif printer_reset(); cartridge_reset(); drive_reset(); datasette_reset(); sampler_reset(); }
/* C64-specific reset sequence. */ void machine_specific_reset(void) { serial_traps_reset(); ciacore_reset(machine_context.cia1); ciacore_reset(machine_context.cia2); sid_reset(); rs232drv_reset(); /* driver is used by both user- and expansion port ? */ rsuser_reset(); printer_reset(); /* FIXME: whats actually broken here? */ /* reset_reu(); */ /* The VIC-II must be the *last* to be reset. */ vicii_reset(); cartridge_reset(); drive_reset(); datasette_reset(); plus60k_reset(); plus256k_reset(); c64_256k_reset(); }
/* CBM-II-specific initialization. */ void machine_specific_reset(void) { ciacore_reset(machine_context.cia1); tpicore_reset(machine_context.tpi1); tpicore_reset(machine_context.tpi2); acia1_reset(); sid_reset(); if (!cbm2_isC500) { crtc_reset(); } else { c500_powerline_clk = maincpu_clk + C500_POWERLINE_CYCLES_PER_IRQ; alarm_set(c500_powerline_clk_alarm, c500_powerline_clk); vicii_reset(); } printer_reset(); rs232drv_reset(); drive_reset(); datasette_reset(); mem_reset(); }
void *ssi2001_init() { ssi2001_t *ssi2001 = malloc(sizeof(ssi2001_t)); memset(ssi2001, 0, sizeof(ssi2001_t)); pclog("ssi2001_init\n"); ssi2001->psid = sid_init(); sid_reset(ssi2001->psid); io_sethandler(0x0280, 0x0020, ssi2001_read, NULL, NULL, ssi2001_write, NULL, NULL, ssi2001); sound_add_handler(ssi2001_get_buffer, ssi2001); return ssi2001; }
/* C64-specific reset sequence. */ void machine_specific_reset(void) { ciacore_reset(machine_context.cia1); ciacore_reset(machine_context.cia2); sid_reset(); /* The VIC-II must be the *last* to be reset. */ vicii_reset(); if (psid_basic_rsid_to_autostart(&vsid_autostart_load_addr, &vsid_autostart_data, &vsid_autostart_length)) { vsid_autostart_delay = (int)(machine_timing.rfsh_per_sec * 23 / 10); } else { vsid_autostart_delay = 0; /* disables it */ psid_init_driver(); psid_init_tune(1); } }
/* PET-specific initialization. */ void machine_specific_reset(void) { pia1_reset(); pia2_reset(); viacore_reset(machine_context.via); acia1_reset(); crtc_reset(); sid_reset(); petmem_reset(); rs232drv_reset(); printer_reset(); drive_reset(); datasette_reset(); petreu_reset(); petdww_reset(); pethre_reset(); }
/* CBM-II-specific initialization. */ void machine_specific_reset(void) { ciacore_reset(machine_context.cia1); tpicore_reset(machine_context.tpi1); tpicore_reset(machine_context.tpi2); acia1_reset(); sid_reset(); crtc_reset(); printer_reset(); rs232drv_reset(); drive_reset(); datasette_reset(); mem_reset(); }
/* VIC20-specific reset sequence. */ void machine_specific_reset(void) { serial_traps_reset(); viacore_reset(machine_context.via1); viacore_reset(machine_context.via2); vic_reset(); vic_sound_reset(); sid_reset(); viacore_reset(machine_context.ieeevia1); viacore_reset(machine_context.ieeevia2); rs232drv_reset(); rsuser_reset(); printer_reset(); drive_reset(); datasette_reset(); }
/* C64-specific reset sequence. */ void machine_specific_reset(void) { serial_traps_reset(); ciacore_reset(machine_context.cia1); ciacore_reset(machine_context.cia2); sid_reset(); if (!vsid_mode) { tpicore_reset(machine_context.tpi1); acia1_reset(); rs232drv_reset(); rsuser_reset(); printer_reset(); /* FIXME */ /* reset_reu(); */ } /* The VIC-II must be the *last* to be reset. */ vicii_reset(); if (vsid_mode) { psid_init_tune(); return; } cartridge_reset(); drive_reset(); datasette_reset(); reu_reset(); georam_reset(); ramcart_reset(); plus60k_reset(); plus256k_reset(); c64_256k_reset(); mmc64_reset(); }
/* PLUS4-specific reset sequence. */ void machine_specific_reset(void) { serial_traps_reset(); acia_reset(); rs232drv_reset(); printer_reset(); plus4tcbm1_reset(); plus4tcbm2_reset(); ted_reset(); sid_reset(); cs256k_reset(); h256k_reset(); drive_reset(); datasette_reset(); }
/* C64DTV-specific reset sequence. */ void machine_specific_reset(void) { serial_traps_reset(); flash_traps_reset(); ciacore_reset(machine_context.cia1); ciacore_reset(machine_context.cia2); sid_reset(); rs232drv_reset(); printer_reset(); /* FIXME */ /* reset_reu(); */ /* The VIC-II must be the *last* to be reset. */ vicii_reset(); drive_reset(); c64dtvmem_reset(); }
void main_reset() { m6502_reset(); crtc_reset(); video_reset(); sysvia_reset(); uservia_reset(); serial_reset(); acia_reset(&sysacia); wd1770_reset(); i8271_reset(); scsi_reset(); vdfs_reset(); sid_reset(); music4000_reset(); music5000_reset(); sn_init(); if (curtube != -1) tubes[curtube].reset(); else tube_exec = NULL; tube_reset(); memset(ram, 0, 64 * 1024); }
void main_run() { int c, d; if (key[KEY_PGUP]) { bemfreerun = 1; old_key_pgup = 1; } else if (old_key_pgup) { old_key_pgup = 0; if (!key[KEY_LSHIFT] && !key[KEY_RSHIFT]) bemfreerun = 0; } if (bemfreerun == 2) { // A key was pressed while freerunning; disable freerun temporarily // until no key is pressed any more. if (!key_any_down()) bemfreerun = 1; } if ((fcount > 0 || (bemfreerun == 1) || (motor && fasttape))) { if (autoboot) autoboot--; fcount--; framesrun++; if (bemfreerun || (motor && fasttape)) fcount=0; if (x65c02) m65c02_exec(); else m6502_exec(); ddnoiseframes++; if (ddnoiseframes >= 5) { ddnoiseframes = 0; ddnoise_mix(); } key_check(); poll_joystick(); for (c = 0; c < 2; c++) { joybutton[c] = 0; for (d = 0; d < joy[c].num_buttons; d++) { if (joy[c].button[d].b) joybutton[c] = 1; } } if (savestate_wantload) savestate_doload(); if (savestate_wantsave) savestate_dosave(); if (key[KEY_F10] && (debug_core || debug_tube)) debug_step = 1; if (key[KEY_F12] && !resetting) { m6502_reset(); video_reset(); i8271_reset(); wd1770_reset(); sid_reset(); music5000_reset(); if (curtube != -1) tubes[curtube].reset(); tube_reset(); } resetting = key[KEY_F12]; } else { framesrun = 0; rest(1); } if (key[KEY_PGDN] && !old_key_pgdn) bempause ^= 1; old_key_pgdn = key[KEY_PGDN]; if (key[KEY_RIGHT] && !old_key_right && bempause) bemstep = 1; old_key_right = key[KEY_RIGHT]; if (framesrun > 10) fcount = 0; }