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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -1144,59 +1144,64 @@ vid_init(tandy_t *dev)
static const device_config_t vid_config[] = {
{
"display_type", "Display type", CONFIG_SELECTION, "", TANDY_RGB, "", { 0 },
{
{
"RGB", TANDY_RGB
},
{
"Composite", TANDY_COMPOSITE
},
{
""
}
}
.name = "display_type",
.description = "Display type",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = TANDY_RGB,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "RGB", .value = TANDY_RGB },
{ .description = "Composite", .value = TANDY_COMPOSITE },
{ .description = "" }
}
},
{
"", "", -1
}
{ .name = "", .description = "", .type = -1 }
};
static const device_t vid_device = {
"Tandy 1000",
"tandy1000_video",
0, 0,
NULL, vid_close, NULL,
{ NULL },
vid_speed_changed,
NULL,
vid_config
.name = "Tandy 1000",
.internal_name = "tandy1000_video",
.flags = 0,
.local = 0,
.init = NULL,
.close = vid_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = vid_speed_changed,
.force_redraw = NULL,
.config = vid_config
};
static const device_t vid_device_hx = {
"Tandy 1000 HX",
"tandy1000_hx_video",
0, 0,
NULL, vid_close, NULL,
{ NULL },
vid_speed_changed,
NULL,
vid_config
.name = "Tandy 1000 HX",
.internal_name = "tandy1000_hx_video",
.flags = 0,
.local = 0,
.init = NULL,
.close = vid_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = vid_speed_changed,
.force_redraw = NULL,
.config = vid_config
};
static const device_t vid_device_sl = {
"Tandy 1000SL2",
"tandy1000_sl_video",
0, 1,
NULL, vid_close, NULL,
{ NULL },
vid_speed_changed,
NULL,
NULL
.name = "Tandy 1000SL2",
.internal_name = "tandy1000_sl_video",
.flags = 0,
.local = 1,
.init = NULL,
.close = vid_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = vid_speed_changed,
.force_redraw = NULL,
.config = NULL
};
const device_t *
tandy1k_get_device(void)
{
@@ -1344,27 +1349,34 @@ eep_close(void *priv)
free(eep);
}
static const device_t eep_1000hx_device = {
"Tandy 1000HX EEPROM",
"eep_1000hx",
0, TYPE_TANDY1000HX,
eep_init, eep_close, NULL,
{ NULL }, NULL, NULL,
NULL
.name = "Tandy 1000HX EEPROM",
.internal_name = "eep_1000hx",
.flags = 0,
.local = TYPE_TANDY1000HX,
.init = eep_init,
.close = eep_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
static const device_t eep_1000sl2_device = {
"Tandy 1000SL2 EEPROM",
"eep_1000sl2",
0, TYPE_TANDY1000SL2,
eep_init, eep_close, NULL,
{ NULL }, NULL, NULL,
NULL
.name = "Tandy 1000SL2 EEPROM",
.internal_name = "eep_1000sl2",
.flags = 0,
.local = TYPE_TANDY1000SL2,
.init = eep_init,
.close = eep_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
static void
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 = {
"Olivetti M24 keyboard and mouse",
"m24_kbd",
0,
0,
NULL,
m24_kbd_close,
m24_kbd_reset,
{ NULL }, NULL, NULL
.name = "Olivetti M24 keyboard and mouse",
.internal_name = "m24_kbd",
.flags = 0,
.local = 0,
.init = NULL,
.close = m24_kbd_close,
.reset = m24_kbd_reset,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
const device_config_t m19_vid_config[] =
{
{
/* Olivetti / ATT compatible displays */
"rgb_type", "RGB type", CONFIG_SELECTION, "", CGA_RGB, "", { 0 },
{
{
"Color", 0
},
{
"Green Monochrome", 1
},
{
"Amber Monochrome", 2
},
{
"Gray Monochrome", 3
},
{
""
}
}
},
{
"snow_enabled", "Snow emulation", CONFIG_BINARY, "", 1,
},
{
"", "", -1
const device_config_t m19_vid_config[] = {
{
/* Olivetti / ATT compatible displays */
.name = "rgb_type",
.description = "RGB type",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = CGA_RGB,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Color", .value = 0 },
{ .description = "Green Monochrome", .value = 1 },
{ .description = "Amber Monochrome", .value = 2 },
{ .description = "Gray Monochrome", .value = 3 },
{ .description = "" }
}
},
{
.name = "snow_enabled",
.description = "Snow emulation",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1,
},
{ .name = "", .description = "", .type = -1 }
};
const device_t m19_vid_device = {
"Olivetti M19 graphics card",
"m19_vid",
0, 0,
NULL, m19_vid_close, NULL,
{ NULL },
m19_vid_speed_changed,
NULL,
m19_vid_config
.name = "Olivetti M19 graphics card",
.internal_name = "m19_vid",
.flags = 0,
.local = 0,
.init = NULL,
.close = m19_vid_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = m19_vid_speed_changed,
.force_redraw = NULL,
.config = m19_vid_config
};
const device_t *

View File

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

View File

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

View File

@@ -91,101 +91,92 @@ xi8088_init(const device_t *info)
return &xi8088;
}
static const device_config_t xi8088_config[] =
{
{
.name = "turbo_setting",
.description = "Turbo",
.type = CONFIG_SELECTION,
.selection =
{
{
.description = "Always at selected speed",
.value = 0
},
{
.description = "BIOS setting + Hotkeys (off during POST)",
.value = 1
}
},
.default_int = 0
static const device_config_t xi8088_config[] = {
{
.name = "turbo_setting",
.description = "Turbo",
.type = CONFIG_SELECTION,
.selection = {
{
.description = "Always at selected speed",
.value = 0
},
{
.description = "BIOS setting + Hotkeys (off during POST)",
.value = 1
}
},
{
.name = "bios_128kb",
.description = "BIOS size",
.type = CONFIG_SELECTION,
.selection =
{
{
.description = "64KB starting from 0xF0000",
.value = 0
},
{
.description = "128KB starting from 0xE0000 (address MSB inverted, last 64KB first)",
.value = 1
}
},
.default_int = 1
.default_int = 0
},
{
.name = "bios_128kb",
.description = "BIOS size",
.type = CONFIG_SELECTION,
.selection = {
{
.description = "64KB starting from 0xF0000",
.value = 0
},
{
.description = "128KB starting from 0xE0000 (address MSB inverted, last 64KB first)",
.value = 1
}
},
{
.name = "umb_c0000h_c7fff",
.description = "Map 0xc0000-0xc7fff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_c8000h_cffff",
.description = "Map 0xc8000-0xcffff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_d0000h_d7fff",
.description = "Map 0xd0000-0xd7fff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_d8000h_dffff",
.description = "Map 0xd8000-0xdffff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_e0000h_e7fff",
.description = "Map 0xe0000-0xe7fff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_e8000h_effff",
.description = "Map 0xe8000-0xeffff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.type = -1
}
.default_int = 1
},
{
.name = "umb_c0000h_c7fff",
.description = "Map 0xc0000-0xc7fff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_c8000h_cffff",
.description = "Map 0xc8000-0xcffff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_d0000h_d7fff",
.description = "Map 0xd0000-0xd7fff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_d8000h_dffff",
.description = "Map 0xd8000-0xdffff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_e0000h_e7fff",
.description = "Map 0xe0000-0xe7fff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{
.name = "umb_e8000h_effff",
.description = "Map 0xe8000-0xeffff as UMB",
.type = CONFIG_BINARY,
.default_int = 0
},
{ .type = -1 }
};
const device_t xi8088_device =
{
"Xi8088",
"xi8088",
0,
0,
xi8088_init,
NULL,
NULL,
{ NULL },
NULL,
NULL,
xi8088_config
const device_t xi8088_device = {
.name = "Xi8088",
.internal_name = "xi8088",
.flags = 0,
.local = 0,
.init = xi8088_init,
.close = NULL,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = xi8088_config
};
const device_t *
xi8088_get_device(void)
{

View File

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