src/machine

This commit is contained in:
Jasmine Iwanek
2022-03-13 09:46:07 -04:00
parent 1a7c27286a
commit 698b16a603
12 changed files with 714 additions and 788 deletions

View File

@@ -670,89 +670,73 @@ vid_speed_change_1512(void *priv)
} }
device_config_t vid_1512_config[] = device_config_t vid_1512_config[] = {
{ {
{ .name = "display_type",
"display_type", "Display type", CONFIG_SELECTION, "", 0, "", { 0 }, .description = "Display type",
{ .type = CONFIG_SELECTION,
{ .default_string = "",
"PC-CM (Colour)", 0 .default_int = 0,
}, .file_filter = "",
{ .spinner = { 0 },
"PC-MM (Monochrome)", 3 .selection = {
}, { .description = "PC-CM (Colour)", .value = 0 },
{ { .description = "PC-MM (Monochrome)", .value = 3 },
"" { .description = "" }
}
} }
}, },
{ {
"codepage", "Hardware font", CONFIG_SELECTION, "", 3, "", { 0 }, .name = "codepage",
{ .description = "Hardware font",
{ .type = CONFIG_SELECTION,
"US English", 3 .default_string = "",
}, .default_int = 3,
{ .file_filter = "",
"Danish", 1 .spinner = { 0 },
}, .selection = {
{ { .description = "US English", .value = 3 },
"Greek", 0 { .description = "Danish", .value = 1 },
}, { .description = "Greek", .value = 0 },
{ { .description = "" }
""
}
} }
}, },
{ {
"language", "BIOS language", CONFIG_SELECTION, "", 7, "", { 0 }, .name = "language",
{ .description = "BIOS language",
{ .type = CONFIG_SELECTION,
"English", 7 .default_string = "",
}, .default_int = 7,
{ .file_filter = "",
"German", 6 .spinner = { 0 },
}, .selection = {
{ { .description = "English", .value = 7 },
"French", 5 { .description = "German", .value = 6 },
}, { .description = "French", .value = 5 },
{ { .description = "Spanish", .value = 4 },
"Spanish", 4 { .description = "Danish", .value = 3 },
}, { .description = "Swedish", .value = 2 },
{ { .description = "Italian", .value = 1 },
"Danish", 3 { .description = "Diagnostic mode", .value = 0 },
}, { .description = "" }
{
"Swedish", 2
},
{
"Italian", 1
},
{
"Diagnostic mode", 0
},
{
""
}
} }
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
static const device_t vid_1512_device = { static const device_t vid_1512_device = {
"Amstrad PC1512 (video)", .name = "Amstrad PC1512 (video)",
"vid_1512", .internal_name = "vid_1512",
0, 0, .flags = 0,
NULL, vid_close_1512, NULL, .local = 0,
{ NULL }, .init = NULL,
vid_speed_change_1512, .close = vid_close_1512,
NULL, .reset = NULL,
vid_1512_config { .available = NULL },
.speed_changed = vid_speed_change_1512,
.force_redraw = NULL,
.config = vid_1512_config
}; };
const device_t * const device_t *
pc1512_get_device(void) pc1512_get_device(void)
{ {
@@ -898,55 +882,42 @@ vid_speed_changed_1640(void *priv)
recalc_timings_1640(vid); recalc_timings_1640(vid);
} }
device_config_t vid_1640_config[] = {
device_config_t vid_1640_config[] =
{ {
{ .name = "language",
"language", "BIOS language", CONFIG_SELECTION, "", 7, "", { 0 }, .description = "BIOS language",
{ .type = CONFIG_SELECTION,
{ .default_string = "",
"English", 7 .default_int = 7,
}, .file_filter = "",
{ .spinner = { 0 },
"German", 6 .selection = {
}, { .description = "English", .value = 7 },
{ { .description = "German", .value = 6 },
"French", 5 { .description = "French", .value = 5 },
}, { .description = "Spanish", .value = 4 },
{ { .description = "Danish", .value = 3 },
"Spanish", 4 { .description = "Swedish", .value = 2 },
}, { .description = "Italian", .value = 1 },
{ { .description = "Diagnostic mode", .value = 0 },
"Danish", 3 { .description = "" }
},
{
"Swedish", 2
},
{
"Italian", 1
},
{
"Diagnostic mode", 0
},
{
""
}
} }
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
static const device_t vid_1640_device = { static const device_t vid_1640_device = {
"Amstrad PC1640 (video)", .name = "Amstrad PC1640 (video)",
"vid_1640", .internal_name = "vid_1640",
0, 0, .flags = 0,
NULL, vid_close_1640, NULL, .local = 0,
{ NULL }, .init = NULL,
vid_speed_changed_1640, .close = vid_close_1640,
NULL, .reset = NULL,
vid_1640_config { .available = NULL },
.speed_changed = vid_speed_changed_1640,
.force_redraw = NULL,
.config = vid_1640_config
}; };
const device_t * const device_t *
@@ -1744,330 +1715,276 @@ vid_close_200(void *priv)
} }
device_config_t vid_200_config[] = device_config_t vid_200_config[] = {
{
/* TODO: Should have options here for: /* TODO: Should have options here for:
* *
* > Display port (TTL or RF) * > Display port (TTL or RF)
*/ */
{ {
"video_emulation", "Display type", CONFIG_SELECTION, "", PC200_CGA, "", { 0 }, .name = "video_emulation",
{ .description = "Display type",
{ .type = CONFIG_SELECTION,
"CGA monitor", PC200_CGA .default_string = "",
}, .default_int = PC200_CGA,
{ .file_filter = "",
"MDA monitor", PC200_MDA .spinner = { 0 },
}, .selection = {
{ { .description = "CGA monitor", .value = PC200_CGA },
"Television", PC200_TV { .description = "MDA monitor", .value = PC200_MDA },
}, { .description = "Television", .value = PC200_TV },
{ { .description = "" }
""
}
} }
}, },
{ {
"display_type", "Monitor type", CONFIG_SELECTION, "", 0, "", { 0 }, .name = "display_type",
{ .description = "Monitor type",
{ .type = CONFIG_SELECTION,
"RGB", 0 .default_string = "",
}, .default_int = 0,
{ .file_filter = "",
"RGB (no brown)", 4 .spinner = { 0 },
}, .selection = {
{ { .description = "RGB", .value = 0 },
"Green Monochrome", 1 { .description = "RGB (no brown)", .value = 4 },
}, { .description = "Green Monochrome", .value = 1 },
{ { .description = "Amber Monochrome", .value = 2 },
"Amber Monochrome", 2 { .description = "White Monochrome", .value = 3 },
}, { .description = "" }
{
"White Monochrome", 3
},
{
""
}
} }
}, },
{ {
"codepage", "Hardware font", CONFIG_SELECTION, "", 3, "", { 0 }, .name = "codepage",
{ .description = "Hardware font",
{ .type = CONFIG_SELECTION,
"US English", 3 .default_string = "",
}, .default_int = 3,
{ .file_filter = "",
"Portugese", 2 .spinner = { 0 },
}, .selection = {
{ { .description = "US English", .value = 3 },
"Norwegian", 1 { .description = "Portugese", .value = 2 },
}, { .description = "Norwegian", .value = 1 },
{ { .description = "Greek", .value = 0 },
"Greek", 0 { .description = "" }
},
{
""
}
} }
}, },
{ {
"language", "BIOS language", CONFIG_SELECTION, "", 7, "", { 0 }, .name = "language",
{ .description = "BIOS language",
{ .type = CONFIG_SELECTION,
"English", 7 .default_string = "",
}, .default_int = 7,
{ .file_filter = "",
"German", 6 .spinner = { 0 },
}, .selection = {
{ { .description = "English", .value = 7 },
"French", 5 { .description = "German", .value = 6 },
}, { .description = "French", .value = 5 },
{ { .description = "Spanish", .value = 4 },
"Spanish", 4 { .description = "Danish", .value = 3 },
}, { .description = "Swedish", .value = 2 },
{ { .description = "Italian", .value = 1 },
"Danish", 3 { .description = "Diagnostic mode", .value = 0 },
}, { .description = "" }
{
"Swedish", 2
},
{
"Italian", 1
},
{
"Diagnostic mode", 0
},
{
""
}
} }
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
static const device_t vid_200_device = { static const device_t vid_200_device = {
"Amstrad PC200 (video)", .name = "Amstrad PC200 (video)",
"vid_200", .internal_name = "vid_200",
0, 0, .flags = 0,
NULL, vid_close_200, NULL, .local = 0,
{ NULL }, .init = NULL,
vid_speed_changed_200, .close = vid_close_200,
NULL, .reset = NULL,
vid_200_config { .available = NULL },
.speed_changed = vid_speed_changed_200,
.force_redraw = NULL,
.config = vid_200_config
}; };
const device_t * const device_t *
pc200_get_device(void) pc200_get_device(void)
{ {
return(&vid_200_device); return(&vid_200_device);
} }
device_config_t vid_ppc512_config[] = {
device_config_t vid_ppc512_config[] =
{
/* TODO: Should have options here for: /* TODO: Should have options here for:
* *
* > Display port (TTL or RF) * > Display port (TTL or RF)
*/ */
{ {
"video_emulation", "Display type", CONFIG_SELECTION, "", PC200_LCDC, "", { 0 }, .name = "video_emulation",
{ .description = "Display type",
{ .type = CONFIG_SELECTION,
"CGA monitor", PC200_CGA .default_string = "",
}, .default_int = PC200_LCDC,
{ .file_filter = "",
"MDA monitor", PC200_MDA .spinner = { 0 },
}, .selection = {
{ { .description = "CGA monitor", .value = PC200_CGA },
"LCD (CGA mode)", PC200_LCDC { .description = "MDA monitor", .value = PC200_MDA },
}, { .description = "LCD (CGA mode)", .value = PC200_LCDC },
{ { .description = "LCD (MDA mode)", .value = PC200_LCDM },
"LCD (MDA mode)", PC200_LCDM { .description = "" }
},
{
""
}
}, },
}, },
{ {
"display_type", "Monitor type", CONFIG_SELECTION, "", 0, "", { 0 }, .name = "display_type",
{ .description = "Monitor type",
{ .type = CONFIG_SELECTION,
"RGB", 0 .default_string = "",
}, .default_int = 0,
{ .file_filter = "",
"RGB (no brown)", 4 .spinner = { 0 },
}, .selection = {
{ { .description = "RGB", .value = 0 },
"Green Monochrome", 1 { .description = "RGB (no brown)", .value = 4 },
}, { .description = "Green Monochrome", .value = 1 },
{ { .description = "Amber Monochrome", .value = 2 },
"Amber Monochrome", 2 { .description = "White Monochrome", .value = 3 },
}, { .description = "" }
{
"White Monochrome", 3
},
{
""
}
}, },
}, },
{ {
"codepage", "Hardware font", CONFIG_SELECTION, "", 3, "", { 0 }, .name = "codepage",
{ .description = "Hardware font",
{ .type = CONFIG_SELECTION,
"US English", 3 .default_string = "",
}, .default_int = 3,
{ .file_filter = "",
"Portugese", 2 .spinner = { 0 },
}, .selection = {
{ { .description = "US English", .value = 3 },
"Norwegian",1 { .description = "Portugese", .value = 2 },
}, { .description = "Norwegian", .value = 1 },
{ { .description = "Greek", .value = 0 },
"Greek", 0 { .description = "" }
},
{
""
}
}, },
}, },
{ {
"language", "BIOS language", CONFIG_SELECTION, "", 7, "", { 0 }, .name = "language",
{ .description = "BIOS language",
{ .type = CONFIG_SELECTION,
"English", 7 .default_string = "",
}, .default_int = 7,
{ .file_filter = "",
"German", 6 .spinner = { 0 },
}, .selection = {
{ { .description = "English", .value = 7 },
"French", 5 { .description = "German", .value = 6 },
}, { .description = "French", .value = 5 },
{ { .description = "Spanish", .value = 4 },
"Spanish", 4 { .description = "Danish", .value = 3 },
}, { .description = "Swedish", .value = 2 },
{ { .description = "Italian", .value = 1 },
"Danish", 3 { .description = "Diagnostic mode", .value = 0 },
}, { .description = "" }
{
"Swedish", 2
},
{
"Italian", 1
},
{
"Diagnostic mode", 0
},
{
""
}
} }
}, },
{ {
"invert", "Invert LCD colors", CONFIG_BINARY, "", 0 .name = "invert",
.description = "Invert LCD colors",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 0
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
static const device_t vid_ppc512_device = { static const device_t vid_ppc512_device = {
"Amstrad PPC512 (video)", .name = "Amstrad PPC512 (video)",
"vid_ppc512", .internal_name = "vid_ppc512",
0, 0, .flags = 0,
NULL, vid_close_200, NULL, .local = 0,
{ NULL }, .init = NULL,
vid_speed_changed_200, .close = vid_close_200,
NULL, .reset = NULL,
vid_ppc512_config { .available = NULL },
.speed_changed = vid_speed_changed_200,
.force_redraw = NULL,
.config = vid_ppc512_config
}; };
const device_t * const device_t *
ppc512_get_device(void) ppc512_get_device(void)
{ {
return(&vid_ppc512_device); return(&vid_ppc512_device);
} }
device_config_t vid_pc2086_config[] = {
device_config_t vid_pc2086_config[] =
{ {
{ .name = "language",
"language", "BIOS language", CONFIG_SELECTION, "", 7, "", { 0 }, .description = "BIOS language",
{ .type = CONFIG_SELECTION,
{ .default_string = "",
"English", 7 .default_int = 7,
}, .file_filter = "",
{ .spinner = { 0 },
"Diagnostic mode", 0 .selection = {
}, { .description = "English", .value = 7 },
{ { .description = "Diagnostic mode", .value = 0 },
"" { .description = "" }
}
} }
}, },
{ { "", "", -1 }
"", "", -1
}
}; };
static const device_t vid_pc2086_device = { static const device_t vid_pc2086_device = {
"Amstrad PC2086", .name = "Amstrad PC2086",
"vid_pc2086", .internal_name = "vid_pc2086",
0, 0, .flags = 0,
NULL, NULL, NULL, .local = 0,
{ NULL }, .init = NULL,
NULL, .close = NULL,
NULL, .reset = NULL,
vid_pc2086_config { .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = vid_pc2086_config
}; };
const device_t * const device_t *
pc2086_get_device(void) pc2086_get_device(void)
{ {
return(&vid_pc2086_device); return(&vid_pc2086_device);
} }
device_config_t vid_pc3086_config[] = {
device_config_t vid_pc3086_config[] =
{ {
{ .name = "language",
"language", "BIOS language", CONFIG_SELECTION, "", 7, "", { 0 }, .description = "BIOS language",
{ .type = CONFIG_SELECTION,
{ .default_string = "",
"English", 7 .default_int = 7,
}, .file_filter = "",
{ .spinner = { 0 },
"Diagnostic mode", 3 .selection = {
}, { .description = "English", .value = 7 },
{ { .description = "Diagnostic mode", .value = 3 },
"" { .description = "" }
}
} }
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
static const device_t vid_pc3086_device = { static const device_t vid_pc3086_device = {
"Amstrad PC3086", .name = "Amstrad PC3086",
"vid_pc3086", .internal_name = "vid_pc3086",
0, 0, .flags = 0,
NULL, NULL, NULL, .local = 0,
{ NULL }, .init = NULL,
NULL, .close = NULL,
NULL, .reset = NULL,
vid_pc3086_config { .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = vid_pc3086_config
}; };
const device_t * const device_t *
pc3086_get_device(void) pc3086_get_device(void)
{ {

View File

@@ -670,77 +670,67 @@ compaq_plasma_speed_changed(void *p)
compaq_plasma_recalctimings(self); compaq_plasma_recalctimings(self);
} }
const device_config_t compaq_plasma_config[] = const device_config_t compaq_plasma_config[] = {
{ {
{ .name = "display_type",
"display_type", "Display type", CONFIG_SELECTION, "", CGA_RGB, "", { 0 }, .description = "Display type",
{ .type = CONFIG_SELECTION,
{ .default_string = "",
"RGB", CGA_RGB .default_int = CGA_RGB,
}, .file_filter = "",
{ .spinner = { 0 },
"Composite", CGA_COMPOSITE .selection = {
}, { .description = "RGB", .value = CGA_RGB },
{ { .description = "Composite", .value = CGA_COMPOSITE },
"" { .description = "" }
}
} }
}, },
{ {
"composite_type", "Composite type", CONFIG_SELECTION, "", COMPOSITE_OLD, "", { 0 }, .name = "composite_type",
.description = "Composite type",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = COMPOSITE_OLD,
.file_filter = "",
.spinner = { 0 },
{ {
{ { .description = "Old", .value = COMPOSITE_OLD },
"Old", COMPOSITE_OLD { .description = "New", .value = COMPOSITE_NEW },
}, { .description = "" }
{
"New", COMPOSITE_NEW
},
{
""
}
} }
}, },
{ {
"rgb_type", "RGB type", CONFIG_SELECTION, "", 0, "", { 0 }, .name = "rgb_type",
{ .description = "RGB type",
{ .type = CONFIG_SELECTION,
"Color", 0 .default_string = "",
}, .default_int = 0,
{ .file_filter = "",
"Green Monochrome", 1 .spinner = { 0 },
}, .selection = {
{ { .description = "Color", .value = 0 },
"Amber Monochrome", 2 { .description = "Green Monochrome", .value = 1 },
}, { .description = "Amber Monochrome", .value = 2 },
{ { .description = "Gray Monochrome", .value = 3 },
"Gray Monochrome", 3 { .description = "Color (no brown)", .value = 4 },
}, { .description = "" }
{
"Color (no brown)", 4
},
{
""
}
} }
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
static const device_t compaq_plasma_device = {
static const device_t compaq_plasma_device = .name = "Compaq Plasma",
{ .internal_name = "compaq_plasma",
"Compaq Plasma", .flags = 0,
"compaq_plasma", .local = 0,
0, 0, .init = compaq_plasma_init,
compaq_plasma_init, .close = compaq_plasma_close,
compaq_plasma_close, .reset = NULL,
NULL, { .available = NULL },
{ NULL }, .speed_changed = compaq_plasma_speed_changed,
compaq_plasma_speed_changed, .force_redraw = NULL,
NULL, .config = compaq_plasma_config
compaq_plasma_config
}; };
static uint8_t static uint8_t

View File

@@ -757,16 +757,16 @@ void t3100e_speed_changed(void *p)
t3100e_recalctimings(t3100e); t3100e_recalctimings(t3100e);
} }
const device_t t3100e_device = const device_t t3100e_device = {
{ .name = "Toshiba T3100e",
"Toshiba T3100e", .internal_name = "t3100e",
"t3100e", .flags = 0,
0, .local = 0,
0, .init = t3100e_init,
t3100e_init, .close = t3100e_close,
t3100e_close, .reset = NULL,
NULL, { .available = NULL },
{ NULL }, .speed_changed = t3100e_speed_changed,
t3100e_speed_changed, .force_redraw = NULL,
NULL .config = NULL
}; };

View File

@@ -666,38 +666,38 @@ europc_close(void *priv)
free(nvr->fn); free(nvr->fn);
} }
static const device_config_t europc_config[] = { static const device_config_t europc_config[] = {
{ {
"js9", "JS9 Jumper (JIM)", CONFIG_INT, "", 0, "", { 0 }, .name = "js9",
{ .description = "JS9 Jumper (JIM)",
{ .type = CONFIG_INT,
"Disabled (250h)", 0 .default_string = "",
}, .default_int = 0,
{ .file_filter = "",
"Enabled (350h)", 1 .spinner = { 0 },
}, .selection = {
{ { .description = "Disabled (250h)", .value = 0 },
"" { .description = "Enabled (350h)", .value = 1 },
} { "" }
}, },
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
const device_t europc_device = { const device_t europc_device = {
"EuroPC System Board", .name = "EuroPC System Board",
"europc", .internal_name = "europc",
0, 0, .flags = 0,
europc_boot, europc_close, NULL, .local = 0,
{ NULL }, NULL, NULL, .init = europc_boot,
europc_config .close = europc_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = europc_config
}; };
/* /*
* This function sets up the Scheider EuroPC machine. * This function sets up the Scheider EuroPC machine.
* *

View File

@@ -769,40 +769,38 @@ speed_changed(void *priv)
recalc_timings(pcjr); recalc_timings(pcjr);
} }
static const device_config_t pcjr_config[] = { static const device_config_t pcjr_config[] = {
{ {
"display_type", "Display type", CONFIG_SELECTION, "", PCJR_RGB, "", { 0 }, .name = "display_type",
{ .description = "Display type",
{ .type = CONFIG_SELECTION,
"RGB", PCJR_RGB .default_string = "",
}, .default_int = PCJR_RGB,
{ .file_filter = "",
"Composite", PCJR_COMPOSITE .spinner = { 0 },
}, .selection = {
{ { .description = "RGB", .value = PCJR_RGB },
"" { .description = "Composite", .value = PCJR_COMPOSITE },
} { .description = "" }
} }
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
static const device_t pcjr_device = { static const device_t pcjr_device = {
"IBM PCjr", "IBM PCjr",
"pcjr", "pcjr",
0, 0, 0,
NULL, NULL, NULL, 0,
NULL,
NULL,
NULL,
{ NULL }, { NULL },
speed_changed, speed_changed,
NULL, NULL,
pcjr_config pcjr_config
}; };
const device_t * const device_t *
pcjr_get_device(void) pcjr_get_device(void)
{ {

View File

@@ -1349,18 +1349,20 @@ ps1_hdc_close(void *priv)
free(dev); free(dev);
} }
const device_t ps1_hdc_device = { const device_t ps1_hdc_device = {
"PS/1 2011 Fixed Disk Controller", .name = "PS/1 2011 Fixed Disk Controller",
"ps1_hdc", .internal_name = "ps1_hdc",
DEVICE_ISA | DEVICE_PS2, .flags = DEVICE_ISA | DEVICE_PS2,
0, .local = 0,
ps1_hdc_init, ps1_hdc_close, NULL, .init = ps1_hdc_init,
{ NULL }, NULL, NULL, .close = ps1_hdc_close,
NULL .reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
}; };
/* /*
* Very nasty. * Very nasty.
* *

View File

@@ -1144,59 +1144,64 @@ vid_init(tandy_t *dev)
static const device_config_t vid_config[] = { static const device_config_t vid_config[] = {
{ {
"display_type", "Display type", CONFIG_SELECTION, "", TANDY_RGB, "", { 0 }, .name = "display_type",
{ .description = "Display type",
{ .type = CONFIG_SELECTION,
"RGB", TANDY_RGB .default_string = "",
}, .default_int = TANDY_RGB,
{ .file_filter = "",
"Composite", TANDY_COMPOSITE .spinner = { 0 },
}, .selection = {
{ { .description = "RGB", .value = TANDY_RGB },
"" { .description = "Composite", .value = TANDY_COMPOSITE },
} { .description = "" }
} }
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
static const device_t vid_device = { static const device_t vid_device = {
"Tandy 1000", .name = "Tandy 1000",
"tandy1000_video", .internal_name = "tandy1000_video",
0, 0, .flags = 0,
NULL, vid_close, NULL, .local = 0,
{ NULL }, .init = NULL,
vid_speed_changed, .close = vid_close,
NULL, .reset = NULL,
vid_config { .available = NULL },
.speed_changed = vid_speed_changed,
.force_redraw = NULL,
.config = vid_config
}; };
static const device_t vid_device_hx = { static const device_t vid_device_hx = {
"Tandy 1000 HX", .name = "Tandy 1000 HX",
"tandy1000_hx_video", .internal_name = "tandy1000_hx_video",
0, 0, .flags = 0,
NULL, vid_close, NULL, .local = 0,
{ NULL }, .init = NULL,
vid_speed_changed, .close = vid_close,
NULL, .reset = NULL,
vid_config { .available = NULL },
.speed_changed = vid_speed_changed,
.force_redraw = NULL,
.config = vid_config
}; };
static const device_t vid_device_sl = { static const device_t vid_device_sl = {
"Tandy 1000SL2", .name = "Tandy 1000SL2",
"tandy1000_sl_video", .internal_name = "tandy1000_sl_video",
0, 1, .flags = 0,
NULL, vid_close, NULL, .local = 1,
{ NULL }, .init = NULL,
vid_speed_changed, .close = vid_close,
NULL, .reset = NULL,
NULL { .available = NULL },
.speed_changed = vid_speed_changed,
.force_redraw = NULL,
.config = NULL
}; };
const device_t * const device_t *
tandy1k_get_device(void) tandy1k_get_device(void)
{ {
@@ -1344,27 +1349,34 @@ eep_close(void *priv)
free(eep); free(eep);
} }
static const device_t eep_1000hx_device = { static const device_t eep_1000hx_device = {
"Tandy 1000HX EEPROM", .name = "Tandy 1000HX EEPROM",
"eep_1000hx", .internal_name = "eep_1000hx",
0, TYPE_TANDY1000HX, .flags = 0,
eep_init, eep_close, NULL, .local = TYPE_TANDY1000HX,
{ NULL }, NULL, NULL, .init = eep_init,
NULL .close = eep_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
}; };
static const device_t eep_1000sl2_device = { static const device_t eep_1000sl2_device = {
"Tandy 1000SL2 EEPROM", .name = "Tandy 1000SL2 EEPROM",
"eep_1000sl2", .internal_name = "eep_1000sl2",
0, TYPE_TANDY1000SL2, .flags = 0,
eep_init, eep_close, NULL, .local = TYPE_TANDY1000SL2,
{ NULL }, NULL, NULL, .init = eep_init,
NULL .close = eep_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
}; };
static void static void
tandy_write(uint16_t addr, uint8_t val, void *priv) tandy_write(uint16_t addr, uint8_t val, void *priv)
{ {

View File

@@ -588,56 +588,59 @@ m19_vid_init(m19_vid_t *vid)
const device_t m24_kbd_device = { const device_t m24_kbd_device = {
"Olivetti M24 keyboard and mouse", .name = "Olivetti M24 keyboard and mouse",
"m24_kbd", .internal_name = "m24_kbd",
0, .flags = 0,
0, .local = 0,
NULL, .init = NULL,
m24_kbd_close, .close = m24_kbd_close,
m24_kbd_reset, .reset = m24_kbd_reset,
{ NULL }, NULL, NULL { .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
}; };
const device_config_t m19_vid_config[] = const device_config_t m19_vid_config[] = {
{
{ {
/* Olivetti / ATT compatible displays */ /* Olivetti / ATT compatible displays */
"rgb_type", "RGB type", CONFIG_SELECTION, "", CGA_RGB, "", { 0 }, .name = "rgb_type",
{ .description = "RGB type",
{ .type = CONFIG_SELECTION,
"Color", 0 .default_string = "",
}, .default_int = CGA_RGB,
{ .file_filter = "",
"Green Monochrome", 1 .spinner = { 0 },
}, .selection = {
{ { .description = "Color", .value = 0 },
"Amber Monochrome", 2 { .description = "Green Monochrome", .value = 1 },
}, { .description = "Amber Monochrome", .value = 2 },
{ { .description = "Gray Monochrome", .value = 3 },
"Gray Monochrome", 3 { .description = "" }
},
{
""
}
} }
}, },
{ {
"snow_enabled", "Snow emulation", CONFIG_BINARY, "", 1, .name = "snow_enabled",
.description = "Snow emulation",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1,
}, },
{ { .name = "", .description = "", .type = -1 }
"", "", -1
}
}; };
const device_t m19_vid_device = { const device_t m19_vid_device = {
"Olivetti M19 graphics card", .name = "Olivetti M19 graphics card",
"m19_vid", .internal_name = "m19_vid",
0, 0, .flags = 0,
NULL, m19_vid_close, NULL, .local = 0,
{ NULL }, .init = NULL,
m19_vid_speed_changed, .close = m19_vid_close,
NULL, .reset = NULL,
m19_vid_config { .available = NULL },
.speed_changed = m19_vid_speed_changed,
.force_redraw = NULL,
.config = m19_vid_config
}; };
const device_t * const device_t *

View File

@@ -134,16 +134,19 @@ philips_init(const device_t *info)
} }
const device_t philips_device = { const device_t philips_device = {
"Philips XT Mainboard", .name = "Philips XT Mainboard",
"philips", .internal_name = "philips",
0, .flags = 0,
0, .local = 0,
philips_init, philips_close, NULL, .init = philips_init,
{ NULL }, NULL, NULL, .close = philips_close,
NULL .reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
}; };
void void
machine_xt_philips_common_init(const machine_t *model) machine_xt_philips_common_init(const machine_t *model)
{ {

View File

@@ -740,8 +740,7 @@ static void t1000_speed_changed(void *p)
t1000_recalctimings(t1000); t1000_recalctimings(t1000);
} }
static const device_config_t t1000_config[] = static const device_config_t t1000_config[] = {
{
{ {
.name = "display_language", .name = "display_language",
.description = "Language", .description = "Language",
@@ -760,36 +759,45 @@ static const device_config_t t1000_config[] =
.default_int = 0 .default_int = 0
}, },
{ {
"backlight", "Enable backlight", CONFIG_BINARY, "", 1 .name = "backlight",
}, .description = "Enable backlight",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1 },
{ {
"invert", "Invert colors", CONFIG_BINARY, "", 0 .name = "invert",
.description = "Invert colors",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 0
}, },
{ { .type = -1 }
.type = -1
}
}; };
const device_t t1000_video_device = { const device_t t1000_video_device = {
"Toshiba T1000 Video", .name = "Toshiba T1000 Video",
"t1000_video", .internal_name = "t1000_video",
0, 0, .flags = 0,
t1000_init, t1000_close, NULL, .local = 0,
{ NULL }, .init = t1000_init,
t1000_speed_changed, .close = t1000_close,
NULL, .reset = NULL,
t1000_config { .available = NULL },
.speed_changed = t1000_speed_changed,
.force_redraw = NULL,
.config = t1000_config
}; };
const device_t t1200_video_device = { const device_t t1200_video_device = {
"Toshiba T1200 Video", .name = "Toshiba T1200 Video",
"t1200_video", .internal_name = "t1200_video",
0, 0, .flags = 0,
t1000_init, t1000_close, NULL, .local = 0,
{ NULL }, .init = t1000_init,
t1000_speed_changed, .close = t1000_close,
NULL, .reset = NULL,
t1000_config { .available = NULL },
.speed_changed = t1000_speed_changed,
.force_redraw = NULL,
.config = t1000_config
}; };

View File

@@ -91,15 +91,12 @@ xi8088_init(const device_t *info)
return &xi8088; return &xi8088;
} }
static const device_config_t xi8088_config[] = {
static const device_config_t xi8088_config[] =
{
{ {
.name = "turbo_setting", .name = "turbo_setting",
.description = "Turbo", .description = "Turbo",
.type = CONFIG_SELECTION, .type = CONFIG_SELECTION,
.selection = .selection = {
{
{ {
.description = "Always at selected speed", .description = "Always at selected speed",
.value = 0 .value = 0
@@ -115,8 +112,7 @@ static const device_config_t xi8088_config[] =
.name = "bios_128kb", .name = "bios_128kb",
.description = "BIOS size", .description = "BIOS size",
.type = CONFIG_SELECTION, .type = CONFIG_SELECTION,
.selection = .selection = {
{
{ {
.description = "64KB starting from 0xF0000", .description = "64KB starting from 0xF0000",
.value = 0 .value = 0
@@ -164,28 +160,23 @@ static const device_config_t xi8088_config[] =
.type = CONFIG_BINARY, .type = CONFIG_BINARY,
.default_int = 0 .default_int = 0
}, },
{ { .type = -1 }
.type = -1
}
}; };
const device_t xi8088_device = {
const device_t xi8088_device = .name = "Xi8088",
{ .internal_name = "xi8088",
"Xi8088", .flags = 0,
"xi8088", .local = 0,
0, .init = xi8088_init,
0, .close = NULL,
xi8088_init, .reset = NULL,
NULL, { .available = NULL },
NULL, .speed_changed = NULL,
{ NULL }, .force_redraw = NULL,
NULL, .config = xi8088_config
NULL,
xi8088_config
}; };
const device_t * const device_t *
xi8088_get_device(void) xi8088_get_device(void)
{ {

View File

@@ -98,18 +98,20 @@ zenith_scratchpad_close(void *p)
free(dev); free(dev);
} }
static const device_t zenith_scratchpad_device = { static const device_t zenith_scratchpad_device = {
"Zenith scratchpad RAM", .name = "Zenith scratchpad RAM",
"zenith_scratchpad", .internal_name = "zenith_scratchpad",
0, 0, .flags = 0,
zenith_scratchpad_init, zenith_scratchpad_close, NULL, .local = 0,
{ NULL }, .init = zenith_scratchpad_init,
NULL, .close = zenith_scratchpad_close,
NULL .reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
}; };
void void
machine_zenith_init(const machine_t *model){ machine_zenith_init(const machine_t *model){