char *archdep_default_joymap_file_name(void) { if (archdep_pref_path == NULL) { const char *home; home = archdep_home_path(); return util_concat(home, "/.vice/sdl-joymap-", machine_get_name(), ".vjm", NULL); } else { return util_concat(archdep_pref_path, "/sdl-joymap-", machine_get_name(), ".vjm", NULL); } }
char *archdep_default_autostart_disk_image_file_name(void) { if (archdep_pref_path == NULL) { const char *home; home = archdep_home_path(); return util_concat(home, "/.vice/autostart-", machine_get_name(), ".d64", NULL); } else { return util_concat(archdep_pref_path, "/autostart-", machine_get_name(), ".d64", NULL); } }
char *archdep_default_fliplist_file_name(void) { if (archdep_pref_path == NULL) { const char *home; home = archdep_home_path(); return util_concat(home, "/.vice/fliplist-", machine_get_name(), ".vfl", NULL); } else { return util_concat(archdep_pref_path, "/fliplist-", machine_get_name(), ".vfl", NULL); } }
/* Autostart snapshot file `file_name'. */ int autostart_snapshot(const char *file_name, const char *program_name) { BYTE vmajor, vminor; snapshot_t *snap; if (network_connected() || event_record_active() || event_playback_active() || file_name == NULL || !autostart_enabled) return -1; deallocate_program_name(); /* not needed at all */ if (!(snap = snapshot_open(file_name, &vmajor, &vminor, machine_get_name())) ) { autostartmode = AUTOSTART_ERROR; return -1; } log_message(autostart_log, "Loading snapshot file `%s'.", file_name); snapshot_close(snap); /*autostart_program_name = lib_stralloc(file_name); interrupt_maincpu_trigger_trap(load_snapshot_trap, 0);*/ /* use for snapshot */ reboot_for_autostart(file_name, AUTOSTART_HASSNAPSHOT, AUTOSTART_MODE_RUN); return 0; }
int scpu64_snapshot_write(const char *name, int save_roms, int save_disks, int event_mode) { snapshot_t *s; s = snapshot_create(name, ((BYTE)(SNAP_MAJOR)), ((BYTE)(SNAP_MINOR)), machine_get_name()); if (s == NULL) { return -1; } sound_snapshot_prepare(); /* Execute drive CPUs to get in sync with the main CPU. */ drivecpu_execute_all(maincpu_clk); if (maincpu_snapshot_write_module(s) < 0 || scpu64_snapshot_write_module(s, save_roms) < 0 || ciacore_snapshot_write_module(machine_context.cia1, s) < 0 || ciacore_snapshot_write_module(machine_context.cia2, s) < 0 || sid_snapshot_write_module(s) < 0 || drive_snapshot_write_module(s, save_disks, save_roms) < 0 || vicii_snapshot_write_module(s) < 0 || scpu64_glue_snapshot_write_module(s) < 0 || event_snapshot_write_module(s, event_mode) < 0 || keyboard_snapshot_write_module(s) || joystick_snapshot_write_module(s)) { snapshot_close(s); ioutil_remove(name); return -1; } snapshot_close(s); return 0; }
int cbm2_snapshot_write(const char *name, int save_roms, int save_disks, int event_mode) { snapshot_t *s; s = snapshot_create(name, SNAP_MAJOR, SNAP_MINOR, machine_get_name()); if (s == NULL) { return -1; } sound_snapshot_prepare(); if (maincpu_snapshot_write_module(s) < 0 || cbm2_snapshot_write_module(s, save_roms) < 0 || crtc_snapshot_write_module(s) < 0 || ciacore_snapshot_write_module(machine_context.cia1, s) < 0 || tpicore_snapshot_write_module(machine_context.tpi1, s) < 0 || tpicore_snapshot_write_module(machine_context.tpi2, s) < 0 || acia1_snapshot_write_module(s) < 0 || sid_snapshot_write_module(s) < 0 || drive_snapshot_write_module(s, save_disks, save_roms) < 0 || event_snapshot_write_module(s, event_mode) < 0 || tape_snapshot_write_module(s, save_disks) < 0 || keyboard_snapshot_write_module(s) || joystick_snapshot_write_module(s)) { snapshot_close(s); ioutil_remove(name); return -1; } snapshot_close(s); return 0; }
char *archdep_default_fliplist_file_name(void) { const char *home; home = archdep_boot_path(); return util_concat(home, "fliplist-", machine_get_name(), ".vfl", NULL); }
char *archdep_default_autostart_disk_image_file_name(void) { const char *home; home = archdep_boot_path(); return util_concat(home, "autostart-", machine_get_name(), ".d64", NULL); }
char *archdep_default_fliplist_file_name(void) { static char *fname; lib_free(fname); fname = util_concat(archdep_boot_path(), "/fliplist-", machine_get_name(), ".vfl", NULL); return fname; }
char *archdep_default_joymap_file_name(void) { static char *fname; lib_free(fname); fname = util_concat(archdep_boot_path(), "/sdl-joymap-", machine_get_name(), ".vjm", NULL); return fname; }
char *archdep_default_hotkey_file_name(void) { char *ret; ret = lib_malloc(32); strcpy(ret, "sdl-hotkey-"); strcat(ret, (char *)machine_get_name()); strcat(ret, ".vkm"); return ret; }
char *archdep_default_fliplist_file_name(void) { char *fname; const char *viceuserdir; viceuserdir = archdep_make_default_pref_path(0); fname = util_concat(viceuserdir, "/fliplist-", machine_get_name(), ".vfl", NULL); lib_free(viceuserdir); return fname; }
char *archdep_default_autostart_disk_image_file_name(void) { char *fname; const char *viceuserdir; viceuserdir = archdep_make_default_pref_path(0); fname = util_concat(viceuserdir, "/autostart-", machine_get_name(), ".d64", NULL); lib_free(viceuserdir); return fname; }
int c64_snapshot_read(const char *name, int event_mode) { snapshot_t *s; uint8_t minor, major; s = snapshot_open(name, &major, &minor, machine_get_name()); if (s == NULL) { return -1; } if (major != SNAP_MAJOR || minor != SNAP_MINOR) { log_error(LOG_DEFAULT, "Snapshot version (%d.%d) not valid: expecting %d.%d.", major, minor, SNAP_MAJOR, SNAP_MINOR); snapshot_set_error(SNAPSHOT_MODULE_INCOMPATIBLE); goto fail; } vicii_snapshot_prepare(); joyport_clear_devices(); if (maincpu_snapshot_read_module(s) < 0 || c64_snapshot_read_module(s) < 0 || ciacore_snapshot_read_module(machine_context.cia1, s) < 0 || ciacore_snapshot_read_module(machine_context.cia2, s) < 0 || sid_snapshot_read_module(s) < 0 || drive_snapshot_read_module(s) < 0 || vicii_snapshot_read_module(s) < 0 || c64_glue_snapshot_read_module(s) < 0 || event_snapshot_read_module(s, event_mode) < 0 || memhacks_snapshot_read_modules(s) < 0 || tapeport_snapshot_read_module(s) < 0 || keyboard_snapshot_read_module(s) < 0 || joyport_snapshot_read_module(s, JOYPORT_1) < 0 || joyport_snapshot_read_module(s, JOYPORT_2) < 0 || userport_snapshot_read_module(s) < 0) { goto fail; } snapshot_close(s); sound_snapshot_finish(); return 0; fail: if (s != NULL) { snapshot_close(s); } machine_trigger_reset(MACHINE_RESET_MODE_SOFT); return -1; }
int cbm2_snapshot_read(const char *name, int event_mode) { snapshot_t *s; BYTE minor, major; s = snapshot_open(name, &major, &minor, machine_get_name()); if (s == NULL) { return -1; } if (major != SNAP_MAJOR || minor != SNAP_MINOR) { log_error(LOG_DEFAULT, "Snapshot version (%d.%d) not valid: expecting %d.%d.", major, minor, SNAP_MAJOR, SNAP_MINOR); goto fail; } vicii_snapshot_prepare(); if (maincpu_snapshot_read_module(s) < 0 || vicii_snapshot_read_module(s) < 0 || cbm2_c500_snapshot_read_module(s) < 0 || cbm2_snapshot_read_module(s) < 0 || ciacore_snapshot_read_module(machine_context.cia1, s) < 0 || tpicore_snapshot_read_module(machine_context.tpi1, s) < 0 || tpicore_snapshot_read_module(machine_context.tpi2, s) < 0 || acia1_snapshot_read_module(s) < 0 || sid_snapshot_read_module(s) < 0 || drive_snapshot_read_module(s) < 0 || event_snapshot_read_module(s, event_mode) < 0 || tape_snapshot_read_module(s) < 0 || keyboard_snapshot_read_module(s) < 0 || joystick_snapshot_read_module(s) < 0) { goto fail; } sound_snapshot_finish(); return 0; fail: if (s != NULL) { snapshot_close(s); } machine_trigger_reset(MACHINE_RESET_MODE_SOFT); return -1; }
int c64_snapshot_write(const char *name, int save_roms, int save_disks, int event_mode) { snapshot_t *s; s = snapshot_create(name, ((uint8_t)(SNAP_MAJOR)), ((uint8_t)(SNAP_MINOR)), machine_get_name()); if (s == NULL) { return -1; } sound_snapshot_prepare(); /* Execute drive CPUs to get in sync with the main CPU. */ drive_cpu_execute_all(maincpu_clk); if (maincpu_snapshot_write_module(s) < 0 || c64_snapshot_write_module(s, save_roms) < 0 || ciacore_snapshot_write_module(machine_context.cia1, s) < 0 || ciacore_snapshot_write_module(machine_context.cia2, s) < 0 || sid_snapshot_write_module(s) < 0 || drive_snapshot_write_module(s, save_disks, save_roms) < 0 || vicii_snapshot_write_module(s) < 0 || c64_glue_snapshot_write_module(s) < 0 || event_snapshot_write_module(s, event_mode) < 0 || memhacks_snapshot_write_modules(s) < 0 || tapeport_snapshot_write_module(s, save_disks) < 0 || keyboard_snapshot_write_module(s) < 0 || joyport_snapshot_write_module(s, JOYPORT_1) < 0 || joyport_snapshot_write_module(s, JOYPORT_2) < 0 || userport_snapshot_write_module(s) < 0) { snapshot_close(s); ioutil_remove(name); return -1; } snapshot_close(s); return 0; }
char *archdep_default_fliplist_file_name(void) { return util_concat(archdep_boot_path(), "/fliplist-", machine_get_name(), ".vfl", NULL); }
char *archdep_default_hotkey_file_name(void) { return util_concat(archdep_boot_path(), "\\sdl-hotkey-", machine_get_name(), ".vkm", NULL); }
int init_resources(void) { if (resources_init(machine_get_name())) { archdep_startup_log_error("Cannot initialize resource handling.\n"); return -1; } if (log_resources_init() < 0) { init_resource_fail("log"); return -1; } if (sysfile_resources_init() < 0) { init_resource_fail("system file locator"); return -1; } if (autostart_resources_init() < 0) { init_resource_fail("autostart"); return -1; } if (romset_resources_init() < 0) { init_resource_fail("romset"); return -1; } if (ui_resources_init() < 0) { init_resource_fail("UI"); return -1; } if (fliplist_resources_init() < 0) { init_resource_fail("flip list"); return -1; } if (file_system_resources_init() < 0) { init_resource_fail("file system"); return -1; } /* Initialize file system device-specific resources. */ if (fsdevice_resources_init() < 0) { init_resource_fail("file system device"); return -1; } if (disk_image_resources_init() < 0) { init_resource_fail("disk image"); return -1; } if (event_resources_init() < 0) { init_resource_fail("event"); return -1; } if (debug_resources_init() < 0) { init_resource_fail("debug"); return -1; } if (machine_common_resources_init() < 0) { init_resource_fail("machine common"); return -1; } if (machine_resources_init() < 0) { init_resource_fail("machine"); return -1; } if (joystick_init_resources() < 0) { init_resource_fail("joystick"); return -1; } if (ram_resources_init() < 0) { init_resource_fail("RAM"); return -1; } if (gfxoutput_resources_init() < 0) { init_resource_fail("GFXOUTPUT"); return -1; } if (network_resources_init() < 0) { init_resource_fail("network"); return -1; } if (monitor_resources_init() < 0) { init_resource_fail("monitor"); return -1; } #ifdef HAVE_NETWORK if (monitor_network_resources_init() < 0) { init_resource_fail("MONITOR_NETWORK"); return -1; } #endif return 0; }
char *archdep_default_joymap_file_name(void) { return util_concat(archdep_boot_path(), "\\sdl-joymap-", machine_get_name(), ".vjm", NULL); }
int init_resources(void) { DBG(("init_resources\n")); if (resources_init(machine_get_name())) { archdep_startup_log_error("Cannot initialize resource handling.\n"); return -1; } if (log_resources_init() < 0) { init_resource_fail("log"); return -1; } if (sysfile_resources_init() < 0) { init_resource_fail("system file locator"); return -1; } if (romset_resources_init() < 0) { init_resource_fail("romset"); return -1; } if (ui_resources_init() < 0) { init_resource_fail("UI"); return -1; } if (machine_common_resources_init() < 0) { init_resource_fail("machine common"); return -1; } if (vsync_resources_init() < 0) { init_resource_fail("vsync"); return -1; } if (sound_resources_init() < 0) { init_resource_fail("sound"); return -1; } if (keyboard_resources_init() < 0) { init_resource_fail("keyboard"); return -1; } if (machine_video_resources_init() < 0) { init_resource_fail("machine video"); return -1; } if (machine_resources_init() < 0) { init_resource_fail("machine"); return -1; } if (ram_resources_init() < 0) { init_resource_fail("RAM"); return -1; } if (monitor_resources_init() < 0) { init_resource_fail("monitor"); return -1; } #ifdef HAVE_NETWORK if (monitor_network_resources_init() < 0) { init_resource_fail("MONITOR_NETWORK"); return -1; } #endif return 0; }
char *archdep_default_autostart_disk_image_file_name(void) { return util_concat("autostart-", machine_get_name(), ".d64", NULL); }