Large changes to configuration files again (the old ones might break, be careful);
Applied the mainline PCem slight CPU emulation speedup commit; Added emulation of removable SCSI hard disks; CD-ROM image handler now uses C FILE's (with the 64-bit size calls) instead of C++ iostreams, ISO images bigger than 2 GB should work properly again; Split RLL/ESDI and XT IDE disks to their own bus types; Turned status bar pane meaning and hard disks and CD-ROM BUS numbers to #define's; Other miscellaneous cleanups.
This commit is contained in:
93
src/device.c
93
src/device.c
@@ -145,6 +145,48 @@ int device_get_config_int_ex(char *s, int default_int)
|
||||
return default_int;
|
||||
}
|
||||
|
||||
int device_get_config_hex16(char *s)
|
||||
{
|
||||
device_config_t *config = current_device->config;
|
||||
|
||||
while (config->type != -1)
|
||||
{
|
||||
if (!strcmp(s, config->name))
|
||||
return config_get_hex16(current_device->name, s, config->default_int);
|
||||
|
||||
config++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int device_get_config_hex20(char *s)
|
||||
{
|
||||
device_config_t *config = current_device->config;
|
||||
|
||||
while (config->type != -1)
|
||||
{
|
||||
if (!strcmp(s, config->name))
|
||||
return config_get_hex20(current_device->name, s, config->default_int);
|
||||
|
||||
config++;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int device_get_config_mac(char *s, int default_int)
|
||||
{
|
||||
device_config_t *config = current_device->config;
|
||||
|
||||
while (config->type != -1)
|
||||
{
|
||||
if (!strcmp(s, config->name))
|
||||
return config_get_mac(current_device->name, s, default_int);
|
||||
|
||||
config++;
|
||||
}
|
||||
return default_int;
|
||||
}
|
||||
|
||||
void device_set_config_int(char *s, int val)
|
||||
{
|
||||
device_config_t *config = current_device->config;
|
||||
@@ -162,6 +204,57 @@ void device_set_config_int(char *s, int val)
|
||||
return;
|
||||
}
|
||||
|
||||
void device_set_config_hex16(char *s, int val)
|
||||
{
|
||||
device_config_t *config = current_device->config;
|
||||
|
||||
while (config->type != -1)
|
||||
{
|
||||
if (!strcmp(s, config->name))
|
||||
{
|
||||
config_set_hex16(current_device->name, s, val);
|
||||
return;
|
||||
}
|
||||
|
||||
config++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void device_set_config_hex20(char *s, int val)
|
||||
{
|
||||
device_config_t *config = current_device->config;
|
||||
|
||||
while (config->type != -1)
|
||||
{
|
||||
if (!strcmp(s, config->name))
|
||||
{
|
||||
config_set_hex20(current_device->name, s, val);
|
||||
return;
|
||||
}
|
||||
|
||||
config++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
void device_set_config_mac(char *s, int val)
|
||||
{
|
||||
device_config_t *config = current_device->config;
|
||||
|
||||
while (config->type != -1)
|
||||
{
|
||||
if (!strcmp(s, config->name))
|
||||
{
|
||||
config_set_mac(current_device->name, s, val);
|
||||
return;
|
||||
}
|
||||
|
||||
config++;
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
char *device_get_config_string(char *s)
|
||||
{
|
||||
device_config_t *config = current_device->config;
|
||||
|
||||
Reference in New Issue
Block a user