Config
This commit is contained in:
55
src/config.c
55
src/config.c
@@ -8,20 +8,19 @@
|
|||||||
*
|
*
|
||||||
* Configuration file handler.
|
* Configuration file handler.
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
* Authors: Sarah Walker, <https://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <https://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
* Overdoze,
|
* Overdoze,
|
||||||
* David Hrdlička, <hrdlickadavid@outlook.com>
|
* David Hrdlička, <hrdlickadavid@outlook.com>
|
||||||
|
* Jasmine Iwanek, <jriwanek@gmail.com>
|
||||||
*
|
*
|
||||||
* Copyright 2008-2019 Sarah Walker.
|
* Copyright 2008-2019 Sarah Walker.
|
||||||
* Copyright 2016-2019 Miran Grca.
|
* Copyright 2016-2019 Miran Grca.
|
||||||
* Copyright 2017-2019 Fred N. van Kempen.
|
* Copyright 2017-2019 Fred N. van Kempen.
|
||||||
* Copyright 2018-2019 David Hrdlička.
|
* Copyright 2018-2019 David Hrdlička.
|
||||||
* Copyright 2021 Andreas J. Reichel.
|
* Copyright 2021 Andreas J. Reichel.
|
||||||
* Copyright 2021-2022 Jasmine Iwanek.
|
* Copyright 2021-2025 Jasmine Iwanek.
|
||||||
*
|
*
|
||||||
* NOTE: Forcing config files to be in Unicode encoding breaks
|
* NOTE: Forcing config files to be in Unicode encoding breaks
|
||||||
* it on Windows XP, and possibly also Vista. Use the
|
* it on Windows XP, and possibly also Vista. Use the
|
||||||
@@ -760,6 +759,28 @@ load_ports(void)
|
|||||||
p = ini_section_get_string(cat, temp, "none");
|
p = ini_section_get_string(cat, temp, "none");
|
||||||
lpt_ports[c].device = lpt_device_get_from_internal_name(p);
|
lpt_ports[c].device = lpt_device_get_from_internal_name(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// TODO: Load
|
||||||
|
for (c = 0; c < GAMEPORT_MAX; c++) {
|
||||||
|
sprintf(temp, "gameport%d_enabled", c + 1);
|
||||||
|
game_ports[c].enabled = !!ini_section_get_int(cat, temp, (c == 0) ? 1 : 0);
|
||||||
|
|
||||||
|
sprintf(temp, "gameport%d_device", c + 1);
|
||||||
|
p = ini_section_get_string(cat, temp, "none");
|
||||||
|
game_ports[c].device = gameport_get_from_internal_name(p);
|
||||||
|
}
|
||||||
|
|
||||||
|
for (uint8_t c = 0; c < GAMEPORT_MAX; c++) {
|
||||||
|
sprintf(temp, "gameport%d_type", c);
|
||||||
|
|
||||||
|
p = ini_section_get_string(cat, temp, "none");
|
||||||
|
gameport_type[c] = gameport_get_from_internal_name(p);
|
||||||
|
|
||||||
|
if (!strcmp(p, "none"))
|
||||||
|
ini_section_delete_var(cat, temp);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Load "Storage Controllers" section. */
|
/* Load "Storage Controllers" section. */
|
||||||
@@ -2377,6 +2398,34 @@ save_ports(void)
|
|||||||
lpt_device_get_internal_name(lpt_ports[c].device));
|
lpt_device_get_internal_name(lpt_ports[c].device));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if 0
|
||||||
|
// TODO: Save
|
||||||
|
for (c = 0; c < GAMEPORT_MAX; c++) {
|
||||||
|
sprintf(temp, "gameport%d_enabled", c + 1);
|
||||||
|
d = (c == 0) ? 1 : 0;
|
||||||
|
if (game_ports[c].enabled == d)
|
||||||
|
ini_section_delete_var(cat, temp);
|
||||||
|
else
|
||||||
|
ini_section_set_int(cat, temp, game_ports[c].enabled);
|
||||||
|
|
||||||
|
sprintf(temp, "gameport%d_device", c + 1);
|
||||||
|
if (game_ports[c].device == 0)
|
||||||
|
ini_section_delete_var(cat, temp);
|
||||||
|
else
|
||||||
|
ini_section_set_string(cat, temp,
|
||||||
|
gameport_get_internal_name(game_ports[c].device));
|
||||||
|
}
|
||||||
|
|
||||||
|
for (uint8_t c = 0; c < GAMEPORT_MAX; c++) {
|
||||||
|
sprintf(temp, "gameport%d_enabled", c);
|
||||||
|
if (gameport_type[c] == 0)
|
||||||
|
ini_section_delete_var(cat, temp);
|
||||||
|
else
|
||||||
|
ini_section_set_string(cat, temp,
|
||||||
|
gameport_get_internal_name(gameport_type[c]));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
ini_delete_section_if_empty(config, cat);
|
ini_delete_section_if_empty(config, cat);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,16 +8,16 @@
|
|||||||
*
|
*
|
||||||
* Configuration file handler header.
|
* Configuration file handler header.
|
||||||
*
|
*
|
||||||
*
|
|
||||||
*
|
|
||||||
* Authors: Sarah Walker,
|
* Authors: Sarah Walker,
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
* Fred N. van Kempen, <decwiz@yahoo.com>
|
* Fred N. van Kempen, <decwiz@yahoo.com>
|
||||||
* Overdoze,
|
* Overdoze,
|
||||||
|
* Jasmine Iwanek, <jriwanek@gmail.com>
|
||||||
*
|
*
|
||||||
* Copyright 2008-2017 Sarah Walker.
|
* Copyright 2008-2017 Sarah Walker.
|
||||||
* Copyright 2016-2017 Miran Grca.
|
* Copyright 2016-2017 Miran Grca.
|
||||||
* Copyright 2017 Fred N. van Kempen.
|
* Copyright 2017 Fred N. van Kempen.
|
||||||
|
* Copyright 2021-2025 Jasmine Iwanek.
|
||||||
*/
|
*/
|
||||||
#ifndef EMU_CONFIG_H
|
#ifndef EMU_CONFIG_H
|
||||||
#define EMU_CONFIG_H
|
#define EMU_CONFIG_H
|
||||||
@@ -111,6 +111,7 @@ typedef struct config_t {
|
|||||||
# ifdef USE_SERIAL_DEVICES
|
# ifdef USE_SERIAL_DEVICES
|
||||||
char serial_devices[SERIAL_MAX][32]; /* Serial device names */
|
char serial_devices[SERIAL_MAX][32]; /* Serial device names */
|
||||||
# endif
|
# endif
|
||||||
|
char gameport_devices[GAMEPORT_MAX][32]; /* gameport device names */
|
||||||
|
|
||||||
/* Other peripherals category */
|
/* Other peripherals category */
|
||||||
int fdc_current[FDC_MAX]; /* Floppy disk controller type */
|
int fdc_current[FDC_MAX]; /* Floppy disk controller type */
|
||||||
|
|||||||
Reference in New Issue
Block a user