Cassette improvements and fixes.
This commit is contained in:
28
src/config.c
28
src/config.c
@@ -808,6 +808,10 @@ load_machine(void)
|
||||
/* Remove this after a while.. */
|
||||
config_delete_var(cat, "nvr_path");
|
||||
config_delete_var(cat, "enable_sync");
|
||||
|
||||
/* Set up the architecture flags. */
|
||||
AT = IS_AT(machine);
|
||||
PCI = IS_ARCH(machine, MACHINE_BUS_PCI);
|
||||
}
|
||||
|
||||
|
||||
@@ -1095,17 +1099,22 @@ load_storage_controllers(void)
|
||||
ide_ter_enabled = !!config_get_int(cat, "ide_ter", 0);
|
||||
ide_qua_enabled = !!config_get_int(cat, "ide_qua", 0);
|
||||
|
||||
cassette_enable = !!config_get_int(cat, "cassette_enabled", 1);
|
||||
cassette_enable = !!config_get_int(cat, "cassette_enabled", AT ? 0 : 1);
|
||||
p = config_get_string(cat, "cassette_file", "");
|
||||
if (strlen(p) > 511)
|
||||
fatal("load_storage_controllers(): strlen(p) > 511\n");
|
||||
else
|
||||
strncpy(cassette_fname, p, strlen(p) + 1);
|
||||
cassette_mode = config_get_string(cat, "cassette_mode", "load");
|
||||
p = config_get_string(cat, "cassette_mode", "");
|
||||
if (strlen(p) > 511)
|
||||
fatal("load_storage_controllers(): strlen(p) > 511\n");
|
||||
else
|
||||
strncpy(cassette_mode, p, strlen(p) + 1);
|
||||
cassette_pos = config_get_int(cat, "cassette_position", 0);
|
||||
cassette_srate = config_get_int(cat, "cassette_srate", 44100);
|
||||
cassette_append = !!config_get_int(cat, "cassette_append", 0);
|
||||
cassette_pcm = config_get_int(cat, "cassette_pcm", 0);
|
||||
cassette_ui_writeprot = !!config_get_int(cat, "cassette_writeprot", 0);
|
||||
}
|
||||
|
||||
|
||||
@@ -1937,6 +1946,11 @@ config_load(void)
|
||||
kbd_req_capture = 0;
|
||||
scale = 1;
|
||||
machine = machine_get_machine_from_internal_name("ibmpc");
|
||||
|
||||
/* Set up the architecture flags. */
|
||||
AT = IS_AT(machine);
|
||||
PCI = IS_ARCH(machine, MACHINE_BUS_PCI);
|
||||
|
||||
fpu_type = fpu_get_type(cpu_f, cpu, "none");
|
||||
gfxcard = video_get_video_from_internal_name("cga");
|
||||
vid_api = plat_vidapi("default");
|
||||
@@ -1967,13 +1981,14 @@ config_load(void)
|
||||
for (i = 0; i < ISAMEM_MAX; i++)
|
||||
isamem_type[i] = 0;
|
||||
|
||||
cassette_enable = 1;
|
||||
cassette_enable = AT ? 0 : 1;
|
||||
memset(cassette_fname, 0x00, sizeof(cassette_fname));
|
||||
cassette_mode = "load";
|
||||
memcpy(cassette_mode, "load", strlen("load") + 1);
|
||||
cassette_pos = 0;
|
||||
cassette_srate = 44100;
|
||||
cassette_append = 0;
|
||||
cassette_pcm = 0;
|
||||
cassette_ui_writeprot = 0;
|
||||
|
||||
config_log("Config file not present or invalid!\n");
|
||||
return;
|
||||
@@ -2527,6 +2542,11 @@ save_storage_controllers(void)
|
||||
config_delete_var(cat, "cassette_pcm");
|
||||
else
|
||||
config_set_int(cat, "cassette_pcm", cassette_pcm);
|
||||
|
||||
if (cassette_ui_writeprot == 0)
|
||||
config_delete_var(cat, "cassette_writeprot");
|
||||
else
|
||||
config_set_int(cat, "cassette_writeprot", cassette_ui_writeprot);
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user