Merge pull request #2281 from jriwanek-forks/named-initializers-3

Named initializers part 3
This commit is contained in:
Miran Grča
2022-04-12 23:38:32 +02:00
committed by GitHub
87 changed files with 5368 additions and 2452 deletions

View File

@@ -683,16 +683,34 @@ isamem_close(void *priv)
static const device_config_t ibmxt_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 128, "",
{ 0, 512, 16 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 128,
.file_filter = "",
.spinner = {
.min = 0,
.max = 512,
.step = 16
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 256, "",
{ 0, 576, 64 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 256,
.file_filter = "",
.spinner = {
.min = 0,
.max = 576,
.step = 64
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -713,16 +731,34 @@ static const device_t ibmxt_device = {
static const device_config_t genericxt_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 16, "",
{ 0, 640, 16 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 16,
.file_filter = "",
.spinner = {
.min = 0,
.max = 640,
.step = 16
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 0, "",
{ 0, 624, 16 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = {
.min = 0,
.max = 624,
.step = 16
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -743,16 +779,34 @@ static const device_t genericxt_device = {
static const device_config_t msramcard_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 64, "",
{ 0, 256, 64 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 64,
.file_filter = "",
.spinner = {
.min = 0,
.max = 256,
.step = 64
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 0, "",
{ 0, 624, 64 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = {
.min = 0,
.max = 624,
.step = 64
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -773,16 +827,34 @@ static const device_t msramcard_device = {
static const device_config_t mssystemcard_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 64, "",
{ 0, 256, 64 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 64,
.file_filter = "",
.spinner = {
.min = 0,
.max = 256,
.step = 64
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 0, "",
{ 0, 624, 64 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = {
.min = 0,
.max = 624,
.step = 64
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -803,16 +875,34 @@ static const device_t mssystemcard_device = {
static const device_config_t ibmat_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 512, "",
{ 0, 12288, 512 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 512,
.file_filter = "",
.spinner = {
.min = 0,
.max = 12288,
.step = 512
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 512, "",
{ 0, 15872, 512 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 512,
.file_filter = "",
.spinner = {
.min = 0,
.max = 15872,
.step = 512
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -833,16 +923,34 @@ static const device_t ibmat_device = {
static const device_config_t genericat_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 512, "",
{ 0, 16384, 512 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 512,
.file_filter = "",
.spinner = {
.min = 0,
.max = 16384,
.step = 512
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 512, "",
{ 0, 15872, 128 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 512,
.file_filter = "",
.spinner = {
.min = 0,
.max = 15872,
.step = 128
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -863,16 +971,34 @@ static const device_t genericat_device = {
static const device_config_t p5pak_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 128, "",
{ 0, 384, 64 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 128,
.file_filter = "",
.spinner = {
.min = 0,
.max = 384,
.step = 64
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 512, "",
{ 64, 576, 64 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 512,
.file_filter = "",
.spinner = {
.min = 64,
.max = 576,
.step = 64
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -894,16 +1020,34 @@ static const device_t p5pak_device = {
static const device_config_t a6pak_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 64, "",
{ 0, 576, 64 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 64,
.file_filter = "",
.spinner = {
.min = 0,
.max = 576,
.step = 64
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 256, "",
{ 64, 512, 64 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 256,
.file_filter = "",
.spinner = {
.min = 64,
.max = 512,
.step = 64
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -924,22 +1068,37 @@ static const device_t a6pak_device = {
static const device_config_t ems5150_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 256, "",
{ 0, 2048, 64 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 256,
.file_filter = "",
.spinner = {
.min = 0,
.max = 2048,
.step = 64
},
.selection = { { 0 } }
},
{
"base", "Address", CONFIG_HEX16, "", 0, "", { 0 },
{
{ "Disabled", 0x0000 },
{ "Board 1", 0x0208 },
{ "Board 2", 0x020a },
{ "Board 3", 0x020c },
{ "Board 4", 0x020e },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x0000 },
{ .description = "Board 1", .value = 0x0208 },
{ .description = "Board 2", .value = 0x020a },
{ .description = "Board 3", .value = 0x020c },
{ .description = "Board 4", .value = 0x020e },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -960,58 +1119,109 @@ static const device_t ems5150_device = {
static const device_config_t ev159_config[] = {
// clang-format off
{
"size", "Memory Size", CONFIG_SPINNER, "", 512, "",
{ 0, 3072, 512 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 512,
.file_filter = "",
.spinner = {
.min = 0,
.max = 3072,
.step = 512
},
.selection = { { 0 } }
},
{
"start", "Start Address", CONFIG_SPINNER, "", 0, "",
{ 0, 16128, 128 },
{ { 0 } }
.name = "start",
.description = "Start Address",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = {
.min = 0,
.max = 16128,
.step = 128
},
.selection = { { 0 } }
},
{
"length", "Contiguous Size", CONFIG_SPINNER, "", 0, "",
{ 0, 16384, 128 },
{ { 0 } }
.name = "length",
.description = "Contiguous Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = {
.min = 0,
.max = 16384,
.step = 128
},
.selection = { { 0 } }
},
{
"width", "I/O Width", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "8-bit", 0 },
{ "16-bit", 1 },
{ "" }
.name = "width",
.description = "I/O Width",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "8-bit", .value = 0 },
{ .description = "16-bit", .value = 1 },
{ .description = "" }
},
},
{
"speed", "Transfer Speed", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Standard (150ns)", 0 },
{ "High-Speed (120ns)", 1 },
{ "" }
.name = "speed",
.description = "Transfer Speed",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Standard (150ns)", .value = 0 },
{ .description = "High-Speed (120ns)", .value = 1 },
{ .description = "" }
}
},
{
"ems", "EMS mode", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Disabled", 0 },
{ "Enabled", 1 },
{ "" }
.name = "ems",
.description = "EMS mode",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0 },
{ .description = "Enabled", .value = 1 },
{ .description = "" }
},
},
{
"base", "Address", CONFIG_HEX16, "", 0x0258, "", { 0 },
{
{ "208H", 0x0208 },
{ "218H", 0x0218 },
{ "258H", 0x0258 },
{ "268H", 0x0268 },
{ "2A8H", 0x02A8 },
{ "2B8H", 0x02B8 },
{ "2E8H", 0x02E8 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0258,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "208H", .value = 0x0208 },
{ .description = "218H", .value = 0x0218 },
{ .description = "258H", .value = 0x0258 },
{ .description = "268H", .value = 0x0268 },
{ .description = "2A8H", .value = 0x02A8 },
{ .description = "2B8H", .value = 0x02B8 },
{ .description = "2E8H", .value = 0x02E8 },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -1033,47 +1243,79 @@ static const device_t ev159_device = {
static const device_config_t brat_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x0258, "", { 0 },
{
{ "208H", 0x0208 },
{ "218H", 0x0218 },
{ "258H", 0x0258 },
{ "268H", 0x0268 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0258,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "208H", .value = 0x0208 },
{ .description = "218H", .value = 0x0218 },
{ .description = "258H", .value = 0x0258 },
{ .description = "268H", .value = 0x0268 },
{ .description = "" }
},
},
{
"frame", "Frame Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{ "Disabled", 0x00000 },
{ "D000H", 0xD0000 },
{ "E000H", 0xE0000 },
{ "" }
.name = "frame",
.description = "Frame Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x00000 },
{ .description = "D000H", .value = 0xD0000 },
{ .description = "E000H", .value = 0xE0000 },
{ .description = "" }
},
},
{
"width", "I/O Width", CONFIG_SELECTION, "", 8, "", { 0 },
{
{ "8-bit", 8 },
{ "16-bit", 16 },
{ "" }
.name = "width",
.description = "I/O Width",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 8,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "8-bit", .value = 8 },
{ .description = "16-bit", .value = 16 },
{ .description = "" }
},
},
{
"speed", "Transfer Speed", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Standard", 0 },
{ "High-Speed", 1 },
{ "" }
.name = "speed",
.description = "Transfer Speed",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Standard", .value = 0 },
{ .description = "High-Speed", .value = 1 },
{ .description = "" }
}
},
{
"size", "Memory Size", CONFIG_SPINNER, "", 128,
"",
{ 0, 8192, 512 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 128,
.file_filter = "",
.spinner = {
.min = 0,
.max = 8192,
.step = 512
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -1096,50 +1338,83 @@ static const device_t brat_device = {
static const device_config_t rampage_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x0258, "", { 0 },
{
{ "208H", 0x0208 },
{ "218H", 0x0218 },
{ "258H", 0x0258 },
{ "268H", 0x0268 },
{ "2A8H", 0x02A8 },
{ "2B8H", 0x02B8 },
{ "2E8H", 0x02E8 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0258,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "208H", .value = 0x0208 },
{ .description = "218H", .value = 0x0218 },
{ .description = "258H", .value = 0x0258 },
{ .description = "268H", .value = 0x0268 },
{ .description = "2A8H", .value = 0x02A8 },
{ .description = "2B8H", .value = 0x02B8 },
{ .description = "2E8H", .value = 0x02E8 },
{ .description = "" }
},
},
{
"frame", "Frame Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{ "Disabled", 0x00000 },
{ "C000H", 0xC0000 },
{ "D000H", 0xD0000 },
{ "E000H", 0xE0000 },
{ "" }
.name = "frame",
.description = "Frame Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x00000 },
{ .description = "C000H", .value = 0xC0000 },
{ .description = "D000H", .value = 0xD0000 },
{ .description = "E000H", .value = 0xE0000 },
{ .description = "" }
},
},
{
"width", "I/O Width", CONFIG_SELECTION, "", 8, "", { 0 },
{
{ "8-bit", 8 },
{ "16-bit", 16 },
{ "" }
.name = "width",
.description = "I/O Width",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 8,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "8-bit", .value = 8 },
{ .description = "16-bit", .value = 16 },
{ .description = "" }
},
},
{
"speed", "Transfer Speed", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Standard", 0 },
{ "High-Speed", 1 },
{ "" }
.name = "speed",
.description = "Transfer Speed",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Standard", .value = 0 },
{ .description = "High-Speed", .value = 1 },
{ .description = "" }
}
},
{
"size", "Memory Size", CONFIG_SPINNER, "", 128, "",
{ 0, 8192, 128 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 128,
.file_filter = "",
.spinner = {
.min = 0,
.max = 8192,
.step = 128
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -1162,50 +1437,83 @@ static const device_t rampage_device = {
static const device_config_t iab_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x0258, "", { 0 },
{
{ "208H", 0x0208 },
{ "218H", 0x0218 },
{ "258H", 0x0258 },
{ "268H", 0x0268 },
{ "2A8H", 0x02A8 },
{ "2B8H", 0x02B8 },
{ "2E8H", 0x02E8 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0258,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "208H", .value = 0x0208 },
{ .description = "218H", .value = 0x0218 },
{ .description = "258H", .value = 0x0258 },
{ .description = "268H", .value = 0x0268 },
{ .description = "2A8H", .value = 0x02A8 },
{ .description = "2B8H", .value = 0x02B8 },
{ .description = "2E8H", .value = 0x02E8 },
{ .description = "" }
},
},
{
"frame", "Frame Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{ "Disabled", 0x00000 },
{ "C000H", 0xC0000 },
{ "D000H", 0xD0000 },
{ "E000H", 0xE0000 },
{ "" }
.name = "frame",
.description = "Frame Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x00000 },
{ .description = "C000H", .value = 0xC0000 },
{ .description = "D000H", .value = 0xD0000 },
{ .description = "E000H", .value = 0xE0000 },
{ .description = "" }
},
},
{
"width", "I/O Width", CONFIG_SELECTION, "", 8, "", { 0 },
{
{ "8-bit", 8 },
{ "16-bit", 16 },
{ "" }
.name = "width",
.description = "I/O Width",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 8,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "8-bit", .value = 8 },
{ .description = "16-bit", .value = 16 },
{ .description = "" }
},
},
{
"speed", "Transfer Speed", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Standard", 0 },
{ "High-Speed", 1 },
{ "" }
.name = "speed",
.description = "Transfer Speed",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Standard", .value = 0 },
{ .description = "High-Speed", .value = 1 },
{ .description = "" }
}
},
{
"size", "Memory Size", CONFIG_SPINNER, "", 128, "",
{ 0, 8192, 128 },
{ { 0 } }
.name = "size",
.description = "Memory Size",
.type = CONFIG_SPINNER,
.default_string = "",
.default_int = 128,
.file_filter = "",
.spinner = {
.min = 0,
.max = 8192,
.step = 128
},
.selection = { { 0 } }
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -696,71 +696,120 @@ bm_init(const device_t *info)
static const device_config_t lt_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x23c, "", { 0 }, {
{ "0x230", 0x230 },
{ "0x234", 0x234 },
{ "0x238", 0x238 },
{ "0x23C", 0x23c },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x23c,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x230", .value = 0x230 },
{ .description = "0x234", .value = 0x234 },
{ .description = "0x238", .value = 0x238 },
{ .description = "0x23C", .value = 0x23c },
{ .description = "" }
}
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 }, {
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "" }
}
},
{
"hz", "Hz", CONFIG_SELECTION, "", 45, "", { 0 }, {
{ "Non-timed (original)", 0 },
{ "30 Hz (JMP2 = 1)", 30 },
{ "45 Hz (JMP2 not populated)", 45 },
{ "60 Hz (JMP 2 = 2)", 60 },
{ "" }
.name = "hz",
.description = "Hz",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 45,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Non-timed (original)", .value = 0 },
{ .description = "30 Hz (JMP2 = 1)", .value = 30 },
{ .description = "45 Hz (JMP2 not populated)", .value = 45 },
{ .description = "60 Hz (JMP 2 = 2)", .value = 60 },
{ .description = "" }
}
},
{
"buttons", "Buttons", CONFIG_SELECTION, "", 2, "", { 0 }, {
{ "Two", 2 },
{ "Three", 3 },
{ "" }
.name = "buttons",
.description = "Buttons",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 2,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Two", .value = 2 },
{ .description = "Three", .value = 3 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
static const device_config_t ms_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x23c, "", { 0 }, {
{ "0x230", 0x230 },
{ "0x234", 0x234 },
{ "0x238", 0x238 },
{ "0x23C", 0x23c },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x23c,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x230", .value = 0x230 },
{ .description = "0x234", .value = 0x234 },
{ .description = "0x238", .value = 0x238 },
{ .description = "0x23C", .value = 0x23c },
{ .description = "" }
}
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 }, {
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "" }
}
},
{
"buttons", "Buttons", CONFIG_SELECTION, "", 2, "", { 0 }, {
{ "Two", 2 },
{ "Three", 3 },
{ "" }
.name = "buttons",
.description = "Buttons",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 2,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Two", .value = 2 },
{ .description = "Three", .value = 3 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -332,15 +332,22 @@ ps2_close(void *priv)
static const device_config_t ps2_config[] = {
// clang-format off
{
"buttons", "Buttons", CONFIG_SELECTION, "", 2, "", { 0 }, {
{ "Two", 2 },
{ "Three", 3 },
{ "Wheel", 4 },
{ "" }
.name = "buttons",
.description = "Buttons",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 2,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Two", .value = 2 },
{ .description = "Three", .value = 3 },
{ .description = "Wheel", .value = 4 },
{ .description = "" }
}
},
{
"", "", -1
.name = "", .description = "", .type = CONFIG_END
}
// clang-format on
};

View File

@@ -828,50 +828,76 @@ sermouse_init(const device_t *info)
return(dev);
}
static const device_config_t mssermouse_config[] = {
// clang-format off
{
"port", "Serial Port", CONFIG_SELECTION, "", 0, "", { 0 }, {
{ "COM1", 0 },
{ "COM2", 1 },
{ "COM3", 2 },
{ "COM4", 3 },
{ "" }
.name = "port",
.description = "Serial Port",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "COM1", .value = 0 },
{ .description = "COM2", .value = 1 },
{ .description = "COM3", .value = 2 },
{ .description = "COM4", .value = 3 },
{ .description = "" }
}
},
{
"buttons", "Buttons", CONFIG_SELECTION, "", 2, "", { 0 }, {
{ "Two", 2 },
{ "Three", 3 },
{ "Wheel", 4 },
{ "" }
.name = "buttons",
.description = "Buttons",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 2,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Two", .value = 2 },
{ .description = "Three", .value = 3 },
{ .description = "Wheel", .value = 4 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
static const device_config_t ltsermouse_config[] = {
// clang-format off
{
"port", "Serial Port", CONFIG_SELECTION, "", 0, "", { 0 }, {
{ "COM1", 0 },
{ "COM2", 1 },
{ "COM3", 2 },
{ "COM4", 3 },
{ "" }
.name = "port",
.description = "Serial Port",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "COM1", .value = 0 },
{ .description = "COM2", .value = 1 },
{ .description = "COM3", .value = 2 },
{ .description = "COM4", .value = 3 },
{ .description = "" }
}
},
{
"buttons", "Buttons", CONFIG_SELECTION, "", 2, "", { 0 }, {
{ "Two", 2 },
{ "Three", 3 },
{ "" }
.name = "buttons",
.description = "Buttons",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 2,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Two", .value = 2 },
{ .description = "Three", .value = 3 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -139,7 +139,6 @@ postcard_close(UNUSED(void *priv))
NULL, NULL, NULL, postcard_write, NULL, NULL, NULL);
}
const device_t postcard_device = {
.name = "POST Card",
.internal_name = "postcard",

View File

@@ -843,7 +843,6 @@ wd1007vse1_available(void)
return(rom_present(BIOS_FILE));
}
const device_t esdi_at_wd1007vse1_device = {
.name = "Western Digital WD1007V-SE1 (ESDI)",
.internal_name = "esdi_at",

View File

@@ -1178,7 +1178,6 @@ esdi_available(void)
return(rom_present(BIOS_FILE_L) && rom_present(BIOS_FILE_H));
}
const device_t esdi_ps2_device = {
.name = "IBM PS/2 ESDI Fixed Disk Adapter (MCA)",
.internal_name = "esdi_mca",

View File

@@ -3062,7 +3062,6 @@ ide_close(void *priv)
}
}
const device_t ide_isa_device = {
.name = "ISA PC/AT IDE Controller",
.internal_name = "ide_isa",
@@ -3150,42 +3149,54 @@ const device_t ide_pci_2ch_device = {
// clang-format off
static const device_config_t ide_ter_config[] = {
{
"irq", "IRQ", CONFIG_SELECTION, "", 10, "", { 0 },
{
{ "Plug and Play", -1 },
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "IRQ 9", 9 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "IRQ 12", 12 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 10,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Plug and Play", .value = -1 },
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "IRQ 9", .value = 9 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "IRQ 12", .value = 12 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t ide_qua_config[] = {
{
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{ "Plug and Play", -1 },
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "IRQ 9", 9 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "IRQ 12", 12 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 11,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Plug and Play", .value = -1 },
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "IRQ 9", .value = 9 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "IRQ 12", .value = 12 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
// clang-format on

View File

@@ -491,7 +491,6 @@ cmd640_init(const device_t *info)
return dev;
}
const device_t ide_cmd640_vlb_device = {
.name = "CMD PCI-0640B VLB",
.internal_name = "ide_cmd640_vlb",

View File

@@ -406,7 +406,6 @@ cmd646_init(const device_t *info)
return dev;
}
const device_t ide_cmd646_device = {
.name = "CMD PCI-0646",
.internal_name = "ide_cmd646",

View File

@@ -311,7 +311,6 @@ opti611_init(const device_t *info)
return dev;
}
const device_t ide_opti611_vlb_device = {
.name = "OPTi 82C611/82C611A VLB",
.internal_name = "ide_opti611_vlb",

View File

@@ -584,7 +584,6 @@ static void
return dev;
}
const device_t sff8038i_device =
{
.name = "SFF-8038i IDE Bus Master",

View File

@@ -767,7 +767,6 @@ mfm_close(void *priv)
ui_sb_update_icon(SB_HDD|HDD_BUS_MFM, 0);
}
const device_t st506_at_wd1003_device = {
.name = "WD1003 AT MFM/RLL Controller",
.internal_name = "st506_at",

View File

@@ -1638,122 +1638,194 @@ wd1004a_27x_available(void)
// clang-format off
static const device_config_t dtc_config[] = {
{
"bios_addr", "BIOS address", CONFIG_HEX20, "", 0xc8000, "", { 0 },
{
{ "Disabled", 0x00000 },
{ "C800H", 0xc8000 },
{ "CA00H", 0xca000 },
{ "D800H", 0xd8000 },
{ "F400H", 0xf4000 },
{ "" }
.name = "bios_addr",
.description = "BIOS address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xc8000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x00000 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "CA00H", .value = 0xca000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "F400H", .value = 0xf4000 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t st11_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x0320, "", { 0 },
{
{ "320H", 0x0320 },
{ "324H", 0x0324 },
{ "328H", 0x0328 },
{ "32CH", 0x032c },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0320,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "320H", .value = 0x0320 },
{ .description = "324H", .value = 0x0324 },
{ .description = "328H", .value = 0x0328 },
{ .description = "32CH", .value = 0x032c },
{ .description = "" }
}
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{ "IRQ 2", 2 },
{ "IRQ 5", 5 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "" }
}
},
{
"bios_addr", "BIOS address", CONFIG_HEX20, "", 0xc8000, "", { 0 },
{
{ "Disabled", 0x00000 },
{ "C800H", 0xc8000 },
{ "D000H", 0xd0000 },
{ "D800H", 0xd8000 },
{ "E000H", 0xe0000 },
{ "" }
.name = "bios_addr",
.description = "BIOS address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xc8000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x00000 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "D000H", .value = 0xd0000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "E000H", .value = 0xe0000 },
{ .description = "" }
}
},
{
"revision", "Board Revision", CONFIG_SELECTION, "", 19, "", { 0 },
{
{ "Rev. 05 (v1.7)", 5 },
{ "Rev. 19 (v2.0)", 19 },
{ "" }
.name = "revision",
.description = "Board Revision",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 19,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Rev. 05 (v1.7)", .value = 5 },
{ .description = "Rev. 19 (v2.0)", .value = 19 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t wd_config[] = {
{
"bios_addr", "BIOS address", CONFIG_HEX20, "", 0xc8000, "", { 0 },
{
{ "Disabled", 0x00000 },
{ "C800H", 0xc8000 },
{ "" }
.name = "bios_addr",
.description = "BIOS address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xc8000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x00000 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "" }
}
},
{
"base", "Address", CONFIG_HEX16, "", 0x0320, "", { 0 },
{
{ "320H", 0x0320 },
{ "324H", 0x0324 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0320,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "320H", .value = 0x0320 },
{ .description = "324H", .value = 0x0324 },
{ .description = "" }
}
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{ "IRQ 2", 2 },
{ "IRQ 5", 5 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t wd_rll_config[] = {
{
"bios_addr", "BIOS address", CONFIG_HEX20, "", 0xc8000, "", { 0 },
{
{ "Disabled", 0x00000 },
{ "C800H", 0xc8000 },
{ "" }
.name = "bios_addr",
.description = "BIOS address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xc8000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x00000 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "" }
}
},
{
"base", "Address", CONFIG_HEX16, "", 0x0320, "", { 0 },
{
{ "320H", 0x0320 },
{ "324H", 0x0324 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0320,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "320H", .value = 0x0320 },
{ .description = "324H", .value = 0x0324 },
{ .description = "" }
}
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{ "IRQ 2", 2 },
{ "IRQ 5", 5 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "" }
}
},
{
"translate", "Translate 26 -> 17", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Off", 0 },
{ "On", 1 },
{ "" }
.name = "translate",
.description = "Translate 26 -> 17",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Off", .value = 0 },
{ .description = "On", .value = 1 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t wd1004a_config[] = {
@@ -1799,7 +1871,7 @@ static const device_config_t wd1004a_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t wd1004_rll_config[] = {
@@ -1864,7 +1936,7 @@ static const device_config_t wd1004_rll_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
// clang-format on

View File

@@ -1102,34 +1102,51 @@ xta_close(void *priv)
free(dev);
}
static const device_config_t wdxt150_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x0320, "", { 0 }, /*W2*/
{
{ "320H", 0x0320 },
{ "324H", 0x0324 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0320,
.file_filter = "",
.spinner = { 0 }, /*W2*/
.selection = {
{ .description = "320H", .value = 0x0320 },
{ .description = "324H", .value = 0x0324 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 }, /*W3*/
{
{ "IRQ 5", 5 },
{ "IRQ 4", 4 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 }, /*W3*/
.selection = {
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "" }
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xc8000, "", { 0 }, /*W1*/
{
{ "C800H", 0xc8000 },
{ "CA00H", 0xca000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xc8000,
.file_filter = "",
.spinner = { 0 }, /*W1*/
.selection = {
{ .description = "C800H", .value = 0xc8000 },
{ .description = "CA00H", .value = 0xca000 },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format off
};

View File

@@ -259,7 +259,6 @@ xtide_at_close(void *priv)
free(xtide);
}
const device_t xtide_device = {
.name = "PC/XT XTIDE",
.internal_name = "xtide",

View File

@@ -114,11 +114,17 @@ static int b215_available(void)
static const device_config_t b215_config[] = {
// clang-format off
{
"bios_addr", "BIOS Address:", CONFIG_HEX20, "", 0xca000, "", { 0 },
{
{ "CA00H", 0xca000 },
{ "CC00H", 0xcc000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address:",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xca000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "CA00H", .value = 0xca000 },
{ .description = "CC00H", .value = 0xcc000 },
{ .description = "" }
}
},
{ "", "", -1 }
@@ -138,4 +144,3 @@ const device_t fdc_b215_device = {
.force_redraw = NULL,
.config = b215_config
};

View File

@@ -124,16 +124,22 @@ static int pii_158_available(void)
static const device_config_t pii_config[] = {
// clang-format off
{
"bios_addr", "BIOS Address:", CONFIG_HEX20, "", 0xce000, "", { 0 },
{
{ "Disabled", 0 },
{ "CA00H", 0xca000 },
{ "CC00H", 0xcc000 },
{ "CE00H", 0xce000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address:",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xce000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0 },
{ .description = "CA00H", .value = 0xca000 },
{ .description = "CC00H", .value = 0xcc000 },
{ .description = "CE00H", .value = 0xce000 },
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -90,7 +90,7 @@ typedef struct {
const char *default_string;
int default_int;
const char *file_filter;
device_config_spinner_t spinner;
const device_config_spinner_t spinner;
const device_config_selection_t selection[16];
} device_config_t;

View File

@@ -22,76 +22,122 @@
#ifndef EMU_MACHINE_H
# define EMU_MACHINE_H
/* Machine feature flags. */
// #define MACHINE_PC 0x00000000 /* PC architecture */
/* Feature flags for features. */
#define MACHINE_NONMI 0x00000001 /* sys does not have NMI's */
#define MACHINE_BUS_NONE 0x00000000 /* sys has no bus */
/* Feature flags for BUS'es. */
#define MACHINE_BUS_ISA 0x00000004 /* sys has ISA bus */
#define MACHINE_BUS_ISA16 0x00000008 /* sys has ISA16 bus - PC/AT architecture */
#define MACHINE_BUS_CBUS 0x00000010 /* sys has C-BUS bus */
#define MACHINE_BUS_PS2 0x00000020 /* system has PS/2 keyboard and mouse ports */
#define MACHINE_BUS_EISA 0x00000040 /* sys has EISA bus */
#define MACHINE_BUS_VLB 0x00000080 /* sys has VL bus */
#define MACHINE_BUS_MCA 0x00000100 /* sys has MCA bus */
#define MACHINE_BUS_PCI 0x00000200 /* sys has PCI bus */
#define MACHINE_BUS_PCMCIA 0x00000400 /* sys has PCMCIA bus */
#define MACHINE_BUS_AGP 0x00000800 /* sys has AGP bus */
#define MACHINE_BUS_AC97 0x00080000 /* sys has AC97 bus (ACR/AMR/CNR slot) */
#define MACHINE_BUS_ISA 0x00000001 /* sys has ISA bus */
#define MACHINE_BUS_CARTRIDGE 0x00000002 /* sys has two cartridge bays */
#define MACHINE_BUS_ISA16 0x00000004 /* sys has ISA16 bus - PC/AT architecture */
#define MACHINE_BUS_CBUS 0x00000008 /* sys has C-BUS bus */
#define MACHINE_BUS_PS2 0x00000010 /* system has PS/2 keyboard and mouse ports */
#define MACHINE_BUS_EISA 0x00000020 /* sys has EISA bus */
#define MACHINE_BUS_VLB 0x00000040 /* sys has VL bus */
#define MACHINE_BUS_MCA 0x00000080 /* sys has MCA bus */
#define MACHINE_BUS_PCI 0x00000100 /* sys has PCI bus */
#define MACHINE_BUS_PCMCIA 0x00000200 /* sys has PCMCIA bus */
#define MACHINE_BUS_AGP 0x00000400 /* sys has AGP bus */
#define MACHINE_BUS_AC97 0x00000800 /* sys has AC97 bus (ACR/AMR/CNR slot) */
/* Aliases. */
#define MACHINE_CARTRIDGE (MACHINE_BUS_CARTRIDGE) /* sys has two cartridge bays */
/* Combined flags. */
#define MACHINE_PC 0x00000004 /* sys is PC/XT-compatible (ISA) */
#define MACHINE_AT 0x0000000C /* sys is AT-compatible (ISA + ISA16) */
#define MACHINE_PC98 0x00000010 /* sys is NEC PC-98x1 series */
#define MACHINE_EISA 0x0000004C /* sys is AT-compatible with EISA */
#define MACHINE_VLB 0x0000008C /* sys is AT-compatible with VLB */
#define MACHINE_VLB98 0x00000090 /* sys is NEC PC-98x1 series with VLB (did that even exist?) */
#define MACHINE_VLBE 0x000000CC /* sys is AT-compatible with EISA and VLB */
#define MACHINE_MCA 0x00000100 /* sys is MCA */
#define MACHINE_PCI 0x0000020C /* sys is AT-compatible with PCI */
#define MACHINE_PCI98 0x00000210 /* sys is NEC PC-98x1 series with PCI */
#define MACHINE_PCIE 0x0000024C /* sys is AT-compatible with PCI, and EISA */
#define MACHINE_PCIV 0x0000028C /* sys is AT-compatible with PCI and VLB */
#define MACHINE_PCIVE 0x000002CC /* sys is AT-compatible with PCI, VLB, and EISA */
#define MACHINE_PCMCIA 0x00000400 /* sys is AT-compatible laptop with PCMCIA */
#define MACHINE_AGP 0x00000A0C /* sys is AT-compatible with AGP */
#define MACHINE_AGP98 0x00000A10 /* sys is NEC PC-98x1 series with AGP (did that even exist?) */
/* Feature flags for miscellaneous internal devices. */
#define MACHINE_VIDEO 0x00001000 /* sys has int video */
#define MACHINE_VIDEO_ONLY 0x00002000 /* sys has fixed video */
#define MACHINE_MOUSE 0x00004000 /* sys has int mouse */
#define MACHINE_SOUND 0x00008000 /* sys has int sound */
#define MACHINE_FDC 0x00010000 /* sys has int FDC */
#define MACHINE_NIC 0x00020000 /* sys has int NIC */
#define MACHINE_GAMEPORT 0x00040000 /* sys has int game port */
/* Combined flags. */
#define MACHINE_VIDEO_FIXED 0x00003000 /* sys has fixed int video */
/* Feature flags for internal storage controllers. */
#define MACHINE_HDC 0x07FC0000 /* sys has int HDC */
#define MACHINE_MFM 0x00100000 /* sys has int MFM/RLL */
#define MACHINE_XTA 0x00200000 /* sys has int XTA */
#define MACHINE_ESDI 0x00400000 /* sys has int ESDI */
#define MACHINE_IDE_PRI 0x00800000 /* sys has int pri IDE/ATAPI */
#define MACHINE_IDE_SEC 0x01000000 /* sys has int sec IDE/ATAPI */
#define MACHINE_IDE_TER 0x02000000 /* sys has int ter IDE/ATAPI */
#define MACHINE_IDE_QUA 0x04000000 /* sys has int qua IDE/ATAPI */
#define MACHINE_SCSI_PRI 0x08000000 /* sys has int pri SCSI */
#define MACHINE_SCSI_SEC 0x10000000 /* sys has int sec SCSI */
#define MACHINE_USB 0x20000000 /* sys has int USB */
/* Combined flags. */
#define MACHINE_IDE 0x00800000 /* sys has int single IDE/ATAPI - mark as pri IDE/ATAPI */
#define MACHINE_IDE_DUAL 0x01800000 /* sys has int dual IDE/ATAPI - mark as both pri and sec IDE/ATAPI */
#define MACHINE_IDE_QUAD 0x07800000 /* sys has int quad IDE/ATAPI - mark as dual + both ter and and qua IDE/ATAPI */
#define MACHINE_SCSI 0x08000000 /* sys has int single SCSI - mark as pri SCSI */
#define MACHINE_SCSI_DUAL 0x18000000 /* sys has int dual SCSI - mark as both pri and sec SCSI */
#define MACHINE_CARTRIDGE 0x20000000 /* sys has two cartridge bays */
#define MACHINE_PC (MACHINE_BUS_ISA) /* sys is PC/XT-compatible (ISA) */
#define MACHINE_AT (MACHINE_BUS_ISA | MACHINE_BUS_ISA16) /* sys is AT-compatible (ISA + ISA16) */
#define MACHINE_PC98 (MACHINE_BUS_CBUS) /* sys is NEC PC-98x1 series */
#define MACHINE_EISA (MACHINE_BUS_EISA | MACHINE_AT) /* sys is AT-compatible with EISA */
#define MACHINE_VLB (MACHINE_BUS_VLB | MACHINE_AT) /* sys is AT-compatible with VLB */
#define MACHINE_VLB98 (MACHINE_BUS_VLB | MACHINE_PC98) /* sys is NEC PC-98x1 series with VLB (did that even exist?) */
#define MACHINE_VLBE (MACHINE_BUS_VLB | MACHINE_EISA) /* sys is AT-compatible with EISA and VLB */
#define MACHINE_MCA (MACHINE_BUS_MCA) /* sys is MCA */
#define MACHINE_PCI (MACHINE_BUS_PCI | MACHINE_AT) /* sys is AT-compatible with PCI */
#define MACHINE_PCI98 (MACHINE_BUS_PCI | MACHINE_PC98) /* sys is NEC PC-98x1 series with PCI */
#define MACHINE_PCIE (MACHINE_BUS_PCI | MACHINE_EISA) /* sys is AT-compatible with PCI, and EISA */
#define MACHINE_PCIV (MACHINE_BUS_PCI | MACHINE_VLB) /* sys is AT-compatible with PCI and VLB */
#define MACHINE_PCIVE (MACHINE_BUS_PCI | MACHINE_VLBE) /* sys is AT-compatible with PCI, VLB, and EISA */
#define MACHINE_PCMCIA (MACHINE_BUS_PCMCIA | MACHINE_AT) /* sys is AT-compatible laptop with PCMCIA */
#define MACHINE_AGP (MACHINE_BUS_AGP | MACHINE_PCI) /* sys is AT-compatible with AGP */
#define MACHINE_AGP98 (MACHINE_BUS_AGP | MACHINE_PCI98) /* sys is NEC PC-98x1 series with AGP (did that even exist?) */
#define IS_ARCH(m, a) ((machines[m].flags & (a)) ? 1 : 0)
#define IS_AT(m) (((machines[m].flags & 0x00000FC8) && !(machines[m].flags & MACHINE_PC98)) ? 1 : 0)
#define MACHINE_PCJR (MACHINE_PC | MACHINE_CARTRIDGE) /* sys is PCjr */
#define MACHINE_PS2 (MACHINE_AT | MACHINE_BUS_PS2) /* sys is PS/2 */
#define MACHINE_PS2_MCA (MACHINE_MCA | MACHINE_BUS_PS2) /* sys is MCA PS/2 */
#define MACHINE_PS2_VLB (MACHINE_VLB | MACHINE_BUS_PS2) /* sys is VLB PS/2 */
#define MACHINE_PS2_PCI (MACHINE_PCI | MACHINE_BUS_PS2) /* sys is PCI PS/2 */
#define MACHINE_PS2_PCIV (MACHINE_PCIV | MACHINE_BUS_PS2) /* sys is VLB/PCI PS/2 */
#define MACHINE_PS2_AGP (MACHINE_AGP | MACHINE_BUS_PS2) /* sys is AGP PS/2 */
#define MACHINE_PS2_A97 (MACHINE_PS2_AGP | MACHINE_BUS_AC97) /* sys is AGP/AC97 PS/2 */
#define MACHINE_PS2_NOISA (MACHINE_PS2_AGP & ~MACHINE_AT) /* sys is AGP PS/2 without ISA */
#define MACHINE_PS2_NOI97 (MACHINE_PS2_A97 & ~MACHINE_AT) /* sys is AGP/AC97 PS/2 without ISA */
/* Feature flags for miscellaneous internal devices. */
#define MACHINE_FLAGS_NONE 0x00000000 /* sys has no int devices */
#define MACHINE_VIDEO 0x00000001 /* sys has int video */
#define MACHINE_VIDEO_ONLY 0x00000002 /* sys has fixed video */
#define MACHINE_MOUSE 0x00000004 /* sys has int mouse */
#define MACHINE_FDC 0x00000008 /* sys has int FDC */
#define MACHINE_LPT_PRI 0x00000010 /* sys has int pri LPT */
#define MACHINE_LPT_SEC 0x00000020 /* sys has int sec LPT */
#define MACHINE_UART_PRI 0x00000040 /* sys has int pri UART */
#define MACHINE_UART_SEC 0x00000080 /* sys has int sec UART */
#define MACHINE_UART_TER 0x00000100 /* sys has int ter UART */
#define MACHINE_UART_QUA 0x00000200 /* sys has int qua UART */
#define MACHINE_GAMEPORT 0x00000400 /* sys has int game port */
#define MACHINE_SOUND 0x00000800 /* sys has int sound */
#define MACHINE_NIC 0x00001000 /* sys has int NIC */
#define MACHINE_MODEM 0x00002000 /* sys has int modem */
/* Feature flags for advanced devices. */
#define MACHINE_APM 0x00004000 /* sys has APM */
#define MACHINE_ACPI 0x00008000 /* sys has ACPI */
#define MACHINE_HWM 0x00010000 /* sys has hw monitor */
/* Combined flags. */
#define MACHINE_VIDEO_FIXED (MACHINE_VIDEO | MACHINE_VIDEO_ONLY) /* sys has fixed int video */
#define MACHINE_SUPER_IO (MACHINE_FDC | MACHINE_LPT_PRI | MACHINE_UART_PRI | MACHINE_UART_SEC)
#define MACHINE_SUPER_IO_GAME (MACHINE_SUPER_IO | MACHINE_GAMEPORT)
#define MACHINE_SUPER_IO_DUAL (MACHINE_SUPER_IO | MACHINE_LPT_SEC | MACHINE_UART_TER | MACHINE_UART_QUA)
#define MACHINE_AV (MACHINE_VIDEO | MACHINE_SOUND) /* sys has video and sound */
#define MACHINE_AG (MACHINE_SOUND | MACHINE_GAMEPORT) /* sys has sound and game port */
/* Feature flags for internal storage controllers. */
#define MACHINE_HDC 0x03FE0000 /* sys has int HDC */
#define MACHINE_MFM 0x00020000 /* sys has int MFM/RLL */
#define MACHINE_XTA 0x00040000 /* sys has int XTA */
#define MACHINE_ESDI 0x00080000 /* sys has int ESDI */
#define MACHINE_IDE_PRI 0x00100000 /* sys has int pri IDE/ATAPI */
#define MACHINE_IDE_SEC 0x00200000 /* sys has int sec IDE/ATAPI */
#define MACHINE_IDE_TER 0x00400000 /* sys has int ter IDE/ATAPI */
#define MACHINE_IDE_QUA 0x00800000 /* sys has int qua IDE/ATAPI */
#define MACHINE_SCSI_PRI 0x01000000 /* sys has int pri SCSI */
#define MACHINE_SCSI_SEC 0x02000000 /* sys has int sec SCSI */
#define MACHINE_USB_PRI 0x04000000 /* sys has int pri USB */
#define MACHINE_USB_SEC 0x08000000 /* sys has int sec USB */
/* Combined flags. */
#define MACHINE_IDE (MACHINE_IDE_PRI) /* sys has int single IDE/ATAPI - mark as pri IDE/ATAPI */
#define MACHINE_IDE_DUAL (MACHINE_IDE_PRI | MACHINE_IDE_SEC) /* sys has int dual IDE/ATAPI - mark as both pri and sec IDE/ATAPI */
#define MACHINE_IDE_DUALTQ (MACHINE_IDE_TER | MACHINE_IDE_QUA)
#define MACHINE_IDE_QUAD (MACHINE_IDE_DUAL | MACHINE_IDE_DUALTQ) /* sys has int quad IDE/ATAPI - mark as dual + both ter and and qua IDE/ATAPI */
#define MACHINE_SCSI (MACHINE_SCSI_PRI) /* sys has int single SCSI - mark as pri SCSI */
#define MACHINE_SCSI_DUAL (MACHINE_SCSI_PRI | MACHINE_SCSI_SEC) /* sys has int dual SCSI - mark as both pri and sec SCSI */
#define MACHINE_USB (MACHINE_USB_PRI)
#define MACHINE_USB_DUAL (MACHINE_USB_PRI | MACHINE_USB_SEC)
/* Special combined flags. */
#define MACHINE_PIIX (MACHINE_IDE_DUAL)
#define MACHINE_PIIX3 (MACHINE_PIIX | MACHINE_USB)
/* TODO: ACPI flag. */
#define MACHINE_PIIX4 (MACHINE_PIIX3 | MACHINE_ACPI)
#define IS_ARCH(m, a) ((machines[m].bus_flags & (a)) ? 1 : 0)
#define IS_AT(m) (((machines[m].bus_flags & (MACHINE_BUS_ISA16 | MACHINE_BUS_EISA | MACHINE_BUS_VLB | MACHINE_BUS_MCA | MACHINE_BUS_PCI | MACHINE_BUS_PCMCIA | MACHINE_BUS_AGP | MACHINE_BUS_AC97)) && !(machines[m].bus_flags & MACHINE_PC98)) ? 1 : 0)
#define CPU_BLOCK(...) (const uint8_t[]) {__VA_ARGS__, 0}
#define MACHINE_MULTIPLIER_FIXED -1, -1
#define CPU_BLOCK_NONE 0
#define CPU_BLOCK_QDI_FMB CPU_BLOCK(CPU_WINCHIP, CPU_WINCHIP2, CPU_Cx6x86, CPU_Cx6x86L, CPU_Cx6x86MX)
#define CPU_BLOCK_SOYO_4SAW2 CPU_BLOCK(CPU_i486SX, CPU_i486DX, CPU_Am486SX, CPU_Am486DX)
/* Make sure it's always an invalid value to avoid misdetections. */
#if (defined __amd64__ || defined _M_X64 || defined __aarch64__ || defined _M_ARM64)
#define MACHINE_AVAILABLE 0xffffffffffffffffULL
#else
#define MACHINE_AVAILABLE 0xffffffff
#endif
enum {
MACHINE_TYPE_NONE = 0,
@@ -121,69 +167,130 @@ enum {
MACHINE_TYPE_MAX
};
enum {
MACHINE_CHIPSET_NONE = 0,
MACHINE_CHIPSET_DISCRETE,
MACHINE_CHIPSET_PROPRIETARY,
MACHINE_CHIPSET_GC100A,
MACHINE_CHIPSET_GC103,
MACHINE_CHIPSET_HT18,
MACHINE_CHIPSET_ACC_2168,
MACHINE_CHIPSET_ALI_M1217,
MACHINE_CHIPSET_ALI_M6117,
MACHINE_CHIPSET_ALI_M1409,
MACHINE_CHIPSET_ALI_M1429,
MACHINE_CHIPSET_ALI_M1429G,
MACHINE_CHIPSET_ALI_M1489,
MACHINE_CHIPSET_ALI_ALADDIN_IV_PLUS,
MACHINE_CHIPSET_ALI_ALADDIN_V,
MACHINE_CHIPSET_ALI_ALADDIN_PRO_II,
MACHINE_CHIPSET_SCAT,
MACHINE_CHIPSET_NEAT,
MACHINE_CHIPSET_CT_386,
MACHINE_CHIPSET_CT_CS4031,
MACHINE_CHIPSET_CONTAQ_82C596,
MACHINE_CHIPSET_CONTAQ_82C597,
MACHINE_CHIPSET_IMS_8848,
MACHINE_CHIPSET_INTEL_82335,
MACHINE_CHIPSET_INTEL_420TX,
MACHINE_CHIPSET_INTEL_420ZX,
MACHINE_CHIPSET_INTEL_420EX,
MACHINE_CHIPSET_INTEL_430LX,
MACHINE_CHIPSET_INTEL_430NX,
MACHINE_CHIPSET_INTEL_430FX,
MACHINE_CHIPSET_INTEL_430HX,
MACHINE_CHIPSET_INTEL_430VX,
MACHINE_CHIPSET_INTEL_430TX,
MACHINE_CHIPSET_INTEL_450KX,
MACHINE_CHIPSET_INTEL_440FX,
MACHINE_CHIPSET_INTEL_440EX,
MACHINE_CHIPSET_INTEL_440LX,
MACHINE_CHIPSET_INTEL_440BX,
MACHINE_CHIPSET_INTEL_440ZX,
MACHINE_CHIPSET_INTEL_440GX,
MACHINE_CHIPSET_OPTI_283,
MACHINE_CHIPSET_OPTI_291,
MACHINE_CHIPSET_OPTI_493,
MACHINE_CHIPSET_OPTI_495,
MACHINE_CHIPSET_OPTI_499,
MACHINE_CHIPSET_OPTI_895_802G,
MACHINE_CHIPSET_OPTI_547_597,
MACHINE_CHIPSET_SARC_RC2016A,
MACHINE_CHIPSET_SIS_310,
MACHINE_CHIPSET_SIS_401,
MACHINE_CHIPSET_SIS_460,
MACHINE_CHIPSET_SIS_461,
MACHINE_CHIPSET_SIS_471,
MACHINE_CHIPSET_SIS_496,
MACHINE_CHIPSET_SIS_501,
MACHINE_CHIPSET_SIS_5511,
MACHINE_CHIPSET_SIS_5571,
MACHINE_CHIPSET_SMSC_VICTORYBX_66,
MACHINE_CHIPSET_STPC_CLIENT,
MACHINE_CHIPSET_STPC_CONSUMER_II,
MACHINE_CHIPSET_STPC_ELITE,
MACHINE_CHIPSET_STPC_ATLAS,
MACHINE_CHIPSET_SYMPHONY_SL82C460,
MACHINE_CHIPSET_UMC_UM82C480,
MACHINE_CHIPSET_UMC_UM82C491,
MACHINE_CHIPSET_UMC_UM8881,
MACHINE_CHIPSET_UMC_UM8890BF,
MACHINE_CHIPSET_VIA_VT82C495,
MACHINE_CHIPSET_VIA_VT82C496G,
MACHINE_CHIPSET_VIA_APOLLO_VPX,
MACHINE_CHIPSET_VIA_APOLLO_VP3,
MACHINE_CHIPSET_VIA_APOLLO_MVP3,
MACHINE_CHIPSET_VIA_APOLLO_PRO,
MACHINE_CHIPSET_VIA_APOLLO_PRO_133,
MACHINE_CHIPSET_VIA_APOLLO_PRO_133A,
MACHINE_CHIPSET_VLSI_SCAMP,
MACHINE_CHIPSET_VLSI_VL82C480,
MACHINE_CHIPSET_VLSI_VL82C481,
MACHINE_CHIPSET_VLSI_VL82C486,
MACHINE_CHIPSET_WD76C10,
MACHINE_CHIPSET_MAX
};
typedef struct _machine_type_ {
typedef struct _machine_filter_ {
const char *name;
const char id;
} machine_type_t;
} machine_filter_t;
#ifdef NEW_STRUCT
typedef struct _machine_ {
const char *name;
const char *internal_name;
const char type;
const char *name;
const char *internal_name;
uint32_t type;
uint32_t chipset;
int (*init)(const struct _machine_ *);
uintptr_t pad, pad0, pad1, pad2;
uint32_t cpu_package;
const uint8_t *cpu_block;
uint32_t cpu_min_bus;
uint32_t cpu_max_bus;
uint16_t cpu_min_voltage;
uint16_t cpu_max_voltage;
float cpu_min_multi;
float cpu_max_multi;
uintptr_t bus_flags;
uintptr_t flags;
uint32_t min_ram, max_ram;
int ram_granularity;
int nvrmask;
#ifdef EMU_DEVICE_H
const device_t *device;
const device_t *(*get_device)(void);
const device_t *(*get_vid_device)(void);
#else
void *device;
#endif
struct {
const char *name;
#ifdef EMU_CPU_H
CPU *cpus;
#else
void *cpus;
#endif
} cpu[5];
int flags;
uint32_t min_ram, max_ram;
int ram_granularity;
int nvrmask;
} machine_t;
#else
typedef struct _machine_ {
const char *name;
const char *internal_name;
const char type;
uint32_t cpu_package;
const uint8_t *cpu_block;
uint32_t cpu_min_bus;
uint32_t cpu_max_bus;
uint16_t cpu_min_voltage;
uint16_t cpu_max_voltage;
double cpu_min_multi;
double cpu_max_multi;
int flags;
uint32_t min_ram, max_ram;
int ram_granularity;
int nvrmask;
int (*init)(const struct _machine_ *);
#ifdef EMU_DEVICE_H
const device_t *(*get_device)(void);
#else
void *get_device;
void *get_device;
void *get_vid_device;
#endif
} machine_t;
#endif
/* Global variables. */
extern const machine_type_t machine_types[];
extern const machine_t machines[];
extern int bios_only;
extern int machine;
extern const machine_filter_t machine_types[],
machine_chipsets[];
extern const machine_t machines[];
extern int bios_only;
extern int machine;
/* Core functions. */
extern int machine_count(void);
@@ -197,15 +304,15 @@ extern void machine_init(void);
extern const device_t *machine_getdevice(int m);
#endif
extern char *machine_get_internal_name_ex(int m);
extern int machine_get_nvrmask(int m);
extern int machine_has_flags(int m, int flags);
extern int machine_has_bus(int m, int bus_flags);
extern int machine_has_cartridge(int m);
extern int machine_get_min_ram(int m);
extern int machine_get_max_ram(int m);
extern int machine_get_ram_granularity(int m);
extern int machine_get_type(int m);
extern void machine_close(void);
extern int machine_get_nvrmask(int m);
extern int machine_has_flags(int m, int flags);
extern int machine_has_bus(int m, int bus_flags);
extern int machine_has_cartridge(int m);
extern int machine_get_min_ram(int m);
extern int machine_get_max_ram(int m);
extern int machine_get_ram_granularity(int m);
extern int machine_get_type(int m);
extern void machine_close(void);
/* Initialization functions for boards and systems. */
@@ -749,5 +856,4 @@ extern int machine_xt_xi8088_init(const machine_t *);
extern const device_t *xi8088_get_device(void);
#endif
#endif /*EMU_MACHINE_H*/

View File

@@ -93,6 +93,8 @@ extern const device_t ps_nvr_device;
extern const device_t amstrad_nvr_device;
extern const device_t ibmat_nvr_device;
extern const device_t piix4_nvr_device;
extern const device_t ps_no_nmi_nvr_device;
extern const device_t amstrad_no_nmi_nvr_device;
extern const device_t ami_1992_nvr_device;
extern const device_t ami_1994_nvr_device;
extern const device_t ami_1995_nvr_device;

View File

@@ -669,7 +669,6 @@ vid_speed_change_1512(void *priv)
recalc_timings_1512(vid);
}
device_config_t vid_1512_config[] = {
{
.name = "display_type",
@@ -720,7 +719,7 @@ device_config_t vid_1512_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t vid_1512_device = {
@@ -903,7 +902,7 @@ device_config_t vid_1640_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t vid_1640_device = {
@@ -1788,7 +1787,7 @@ device_config_t vid_200_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t vid_200_device = {
@@ -1892,7 +1891,7 @@ device_config_t vid_ppc512_config[] = {
.default_string = "",
.default_int = 0
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t vid_ppc512_device = {
@@ -1930,7 +1929,7 @@ device_config_t vid_pc2086_config[] = {
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t vid_pc2086_device = {
@@ -1968,7 +1967,7 @@ device_config_t vid_pc3086_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t vid_pc3086_device = {
@@ -2348,7 +2347,16 @@ machine_amstrad_init(const machine_t *model, int type)
memset(ams, 0x00, sizeof(amstrad_t));
ams->type = type;
device_add(&amstrad_nvr_device);
switch(type) {
case AMS_PC200:
case AMS_PPC512:
device_add(&amstrad_no_nmi_nvr_device);
break;
default:
device_add(&amstrad_nvr_device);
break;
}
machine_common_init(model);

View File

@@ -716,7 +716,7 @@ const device_config_t compaq_plasma_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t compaq_plasma_device = {

View File

@@ -678,10 +678,10 @@ static const device_config_t europc_config[] = {
.selection = {
{ .description = "Disabled (250h)", .value = 0 },
{ .description = "Enabled (350h)", .value = 1 },
{ "" }
{ .description = "" }
},
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
const device_t europc_device = {

View File

@@ -784,7 +784,7 @@ static const device_config_t pcjr_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t pcjr_device = {

View File

@@ -1348,7 +1348,7 @@ machine_ps2_common_init(const machine_t *model)
dma16_init();
ps2_dma_init();
device_add(&ps_nvr_device);
device_add(&ps_no_nmi_nvr_device);
pic2_init();
pit_ps2_init();

View File

@@ -1157,7 +1157,7 @@ static const device_config_t vid_config[] = {
{ .description = "" }
}
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_t vid_device = {

View File

@@ -586,7 +586,6 @@ m19_vid_init(m19_vid_t *vid)
device_context_restore();
}
const device_t m24_kbd_device = {
.name = "Olivetti M24 keyboard and mouse",
.internal_name = "m24_kbd",
@@ -616,7 +615,7 @@ const device_config_t m19_vid_config[] = {
{ .description = "Green Monochrome", .value = 1 },
{ .description = "Amber Monochrome", .value = 2 },
{ .description = "Gray Monochrome", .value = 3 },
{ .description = "" }
{ .description = "" }
}
},
{
@@ -626,7 +625,7 @@ const device_config_t m19_vid_config[] = {
.default_string = "",
.default_int = 1,
},
{ .name = "", .description = "", .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
const device_t m19_vid_device = {

View File

@@ -745,16 +745,9 @@ static const device_config_t t1000_config[] = {
.name = "display_language",
.description = "Language",
.type = CONFIG_SELECTION,
.selection =
{
{
.description = "USA",
.value = 0
},
{
.description = "Danish",
.value = 1
}
.selection = {
{ .description = "USA", .value = 0 },
{ .description = "Danish", .value = 1 }
},
.default_int = 0
},
@@ -763,7 +756,8 @@ static const device_config_t t1000_config[] = {
.description = "Enable backlight",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1 },
.default_int = 1
},
{
.name = "invert",
.description = "Invert colors",
@@ -771,7 +765,7 @@ static const device_config_t t1000_config[] = {
.default_string = "",
.default_int = 0
},
{ .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
const device_t t1000_video_device = {

View File

@@ -160,7 +160,7 @@ static const device_config_t xi8088_config[] = {
.type = CONFIG_BINARY,
.default_int = 0
},
{ .type = -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
const device_t xi8088_device = {

File diff suppressed because it is too large Load Diff

View File

@@ -635,59 +635,88 @@ threec503_nic_close(void *priv)
free(dev);
}
static const device_config_t threec503_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x300, "", { 0 },
{
{ "0x250", 0x250 },
{ "0x280", 0x280 },
{ "0x2a0", 0x2a0 },
{ "0x2e0", 0x2e0 },
{ "0x300", 0x300 },
{ "0x310", 0x310 },
{ "0x330", 0x330 },
{ "0x350", 0x350 },
{ "", 0 }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x300,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x250", .value = 0x250 },
{ .description = "0x280", .value = 0x280 },
{ .description = "0x2a0", .value = 0x2a0 },
{ .description = "0x2e0", .value = 0x2e0 },
{ .description = "0x300", .value = 0x300 },
{ .description = "0x310", .value = 0x310 },
{ .description = "0x330", .value = 0x330 },
{ .description = "0x350", .value = 0x350 },
{ .description = "", .value = 0 }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 3, "", { 0 },
{
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "", 0 }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 3,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "", .value = 0 }
},
},
{
"dma", "DMA", CONFIG_SELECTION, "", 3, "", { 0 },
{
{ "DMA 1", 1 },
{ "DMA 2", 2 },
{ "DMA 3", 3 },
{ "", 0 }
.name = "dma",
.description = "DMA",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 3,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "DMA 1", .value = 1 },
{ .description = "DMA 2", .value = 2 },
{ .description = "DMA 3", .value = 3 },
{ .description = "", .value = 0 }
},
},
{
"mac", "MAC Address", CONFIG_MAC, "", -1, "", { 0 },
{
{ "", 0 }
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "", .value = 0 }
},
},
{
"bios_addr", "BIOS address", CONFIG_HEX20, "", 0xCC000, "", { 0 },
{
{ "DC00", 0xDC000 },
{ "D800", 0xD8000 },
{ "C800", 0xC8000 },
{ "CC00", 0xCC000 },
{ "", 0 }
.name = "bios_addr",
.description = "BIOS address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xCC000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "DC00", .value = 0xDC000 },
{ .description = "D800", .value = 0xD8000 },
{ .description = "C800", .value = 0xC8000 },
{ .description = "CC00", .value = 0xCC000 },
{ .description = "", .value = 0 }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format off
};

View File

@@ -1110,7 +1110,6 @@ dp8390_close(void *priv)
}
}
const device_t dp8390_device = {
.name = "DP8390 Network Interface Controller",
.internal_name = "dp8390",

View File

@@ -1142,86 +1142,152 @@ nic_close(void *priv)
// clang-format off
static const device_config_t ne1000_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x300, "", { 0 },
{
{ "0x280", 0x280 },
{ "0x300", 0x300 },
{ "0x320", 0x320 },
{ "0x340", 0x340 },
{ "0x360", 0x360 },
{ "0x380", 0x380 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x300,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x280", .value = 0x280 },
{ .description = "0x300", .value = 0x300 },
{ .description = "0x320", .value = 0x320 },
{ .description = "0x340", .value = 0x340 },
{ .description = "0x360", .value = 0x360 },
{ .description = "0x380", .value = 0x380 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 3, "", { 0 },
{
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 3,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "" }
},
},
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t ne2000_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x300, "", { 0 },
{
{ "0x280", 0x280 },
{ "0x300", 0x300 },
{ "0x320", 0x320 },
{ "0x340", 0x340 },
{ "0x360", 0x360 },
{ "0x380", 0x380 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x300,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x280", .value = 0x280 },
{ .description = "0x300", .value = 0x300 },
{ .description = "0x320", .value = 0x320 },
{ .description = "0x340", .value = 0x340 },
{ .description = "0x360", .value = 0x360 },
{ .description = "0x380", .value = 0x380 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 10, "", { 0 },
{
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 10,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "" }
},
},
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{
"bios_addr", "BIOS address", CONFIG_HEX20, "", 0, "", { 0 },
{
{ "Disabled", 0x00000 },
{ "D000", 0xD0000 },
{ "D800", 0xD8000 },
{ "C800", 0xC8000 },
{ "" }
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{
.name = "bios_addr",
.description = "BIOS address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0x00000 },
{ .description = "D000", .value = 0xD0000 },
{ .description = "D800", .value = 0xD8000 },
{ .description = "C800", .value = 0xC8000 },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t rtl8019as_config[] = {
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t rtl8029as_config[] = {
{ "bios", "Enable BIOS", CONFIG_BINARY, "", 0 },
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "bios",
.description = "Enable BIOS",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 0
},
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t mca_mac_config[] = {
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
// clang-format on

View File

@@ -3078,68 +3078,116 @@ pcnet_close(void *priv)
// clang-format off
static const device_config_t pcnet_pci_config[] = {
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t pcnet_isa_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x300, "", { 0 },
{
{ "0x300", 0x300 },
{ "0x320", 0x320 },
{ "0x340", 0x340 },
{ "0x360", 0x360 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x300,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x300", .value = 0x300 },
{ .description = "0x320", .value = 0x320 },
{ .description = "0x340", .value = 0x340 },
{ .description = "0x360", .value = 0x360 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 3, "", { 0 },
{
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "IRQ 9", 9 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 3,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 9", .value = 9 },
{ .description = "" }
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 5, "", { 0 },
{
{ "DMA 3", 3 },
{ "DMA 5", 5 },
{ "DMA 6", 6 },
{ "DMA 7", 7 },
{ "" }
.name = "dma",
.description = "DMA channel",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "DMA 3", .value = 3 },
{ .description = "DMA 5", .value = 5 },
{ .description = "DMA 6", .value = 6 },
{ .description = "DMA 7", .value = 7 },
{ .description = "" }
},
},
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t pcnet_vlb_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x300, "", { 0 },
{
{ "0x300", 0x300 },
{ "0x320", 0x320 },
{ "0x340", 0x340 },
{ "0x360", 0x360 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x300,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x300", .value = 0x300 },
{ .description = "0x320", .value = 0x320 },
{ .description = "0x340", .value = 0x340 },
{ .description = "0x360", .value = 0x360 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 3, "", { 0 },
{
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "IRQ 9", 9 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 3,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 9", .value = 9 },
{ .description = "" }
},
},
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
// clang-format on

View File

@@ -490,7 +490,6 @@ plip_close(void *priv)
free(priv);
}
const lpt_device_t lpt_plip_device = {
.name = "Parallel Line Internet Protocol",
.internal_name = "plip",

View File

@@ -738,156 +738,246 @@ wd_close(void *priv)
// clang-format off
static const device_config_t wd8003_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x300, "", { 0 },
{
{ "0x240", 0x240 },
{ "0x280", 0x280 },
{ "0x300", 0x300 },
{ "0x380", 0x380 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x300,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x240", .value = 0x240 },
{ .description = "0x280", .value = 0x280 },
{ .description = "0x300", .value = 0x300 },
{ .description = "0x380", .value = 0x380 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 3, "", { 0 },
{
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 3,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2", .value = 2 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "" }
},
},
{
"ram_addr", "RAM address", CONFIG_HEX20, "", 0xD0000, "", { 0 },
{
{ "C800", 0xC8000 },
{ "CC00", 0xCC000 },
{ "D000", 0xD0000 },
{ "D400", 0xD4000 },
{ "D800", 0xD8000 },
{ "DC00", 0xDC000 },
{ "" }
.name = "ram_addr",
.description = "RAM address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xD0000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "C800", .value = 0xC8000 },
{ .description = "CC00", .value = 0xCC000 },
{ .description = "D000", .value = 0xD0000 },
{ .description = "D400", .value = 0xD4000 },
{ .description = "D800", .value = 0xD8000 },
{ .description = "DC00", .value = 0xDC000 },
{ .description = "" }
},
},
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t wd8003eb_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x280, "", { 0 },
{
{ "0x200", 0x200 },
{ "0x220", 0x220 },
{ "0x240", 0x240 },
{ "0x260", 0x260 },
{ "0x280", 0x280 },
{ "0x2A0", 0x2A0 },
{ "0x2C0", 0x2C0 },
{ "0x300", 0x300 },
{ "0x340", 0x340 },
{ "0x380", 0x380 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x280,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x200", .value = 0x200 },
{ .description = "0x220", .value = 0x220 },
{ .description = "0x240", .value = 0x240 },
{ .description = "0x260", .value = 0x260 },
{ .description = "0x280", .value = 0x280 },
{ .description = "0x2A0", .value = 0x2A0 },
{ .description = "0x2C0", .value = 0x2C0 },
{ .description = "0x300", .value = 0x300 },
{ .description = "0x340", .value = 0x340 },
{ .description = "0x380", .value = 0x380 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 3, "", { 0 },
{
{ "IRQ 2/9", 9 },
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 7", 7 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 3,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2/9", .value = 9 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "" }
},
},
{
"ram_addr", "RAM address", CONFIG_HEX20, "", 0xD0000, "", { 0 },
{
{ "C000", 0xC0000 },
{ "C400", 0xC4000 },
{ "C800", 0xC8000 },
{ "CC00", 0xCC000 },
{ "D000", 0xD0000 },
{ "D400", 0xD4000 },
{ "D800", 0xD8000 },
{ "DC00", 0xDC000 },
{ "" }
.name = "ram_addr",
.description = "RAM address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xD0000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "C000", .value = 0xC0000 },
{ .description = "C400", .value = 0xC4000 },
{ .description = "C800", .value = 0xC8000 },
{ .description = "CC00", .value = 0xCC000 },
{ .description = "D000", .value = 0xD0000 },
{ .description = "D400", .value = 0xD4000 },
{ .description = "D800", .value = 0xD8000 },
{ .description = "DC00", .value = 0xDC000 },
{ .description = "" }
},
},
{
"ram_size", "RAM size", CONFIG_SELECTION, "", 8192, "", { 0 },
{
{ "8 kB", 8192 },
{ "32 kB", 32768 },
{ "" }
.name = "ram_size",
.description = "RAM size",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 8192,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "8 kB", .value = 8192 },
{ .description = "32 kB", .value = 32768 },
{ .description = "" }
},
},
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
/* WD8013EBT configuration and defaults set according to this site:
http://www.stack.nl/~marcolz/network/wd80x3.html#WD8013EBT */
static const device_config_t wd8013_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x280, "", { 0 },
{
{ "0x200", 0x200 },
{ "0x220", 0x220 },
{ "0x240", 0x240 },
{ "0x260", 0x260 },
{ "0x280", 0x280 },
{ "0x2A0", 0x2A0 },
{ "0x2C0", 0x2C0 },
{ "0x300", 0x300 },
{ "0x340", 0x340 },
{ "0x380", 0x380 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x280,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x200", .value = 0x200 },
{ .description = "0x220", .value = 0x220 },
{ .description = "0x240", .value = 0x240 },
{ .description = "0x260", .value = 0x260 },
{ .description = "0x280", .value = 0x280 },
{ .description = "0x2A0", .value = 0x2A0 },
{ .description = "0x2C0", .value = 0x2C0 },
{ .description = "0x300", .value = 0x300 },
{ .description = "0x340", .value = 0x340 },
{ .description = "0x380", .value = 0x380 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 3, "", { 0 },
{
{ "IRQ 2/9", 9 },
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "IRQ 15", 15 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 3,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 2/9", .value = 9 },
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 4", .value = 4 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "IRQ 15", .value = 15 },
{ .description = "" }
},
},
{
"ram_addr", "RAM address", CONFIG_HEX20, "", 0xD0000, "", { 0 },
{
{ "C000", 0xC0000 },
{ "C400", 0xC4000 },
{ "C800", 0xC8000 },
{ "CC00", 0xCC000 },
{ "D000", 0xD0000 },
{ "D400", 0xD4000 },
{ "D800", 0xD8000 },
{ "DC00", 0xDC000 },
{ "" }
.name = "ram_addr",
.description = "RAM address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xD0000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "C000", .value = 0xC0000 },
{ .description = "C400", .value = 0xC4000 },
{ .description = "C800", .value = 0xC8000 },
{ .description = "CC00", .value = 0xCC000 },
{ .description = "D000", .value = 0xD0000 },
{ .description = "D400", .value = 0xD4000 },
{ .description = "D800", .value = 0xD8000 },
{ .description = "DC00", .value = 0xDC000 },
{ .description = "" }
},
},
{
"ram_size", "RAM size", CONFIG_SELECTION, "", 16384, "", { 0 },
{
{ "16 kB", 16384 },
{ "64 kB", 65536 },
{ "" }
.name = "ram_size",
.description = "RAM size",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 16384,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "16 kB", .value = 16384 },
{ .description = "64 kB", .value = 65536 },
{ .description = "" }
},
},
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t mca_mac_config[] = {
{ "mac", "MAC Address", CONFIG_MAC, "", -1 },
{ "", "", -1 }
{
.name = "mac",
.description = "MAC Address",
.type = CONFIG_MAC,
.default_string = "",
.default_int = -1
},
{ .name = "", .description = "", .type = CONFIG_END }
};
// clang-format on

View File

@@ -290,11 +290,12 @@
#define RTC_REGS 14 /* number of registers */
#define FLAG_AMI_1992_HACK 0x01
#define FLAG_AMI_1994_HACK 0x02
#define FLAG_AMI_1995_HACK 0x04
#define FLAG_P6RP4_HACK 0x08
#define FLAG_PIIX4 0x10
#define FLAG_NO_NMI 0x01
#define FLAG_AMI_1992_HACK 0x02
#define FLAG_AMI_1994_HACK 0x04
#define FLAG_AMI_1995_HACK 0x08
#define FLAG_P6RP4_HACK 0x10
#define FLAG_PIIX4 0x20
typedef struct {
@@ -667,8 +668,7 @@ nvr_write(uint16_t addr, uint8_t val, void *priv)
local->addr[addr_id] = (local->addr[addr_id] & 0x7f) | 0x80;
if (local->bank[addr_id] > 0)
local->addr[addr_id] = (local->addr[addr_id] & 0x7f) | (0x80 * local->bank[addr_id]);
if (!(machines[machine].flags & MACHINE_MCA) &&
!(machines[machine].flags & MACHINE_NONMI))
if (!(local->flags & FLAG_NO_NMI))
nmi_mask = (~val & 0x80);
}
}
@@ -1033,12 +1033,16 @@ nvr_at_init(const device_t *info)
nvr->irq = 8;
local->cent = RTC_CENTURY_PS;
local->def = 0x00;
if (info->local & 8)
local->flags |= FLAG_NO_NMI;
break;
case 3: /* Amstrad PC's */
nvr->irq = 1;
local->cent = RTC_CENTURY_AT;
local->def = 0xff;
if (info->local & 8)
local->flags |= FLAG_NO_NMI;
break;
case 4: /* IBM AT */
@@ -1204,6 +1208,26 @@ const device_t piix4_nvr_device = {
.config = NULL
};
const device_t ps_no_nmi_nvr_device = {
"PS/1 or PS/2 NVRAM (No NMI)",
"ps1_nvr",
DEVICE_PS2,
10,
nvr_at_init, nvr_at_close, nvr_at_reset,
{ NULL }, nvr_at_speed_changed,
NULL
};
const device_t amstrad_no_nmi_nvr_device = {
"Amstrad NVRAM (No NMI)",
"amstrad_nvr",
DEVICE_ISA | DEVICE_AT,
11,
nvr_at_init, nvr_at_close, nvr_at_reset,
{ NULL }, nvr_at_speed_changed,
NULL
};
const device_t ami_1992_nvr_device = {
.name = "AMI Color 1992 PC/AT NVRAM",
.internal_name = "ami_1992_nvr",

View File

@@ -130,7 +130,7 @@ void DeviceConfig::ConfigureDevice(const _device_* device, int instance, Setting
break;
}
for (auto* sel = config->selection; (sel->description != nullptr) && (strlen(sel->description) > 0); ++sel) {
for (auto* sel = config->selection; (sel != nullptr) && (sel->description != nullptr) && (strlen(sel->description) > 0); ++sel) {
int row = Models::AddEntry(model, sel->description, sel->value);
if (selected == sel->value) {
currentIndex = row;

View File

@@ -1141,181 +1141,258 @@ aha_init(const device_t *info)
// clang-format off
static const device_config_t aha_154xb_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x334, "", { 0 },
{
{ "None", 0 },
{ "0x330", 0x330 },
{ "0x334", 0x334 },
{ "0x230", 0x230 },
{ "0x234", 0x234 },
{ "0x130", 0x130 },
{ "0x134", 0x134 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x334,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "None", .value = 0 },
{ .description = "0x330", .value = 0x330 },
{ .description = "0x334", .value = 0x334 },
{ .description = "0x230", .value = 0x230 },
{ .description = "0x234", .value = 0x234 },
{ .description = "0x130", .value = 0x130 },
{ .description = "0x134", .value = 0x134 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{ "IRQ 9", 9 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "IRQ 12", 12 },
{ "IRQ 14", 14 },
{ "IRQ 15", 15 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 11,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 9", .value = 9 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "IRQ 12", .value = 12 },
{ .description = "IRQ 14", .value = 14 },
{ .description = "IRQ 15", .value = 15 },
{ .description = "" }
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 6, "", { 0 },
{
{ "DMA 5", 5 },
{ "DMA 6", 6 },
{ "DMA 7", 7 },
{ "" }
.name = "dma",
.description = "DMA channel",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 6,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "DMA 5", .value = 5 },
{ .description = "DMA 6", .value = 6 },
{ .description = "DMA 7", .value = 7 },
{ .description = "" }
},
},
{
"hostid", "Host ID", CONFIG_SELECTION, "", 7, "", { 0 },
{
{ "0", 0 },
{ "1", 1 },
{ "2", 2 },
{ "3", 3 },
{ "4", 4 },
{ "5", 5 },
{ "6", 6 },
{ "7", 7 },
{ "" }
.name = "hostid",
.description = "Host ID",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 7,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0", .value = 0 },
{ .description = "1", .value = 1 },
{ .description = "2", .value = 2 },
{ .description = "3", .value = 3 },
{ .description = "4", .value = 4 },
{ .description = "5", .value = 5 },
{ .description = "6", .value = 6 },
{ .description = "7", .value = 7 },
{ .description = "" }
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{ "Disabled", 0 },
{ "C800H", 0xc8000 },
{ "D000H", 0xd0000 },
{ "D800H", 0xd8000 },
{ "DC00H", 0xdc000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "D000H", .value = 0xd0000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "DC00H", .value = 0xdc000 },
{ .description = "" }
},
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t aha_154x_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x334, "", { 0 },
{
{ "None", 0 },
{ "0x330", 0x330 },
{ "0x334", 0x334 },
{ "0x230", 0x230 },
{ "0x234", 0x234 },
{ "0x130", 0x130 },
{ "0x134", 0x134 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x334,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "None", .value = 0 },
{ .description = "0x330", .value = 0x330 },
{ .description = "0x334", .value = 0x334 },
{ .description = "0x230", .value = 0x230 },
{ .description = "0x234", .value = 0x234 },
{ .description = "0x130", .value = 0x130 },
{ .description = "0x134", .value = 0x134 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{ "IRQ 9", 9 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "IRQ 12", 12 },
{ "IRQ 14", 14 },
{ "IRQ 15", 15 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 11,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 9", .value = 9 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "IRQ 12", .value = 12 },
{ .description = "IRQ 14", .value = 14 },
{ .description = "IRQ 15", .value = 15 },
{ .description = "" }
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 6, "", { 0 },
{
{ "DMA 5", 5 },
{ "DMA 6", 6 },
{ "DMA 7", 7 },
{ "" }
.name = "dma",
.description = "DMA channel",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 6,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "DMA 5", .value = 5 },
{ .description = "DMA 6", .value = 6 },
{ .description = "DMA 7", .value = 7 },
{ .description = "" }
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{ "Disabled", 0 },
{ "C800H", 0xc8000 },
{ "D000H", 0xd0000 },
{ "D800H", 0xd8000 },
{ "DC00H", 0xdc000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "D000H", .value = 0xd0000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "DC00H", .value = 0xdc000 },
{ .description = "" }
},
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t aha_154xcf_config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x334, "", { 0 },
{
{ "None", 0 },
{ "0x330", 0x330 },
{ "0x334", 0x334 },
{ "0x230", 0x230 },
{ "0x234", 0x234 },
{ "0x130", 0x130 },
{ "0x134", 0x134 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x334,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "None", .value = 0 },
{ .description = "0x330", .value = 0x330 },
{ .description = "0x334", .value = 0x334 },
{ .description = "0x230", .value = 0x230 },
{ .description = "0x234", .value = 0x234 },
{ .description = "0x130", .value = 0x130 },
{ .description = "0x134", .value = 0x134 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{ "IRQ 9", 9 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "IRQ 12", 12 },
{ "IRQ 14", 14 },
{ "IRQ 15", 15 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 11,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 9", .value = 9 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "IRQ 12", .value = 12 },
{ .description = "IRQ 14", .value = 14 },
{ .description = "IRQ 15", .value = 15 },
{ .description = "" }
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 6, "", { 0 },
{
{ "DMA 5", 5 },
{ "DMA 6", 6 },
{ "DMA 7", 7 },
{ "" }
.name = "dma",
.description = "DMA channel",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 6,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "DMA 5", .value = 5 },
{ .description = "DMA 6", .value = 6 },
{ .description = "DMA 7", .value = 7 },
{ .description = "" }
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{ "Disabled", 0 },
{ "C800H", 0xc8000 },
{ "CC00H", 0xcc000 },
{ "D000H", 0xd0000 },
{ "D400H", 0xd4000 },
{ "D800H", 0xd8000 },
{ "DC00H", 0xdc000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "CC00H", .value = 0xcc000 },
{ .description = "D000H", .value = 0xd0000 },
{ .description = "D400H", .value = 0xd4000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "DC00H", .value = 0xdc000 },
{ .description = "" }
},
},
{
"fdc_addr", "FDC address", CONFIG_HEX16, "", 0, "", { 0 },
{
{ "None", 0 },
{ "0x3f0", FDC_PRIMARY_ADDR },
{ "0x370", FDC_SECONDARY_ADDR },
{ "" }
.name = "fdc_addr",
.description = "FDC address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "None", .value = 0 },
{ .description = "0x3f0", .value = FDC_PRIMARY_ADDR },
{ .description = "0x370", .value = FDC_SECONDARY_ADDR },
{ .description = "" }
},
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
};
// clang-format on

View File

@@ -1805,54 +1805,84 @@ buslogic_init(const device_t *info)
// clang-format off
static const device_config_t BT_ISA_Config[] = {
{
"base", "Address", CONFIG_HEX16, "", 0x334, "", { 0 },
{
{ "0x330", 0x330 },
{ "0x334", 0x334 },
{ "0x230", 0x230 },
{ "0x234", 0x234 },
{ "0x130", 0x130 },
{ "0x134", 0x134 },
{ "", 0 }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x334,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "0x330", .value = 0x330 },
{ .description = "0x334", .value = 0x334 },
{ .description = "0x230", .value = 0x230 },
{ .description = "0x234", .value = 0x234 },
{ .description = "0x130", .value = 0x130 },
{ .description = "0x134", .value = 0x134 },
{ .description = "", .value = 0 }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 11, "", { 0 },
{
{ "IRQ 9", 9 },
{ "IRQ 10", 10 },
{ "IRQ 11", 11 },
{ "IRQ 12", 12 },
{ "IRQ 14", 14 },
{ "IRQ 15", 15 },
{ "", 0 }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 11,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 9", .value = 9 },
{ .description = "IRQ 10", .value = 10 },
{ .description = "IRQ 11", .value = 11 },
{ .description = "IRQ 12", .value = 12 },
{ .description = "IRQ 14", .value = 14 },
{ .description = "IRQ 15", .value = 15 },
{ .description = "", 0 }
},
},
{
"dma", "DMA channel", CONFIG_SELECTION, "", 6, "", { 0 },
{
{ "DMA 5", 5 },
{ "DMA 6", 6 },
{ "DMA 7", 7 },
{ "", 0 }
.name = "dma",
.description = "DMA channel",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 6,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "DMA 5", .value = 5 },
{ .description = "DMA 6", .value = 6 },
{ .description = "DMA 7", .value = 7 },
{ .description = "", .value = 0 }
},
},
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{ "Disabled", 0 },
{ "C800H", 0xc8000 },
{ "D000H", 0xd0000 },
{ "D800H", 0xd8000 },
{ "", 0 }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "D000H", .value = 0xd0000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "", .value = 0 }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t BT958D_Config[] = {
{ "bios", "Enable BIOS", CONFIG_BINARY, "", 0 },
{ "", "", -1 }
{
.name = "bios",
.description = "Enable BIOS",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 0
},
{ .name = "", .description = "", .type = CONFIG_END }
};
// clang-format on

View File

@@ -1594,116 +1594,180 @@ corel_ls2000_available(void)
// clang-format off
static const device_config_t ncr5380_mmio_config[] = {
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000, "", { 0 },
{
{ "C800H", 0xc8000 },
{ "CC00H", 0xcc000 },
{ "D800H", 0xd8000 },
{ "DC00H", 0xdc000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xD8000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "C800H", .value = 0xc8000 },
{ .description = "CC00H", .value = 0xcc000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "DC00H", .value = 0xdc000 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{ "IRQ 3", 3 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t rancho_config[] = {
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000, "", { 0 },
{
{ "C800H", 0xc8000 },
{ "CC00H", 0xcc000 },
{ "D800H", 0xd8000 },
{ "DC00H", 0xdc000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xD8000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "C800H", .value = 0xc8000 },
{ .description = "CC00H", .value = 0xcc000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "DC00H", .value = 0xdc000 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{ "IRQ 3", 3 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "" }
},
},
{
"bios_ver", "BIOS Version", CONFIG_SELECTION, "", 1, "", { 0 },
{
{ "8.20R", 1 },
{ "8.10R", 0 },
{ "" }
.name = "bios_ver",
.description = "BIOS Version",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 1,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "8.20R", .value = 1 },
{ .description = "8.10R", .value = 0 },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t t130b_config[] = {
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000, "", { 0 },
{
{ "Disabled", 0 },
{ "C800H", 0xc8000 },
{ "CC00H", 0xcc000 },
{ "D800H", 0xd8000 },
{ "DC00H", 0xdc000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xD8000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "Disabled", .value = 0 },
{ .description = "C800H", .value = 0xc8000 },
{ .description = "CC00H", .value = 0xcc000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "DC00H", .value = 0xdc000 },
{ .description = "" }
},
},
{
"base", "Address", CONFIG_HEX16, "", 0x0350, "", { 0 },
{
{ "240H", 0x0240 },
{ "250H", 0x0250 },
{ "340H", 0x0340 },
{ "350H", 0x0350 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0350,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "240H", .value = 0x0240 },
{ .description = "250H", .value = 0x0250 },
{ .description = "340H", .value = 0x0340 },
{ .description = "350H", .value = 0x0350 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{ "IRQ 3", 3 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t t128_config[] = {
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xD8000, "", { 0 },
{
{ "C800H", 0xc8000 },
{ "CC00H", 0xcc000 },
{ "D800H", 0xd8000 },
{ "DC00H", 0xdc000 },
{ "" }
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_string = "",
.default_int = 0xD8000,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "C800H", .value = 0xc8000 },
{ .description = "CC00H", .value = 0xcc000 },
{ .description = "D800H", .value = 0xd8000 },
{ .description = "DC00H", .value = 0xdc000 },
{ .description = "" }
},
},
{
"irq", "IRQ", CONFIG_SELECTION, "", 5, "", { 0 },
{
{ "IRQ 3", 3 },
{ "IRQ 5", 5 },
{ "IRQ 7", 7 },
{ "" }
.name = "irq",
.description = "IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 5,
.file_filter = "",
.spinner ={ 0 },
.selection = {
{ .description = "IRQ 3", .value = 3 },
{ .description = "IRQ 5", .value = 5 },
{ .description = "IRQ 7", .value = 7 },
{ .description = "" }
},
},
{
"boot", "Enable Boot ROM", CONFIG_BINARY, "", 1
.name = "boot",
.description = "Enable Boot ROM",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
};
// clang-format on

View File

@@ -2636,15 +2636,21 @@ ncr53c8xx_close(void *priv)
static const device_config_t ncr53c8xx_pci_config[] = {
// clang-format off
{
"bios", "BIOS", CONFIG_SELECTION, "", 1, "", { 0 },
{
{ "SDMS 4.x BIOS", 2 },
{ "SDMS 3.x BIOS", 1 },
{ "Disable BIOS", 0 },
{ "" }
.name = "bios",
.description = "BIOS",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 1,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "SDMS 4.x BIOS", .value = 2 },
{ .description = "SDMS 3.x BIOS", .value = 1 },
{ .description = "Disable BIOS", .value = 0 },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -2002,11 +2002,13 @@ esp_close(void *priv)
static const device_config_t bios_enable_config[] = {
// clang-format off
{
"bios", "Enable BIOS", CONFIG_BINARY, "", 0
.name = "bios",
.description = "Enable BIOS",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 0
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -1159,14 +1159,20 @@ spock_available(void)
static const device_config_t spock_rom_config[] = {
// clang-format off
{
"bios_ver", "BIOS Version", CONFIG_SELECTION, "", 1, "", { 0 },
{
{ "1991 BIOS (>1GB)", 1 },
{ "1990 BIOS", 0 },
{ "" }
.name = "bios_ver",
.description = "BIOS Version",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 1,
.file_filter = "",
.spinner = { 0 },
.selection = {
{ .description = "1991 BIOS (>1GB)", .value = 1 },
{ .description = "1990 BIOS", .value = 0 },
{ .description = "" }
},
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -541,9 +541,7 @@ static const device_config_t fluidsynth_config[] = {
},
.default_int = 2
},
{
.type = -1
}
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -368,9 +368,7 @@ static const device_config_t mt32_config[] = {
.type = CONFIG_BINARY,
.default_int = 1
},
{
.type = -1
}
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -234,57 +234,73 @@ rtmidi_in_get_dev_name(int num, char *s)
static const device_config_t system_midi_config[] = {
{
"midi", "MIDI out device", CONFIG_MIDI_OUT, "", 0
.name = "midi",
.description = "MIDI out device",
.type = CONFIG_MIDI_OUT,
.default_string = "",
.default_int = 0
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
};
static const device_config_t midi_input_config[] = {
{
"midi_input", "MIDI in device", CONFIG_MIDI_IN, "", 0
.name = "midi_input",
.description = "MIDI in device",
.type = CONFIG_MIDI_IN,
.default_string = "",
.default_int = 0
},
{
"realtime", "MIDI Real time", CONFIG_BINARY, "", 0
.name = "realtime",
.description = "MIDI Real time",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 0
},
{
"thruchan", "MIDI Thru", CONFIG_BINARY, "", 1
.name = "thruchan",
.description = "MIDI Thru",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
"clockout", "MIDI Clockout", CONFIG_BINARY, "", 1
.name = "clockout",
.description = "MIDI Clockout",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
};
const device_t rtmidi_output_device = {
SYSTEM_MIDI_NAME,
SYSTEM_MIDI_INTERNAL_NAME,
0, 0,
rtmidi_output_init,
rtmidi_output_close,
NULL,
{ rtmidi_out_get_num_devs },
NULL,
NULL,
system_midi_config
.name = SYSTEM_MIDI_NAME,
.internal_name = SYSTEM_MIDI_INTERNAL_NAME,
.flags = 0,
.local = 0,
.init = rtmidi_output_init,
.close = rtmidi_output_close,
.reset = NULL,
{ .available = rtmidi_out_get_num_devs },
.speed_changed = NULL,
.force_redraw = NULL,
.config = system_midi_config
};
const device_t rtmidi_input_device =
{
MIDI_INPUT_NAME,
MIDI_INPUT_INTERNAL_NAME,
0, 0,
rtmidi_input_init,
rtmidi_input_close,
NULL,
{ rtmidi_in_get_num_devs },
NULL,
NULL,
midi_input_config
const device_t rtmidi_input_device = {
.name = MIDI_INPUT_NAME,
.internal_name = MIDI_INPUT_INTERNAL_NAME,
.flags = 0,
.local = 0,
.init = rtmidi_input_init,
.close = rtmidi_input_close,
.reset = NULL,
{ .available = rtmidi_in_get_num_devs },
.speed_changed = NULL,
.force_redraw = NULL,
.config = midi_input_config
};
}

View File

@@ -982,10 +982,28 @@ adgold_close(void *p)
static const device_config_t adgold_config[] = {
// clang-format off
{ "gameport", "Enable Game port", CONFIG_BINARY, "", 1 },
{ "surround", "Surround module", CONFIG_BINARY, "", 1 },
{ "receive_input", "Receive input (MIDI)", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "gameport",
.description = "Enable Game port",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
.name = "surround",
.description = "Surround module",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
.name = "receive_input",
.description = "Receive input (MIDI)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -2055,46 +2055,54 @@ es1371_speed_changed(void *p)
static const device_config_t es1371_config[] = {
// clang-format off
{
.name = "codec",
.description = "CODEC",
.type = CONFIG_SELECTION,
.selection = {
{
.description = "Asahi Kasei AK4540",
.value = AC97_CODEC_AK4540
}, {
.description = "Crystal CS4297",
.value = AC97_CODEC_CS4297
}, {
.description = "Crystal CS4297A",
.value = AC97_CODEC_CS4297A
}, {
.description = "SigmaTel STAC9708",
.value = AC97_CODEC_STAC9708
}, {
.description = "SigmaTel STAC9721",
.value = AC97_CODEC_STAC9721
}
},
.default_int = AC97_CODEC_CS4297A
.name = "codec",
.description = "CODEC",
.type = CONFIG_SELECTION,
.selection = {
{
.description = "Asahi Kasei AK4540",
.value = AC97_CODEC_AK4540
},
{
.description = "Crystal CS4297",
.value = AC97_CODEC_CS4297
},
{
.description = "Crystal CS4297A",
.value = AC97_CODEC_CS4297A
},
{
.description = "SigmaTel STAC9708",
.value = AC97_CODEC_STAC9708
},
{
.description = "SigmaTel STAC9721",
.value = AC97_CODEC_STAC9721
}
},
.default_int = AC97_CODEC_CS4297A
},
{
"receive_input", "Receive input (MIDI)", CONFIG_BINARY, "", 1
.name = "receive_input",
.description = "Receive input (MIDI)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
static const device_config_t es1371_onboard_config[] = {
// clang-format off
{
"receive_input", "Receive input (MIDI)", CONFIG_BINARY, "", 1
.name = "receive_input",
.description = "Receive input (MIDI)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -1251,12 +1251,29 @@ static const device_config_t azt1605_config[] = {
.default_int = 0
},
{
"addr", "SB Address", CONFIG_HEX16, "", 0, "", { 0 },
{
{ "0x220", 0x220 },
{ "0x240", 0x240 },
{ "Use EEPROM setting", 0 },
{ "" }
.name = "addr",
.description = "SB Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "0x220",
.value = 0x220
},
{
.description = "0x240",
.value = 0x240
},
{
.description = "Use EEPROM setting",
.value = 0
},
{
.description = ""
}
}
},
{
@@ -1328,10 +1345,28 @@ static const device_config_t azt1605_config[] = {
},
.default_int = 0
},
{ "opl", "Enable OPL", CONFIG_BINARY, "", 1 },
{ "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 },
{ "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 },
{ "", "", -1 }
{
.name = "opl",
.description = "Enable OPL",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
.name = "receive_input",
.description = "Receive input (SB MIDI)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
.name = "receive_input401",
.description = "Receive input (MPU-401)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 0
},
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -1341,8 +1376,7 @@ static const device_config_t azt2316a_config[] = {
.name = "codec",
.description = "CODEC",
.type = CONFIG_SELECTION,
.selection =
{
.selection = {
{
.description = "CS4248",
.value = AD1848_TYPE_CS4248
@@ -1361,20 +1395,36 @@ static const device_config_t azt2316a_config[] = {
.default_int = 0
},
{
"addr", "SB Address", CONFIG_HEX16, "", 0, "", { 0 },
{
{ "0x220", 0x220 },
{ "0x240", 0x240 },
{ "Use EEPROM setting", 0 },
{ "" }
.name = "addr",
.description = "SB Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "0x220",
.value = 0x220
},
{
.description = "0x240",
.value = 0x240
},
{
.description = "Use EEPROM setting",
.value = 0
},
{
.description = ""
}
}
},
{
.name = "wss_irq",
.description = "WSS IRQ",
.type = CONFIG_SELECTION,
.selection =
{
.selection = {
{
.description = "IRQ 11",
.value = 11
@@ -1397,8 +1447,7 @@ static const device_config_t azt2316a_config[] = {
.name = "wss_dma",
.description = "WSS DMA",
.type = CONFIG_SELECTION,
.selection =
{
.selection = {
{
.description = "DMA 0",
.value = 0
@@ -1417,10 +1466,28 @@ static const device_config_t azt2316a_config[] = {
},
.default_int = 0
},
{ "opl", "Enable OPL", CONFIG_BINARY, "", 1 },
{ "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 },
{ "receive_input401", "Receive input (MPU-401)", CONFIG_BINARY, "", 0 },
{ "", "", -1 }
{
.name = "opl",
.description = "Enable OPL",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
.name = "receive_input",
.description = "Receive input (SB MIDI)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
.name = "receive_input401",
.description = "Receive input (MPU-401)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 0
},
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -1446,16 +1446,34 @@ cmi8x38_close(void *priv)
static const device_config_t cmi8x38_config[] = {
// clang-format off
{ "receive_input", "Receive input (MPU-401)", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "receive_input",
.description = "Receive input (MPU-401)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
static const device_config_t cmi8738_config[] = {
// clang-format off
{ "six_channel", "6CH variant (6-channel)", CONFIG_BINARY, "", 1 },
{ "receive_input", "Receive input (MPU-401)", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "six_channel",
.description = "6CH variant (6-channel)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{
.name = "receive_input",
.description = "Receive input (MPU-401)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -189,20 +189,44 @@ cms_close(void *p)
static const device_config_t cms_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 },
{
{ "0x210", 0x210 },
{ "0x220", 0x220 },
{ "0x230", 0x230 },
{ "0x240", 0x240 },
{ "0x250", 0x250 },
{ "0x260", 0x260 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x220,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "0x210",
.value = 0x210
},
{
.description = "0x220",
.value = 0x220
},
{
.description = "0x230",
.value = 0x230
},
{
.description = "0x240",
.value = 0x240
},
{
.description = "0x250",
.value = 0x250
},
{
.description = "0x260",
.value = 0x260
},
{
.description = ""
}
}
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -1204,37 +1204,94 @@ gus_speed_changed(void *p)
static const device_config_t gus_config[] = {
// clang-format off
{
"type", "GUS type", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Classic", GUS_CLASSIC },
.name = "type",
.description = "GUS type",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "Classic",
.value = GUS_CLASSIC
},
#if defined(DEV_BRANCH) && defined(USE_GUSMAX)
{ "MAX", GUS_MAX },
{
.description = "MAX",
.value = GUS_MAX
},
#endif
{ NULL }
{ NULL }
},
},
{
"base", "Address", CONFIG_HEX16, "", 0x220, "", { 0 },
{
{ "210H", 0x210 },
{ "220H", 0x220 },
{ "230H", 0x230 },
{ "240H", 0x240 },
{ "250H", 0x250 },
{ "260H", 0x260 },
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x220,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "210H",
.value = 0x210
},
{
.description = "220H",
.value = 0x220
},
{
.description = "230H",
.value = 0x230
},
{
.description = "240H",
.value = 0x240
},
{
.description = "250H",
.value = 0x250
},
{
.description = "260H",
.value = 0x260
},
},
},
{
"gus_ram", "Onboard RAM", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "256 KB", 0 },
{ "512 KB", 1 },
{ "1 MB", 2 },
{ NULL }
.name = "gus_ram",
"Onboard RAM",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "256 KB",
.value = 0
},
{
.description = "512 KB",
.value = 1
},
{
.description = "1 MB",
.value = 2
},
{ NULL }
}
},
{ "receive_input", "Receive input (SB MIDI)", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "receive_input",
.description = "Receive input (SB MIDI)",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format off
};

View File

@@ -1806,30 +1806,87 @@ mpu401_standalone_close(void *priv)
static const device_config_t mpu401_standalone_config[] = {
// clang-format off
{
"base", "MPU-401 Address", CONFIG_HEX16, "", 0x330, "", { 0 },
{
{ "0x220", 0x220 },
{ "0x230", 0x230 },
{ "0x240", 0x240 },
{ "0x250", 0x250 },
{ "0x300", 0x300 },
{ "0x320", 0x320 },
{ "0x330", 0x330 },
{ "0x340", 0x340 },
{ "0x350", 0x350 },
{ "" }
.name = "base",
.description = "MPU-401 Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x330,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "0x220",
.value = 0x220
},
{
.description = "0x230",
.value = 0x230
},
{
.description = "0x240",
.value = 0x240
},
{
.description = "0x250",
.value = 0x250
},
{
.description = "0x300",
.value = 0x300
},
{
.description = "0x320",
.value = 0x320
},
{
.description = "0x330",
.value = 0x330
},
{
.description = "0x340",
.value = 0x340
},
{
.description = "0x350",
.value = 0x350
},
{ .description = "" }
}
},
{
"irq", "MPU-401 IRQ", CONFIG_SELECTION, "", 2, "", { 0 },
{
{ "IRQ 2", 2 },
{ "IRQ 3", 3 },
{ "IRQ 4", 4 },
{ "IRQ 5", 5 },
{ "IRQ 6", 6 },
{ "IRQ 7", 7 },
{ "" }
.name = "irq",
.description = "MPU-401 IRQ",
.type = CONFIG_SELECTION,
.default_string = "",
.default_int = 2,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "IRQ 2",
.value = 2
},
{
.description = "IRQ 3",
.value = 3
},
{
.description = "IRQ 4",
.value = 4
},
{
.description = "IRQ 5",
.value = 5
},
{
.description = "IRQ 6",
.value = 6
},
{
.description = "IRQ 7",
.value = 7
},
{ .description = "" }
}
},
{
@@ -1838,7 +1895,7 @@ static const device_config_t mpu401_standalone_config[] = {
.type = CONFIG_BINARY,
.default_int = 1
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
@@ -1850,9 +1907,7 @@ static const device_config_t mpu401_standalone_mca_config[] = {
.type = CONFIG_BINARY,
.default_int = 1
},
{
"", "", -1
}
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -239,15 +239,30 @@ pssj_close(void *p)
static const device_config_t pssj_isa_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x2C0, "", { 0 },
{
{ "0x0C0", 0x0C0 },
{ "0x1E0", 0x1E0 },
{ "0x2C0", 0x2C0 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x2C0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "0x0C0",
.value = 0x0C0
},
{
.description = "0x1E0",
.value = 0x1E0
},
{
.description = "0x2C0",
.value = 0x2C0
},
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
#endif
@@ -277,7 +292,7 @@ const device_t pssj_1e0_device = {
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
.config = NULL
};
#if defined(DEV_BRANCH) && defined(USE_TANDY_ISA)

File diff suppressed because it is too large Load Diff

View File

@@ -247,15 +247,30 @@ sn76489_device_close(void *p)
static const device_config_t tndy_config[] = {
// clang-format off
{
"base", "Address", CONFIG_HEX16, "", 0x0C0, "", { 0 },
{
{ "0x0C0", 0x0C0 },
{ "0x1E0", 0x1E0 },
{ "0x2C0", 0x2C0 },
{ "" }
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x0C0,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "0x0C0",
.value = 0x0C0
},
{
.description = "0x1E0",
.value = 0x1E0
},
{
.description = "0x2C0",
.value = 0x2C0
},
{ .description = "" }
}
},
{ "", "", -1 }
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};
#endif

View File

@@ -92,13 +92,32 @@ ssi2001_close(void *p)
static const device_config_t ssi2001_config[] = {
// clang-format off
{ "base", "Address", CONFIG_HEX16, "", 0x280, "", { 0 },
{
{ "0x280", 0x280 },
{ "0x2A0", 0x2A0 },
{ "0x2C0", 0x2C0 },
{ "0x2E0", 0x2E0 },
{ "" }
{
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x280,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "0x280",
.value = 0x280
},
{
.description = "0x2A0",
.value = 0x2A0
},
{
.description = "0x2C0",
.value = 0x2C0
},
{
.description = "0x2E0",
.value = 0x2E0
},
{ .description = "" }
}
},
{ "gameport", "Enable Game port", CONFIG_BINARY, "", 1 },

View File

@@ -228,17 +228,42 @@ wss_speed_changed(void *priv)
static const device_config_t wss_config[] = {
// clang-format off
{ "base", "Address", CONFIG_HEX16, "", 0x530, "", { 0 },
{
{ "0x530", 0x530 },
{ "0x604", 0x604 },
{ "0xe80", 0xe80 },
{ "0xf40", 0xf40 },
{ "" }
{
.name = "base",
.description = "Address",
.type = CONFIG_HEX16,
.default_string = "",
.default_int = 0x530,
.file_filter = "",
.spinner = { 0 },
.selection = {
{
.description = "0x530",
.value = 0x530
},
{
.description = "0x604",
.value = 0x604
},
{
.description = "0xe80",
.value = 0xe80
},
{
.description = "0xf40",
.value = 0xf40
},
{ .description = "" }
}
},
{ "opl", "Enable OPL", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "opl",
.description = "Enable OPL",
.type = CONFIG_BINARY,
.default_string = "",
.default_int = 1
},
{ .name = "", .description = "", .type = CONFIG_END }
// clang-format on
};

View File

@@ -708,29 +708,61 @@ ati28800_force_redraw(void *priv)
// clang-format off
static const device_config_t ati28800_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 512, "", { 0 },
{
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "1 MB", 1024 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 512,
.selection = {
{
.description = "256 kB",
.value = 256
},
{
.description = "512 kB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
#if defined(DEV_BRANCH) && defined(USE_XL24)
static const device_config_t ati28800_wonderxl_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 512, "", { 0 },
{
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "1 MB", 1024 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 512,
.selection = {
{
.description = "256 kB",
.value = 256
},
{
.description = "512 kB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
#endif
// clang-format on

View File

@@ -3684,27 +3684,56 @@ void mach64_force_redraw(void *p)
// clang-format off
static const device_config_t mach64gx_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{ "1 MB", 1 },
{ "2 MB", 2 },
{ "4 MB", 4 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 4,
.selection = {
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
{
.description = "4 MB",
.value = 4
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
static const device_config_t mach64vt2_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{ "2 MB", 2 },
{ "4 MB", 4 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 4,
.selection = {
{
.description = "2 MB",
.value = 2
},
{
.description = "4 MB",
.value = 4
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
// clang-format on

View File

@@ -578,37 +578,82 @@ cga_speed_changed(void *p)
// clang-format off
const device_config_t cga_config[] = {
{
"display_type", "Display type", CONFIG_SELECTION, "", CGA_RGB, "", { 0 },
{
{ "RGB", CGA_RGB },
{ "Composite", CGA_COMPOSITE },
{ "" }
.name = "display_type",
.description = "Display type",
.type = CONFIG_SELECTION,
.default_int = CGA_RGB,
.selection = {
{
.description = "RGB",
.value = CGA_RGB
},
{
.description = "Composite",
.value = CGA_COMPOSITE
},
{
.description = ""
}
}
},
{
"composite_type", "Composite type", CONFIG_SELECTION, "", COMPOSITE_OLD, "", { 0 },
{
{ "Old", COMPOSITE_OLD },
{ "New", COMPOSITE_NEW },
{ "" }
.name = "composite_type",
.description = "Composite type",
.type = CONFIG_SELECTION,
.default_int = COMPOSITE_OLD,
.selection = {
{
.description = "Old",
.value = COMPOSITE_OLD
},
{
.description = "New",
.value = COMPOSITE_NEW
},
{
.description = ""
}
}
},
{
"rgb_type", "RGB type", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Color", 0 },
{ "Green Monochrome", 1 },
{ "Amber Monochrome", 2 },
{ "Gray Monochrome", 3 },
{ "Color (no brown)", 4 },
{ "" }
.name = "rgb_type",
.description = "RGB type",
.type = CONFIG_SELECTION,
.default_int = 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 = ""
}
}
},
{
"snow_enabled", "Snow emulation", CONFIG_BINARY, "", 1
.name = "snow_enabled",
.description = "Snow emulation",
.type = CONFIG_BINARY,
.default_int = 1
},
{
"", "", -1
.type = CONFIG_END
}
};
// clang-format on

View File

@@ -4304,7 +4304,7 @@ static const device_config_t gd542x_config[] = {
.default_int = 512
},
{
.type = -1
.type = CONFIG_END
}
};
@@ -4333,7 +4333,7 @@ static const device_config_t gd5426_config[] = {
.default_int = 2048
},
{
.type = -1
.type = CONFIG_END
}
};
@@ -4362,7 +4362,7 @@ static const device_config_t gd5428_onboard_config[] = {
.default_int = 2048
},
{
.type = -1
.type = CONFIG_END
}
};
@@ -4387,7 +4387,7 @@ static const device_config_t gd5429_config[] = {
.default_int = 2
},
{
.type = -1
.type = CONFIG_END
}
};
@@ -4412,7 +4412,7 @@ static const device_config_t gd5440_onboard_config[] = {
.default_int = 2
},
{
.type = -1
.type = CONFIG_END
}
};
@@ -4441,7 +4441,7 @@ static const device_config_t gd5434_config[] = {
.default_int = 4
},
{
.type = -1
.type = CONFIG_END
}
};
@@ -4470,7 +4470,7 @@ static const device_config_t gd5434_onboard_config[] = {
.default_int = 4
},
{
.type = -1
.type = CONFIG_END
}
};

View File

@@ -427,27 +427,55 @@ void colorplus_speed_changed(void *p)
cga_recalctimings(&colorplus->cga);
}
static const device_config_t colorplus_config[] = {
// clang-format off
{
"display_type", "Display type", CONFIG_SELECTION, "", CGA_RGB, "", { 0 },
{
{ "RGB", CGA_RGB },
{ "Composite", CGA_COMPOSITE },
{ "" }
.name = "display_type",
.description = "Display type",
.type = CONFIG_SELECTION,
.default_int = CGA_RGB,
.selection = {
{
.description = "RGB",
.value = CGA_RGB
},
{
.description = "Composite",
.value = CGA_COMPOSITE
},
{
.description = ""
}
}
},
{
"composite_type", "Composite type", CONFIG_SELECTION, "", COMPOSITE_OLD, "", { 0 },
{
{ "Old", COMPOSITE_OLD },
{ "New", COMPOSITE_NEW },
{ "" }
.name = "composite_type",
.description = "Composite type",
.type = CONFIG_SELECTION,
.default_int = COMPOSITE_OLD,
.selection = {
{
.description = "Old",
.value = COMPOSITE_OLD
},
{
.description = "New",
.value = COMPOSITE_NEW
},
{
.description = ""
}
}
},
{ "snow_enabled", "Snow emulation", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "snow_enabled",
.description = "Snow emulation",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -1179,13 +1179,30 @@ ega_speed_changed(void *p)
static const device_config_t ega_config[] = {
// clang-format off
{
"memory", "Memory size", CONFIG_SELECTION, "", 256, "", { 0 },
{
{ "32 kB", 32 },
{ "64 kB", 64 },
{ "128 kB", 128 },
{ "256 kB", 256 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 256,
.selection = {
{
.description = "32 kB",
.value = 32
},
{
.description = "64 kB",
.value = 64
},
{
.description = "128 kB",
.value = 128
},
{
.description = "256 kB",
.value = 256
},
{
.description = ""
}
}
},
{
@@ -1228,7 +1245,7 @@ static const device_config_t ega_config[] = {
.default_int = 9
},
{
.type = -1
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -807,15 +807,31 @@ et4000_kasan_available(void)
static const device_config_t et4000_config[] = {
// clang-format off
{
"memory", "Memory size", CONFIG_SELECTION, "", 1024, "", { 0 },
{
{ "256 KB", 256 },
{ "512 KB", 512 },
{ "1 MB", 1024 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 1024,
.selection = {
{
.description = "256 KB",
.value = 256
},
{
.description = "512 KB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -2193,14 +2193,27 @@ et4000w32p_force_redraw(void *p)
static const device_config_t et4000w32p_config[] = {
// clang-format off
{
"memory", "Memory size", CONFIG_SELECTION, "", 2, "", { 0 },
{
{ "1 MB", 1 },
{ "2 MB", 2 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 2,
.selection = {
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -608,21 +608,44 @@ speed_changed(void *priv)
recalc_timings(dev);
}
static const device_config_t hercules_config[] = {
// clang-format off
{
"rgb_type", "Display type", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Default", 0 },
{ "Green", 1 },
{ "Amber", 2 },
{ "Gray", 3 },
{ "" }
.name = "rgb_type",
.description = "Display type",
.type = CONFIG_SELECTION,
.default_int = 0,
.selection = {
{
.description = "Default",
.value = 0
},
{
.description = "Green",
.value = 1
},
{
.description = "Amber",
.value = 2
},
{
.description = "Gray",
.value = 3
},
{
.description = ""
}
}
},
{ "blend", "Blend", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "blend",
.description = "Blend",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -693,21 +693,44 @@ speed_changed(void *priv)
recalc_timings(dev);
}
static const device_config_t herculesplus_config[] = {
// clang-format off
{
"rgb_type", "Display type", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Default", 0 },
{ "Green", 1 },
{ "Amber", 2 },
{ "Gray", 3 },
{ "" }
.name = "rgb_type",
.description = "Display type",
.type = CONFIG_SELECTION,
.default_int = 0,
.selection = {
{
.description = "Default",
.value = 0
},
{
.description = "Green",
.value = 1
},
{
.description = "Amber",
.value = 2
},
{
.description = "Gray",
.value = 3
},
{
.description = ""
}
}
},
{ "blend", "Blend", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "blend",
.description = "Blend",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -1621,44 +1621,88 @@ ht216_force_redraw(void *p)
ht216->svga.fullchange = changeframecount;
}
static const device_config_t v7_vga_1024i_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 512, "", { 0 },
{
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 512,
.selection = {
{
.description = "256 kB",
.value = 256
},
{
.description = "512 kB",
.value = 512
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
// clang-format off
static const device_config_t ht216_32_standalone_config[] = {
{
"monitor_type", "Monitor type", CONFIG_SELECTION, "", 0x18, "", { 0 },
{
{ "Mono Interlaced", 0x00 },
{ "Mono Non-Interlaced", 0x08 },
{ "Color Interlaced", 0x10 },
{ "Color Non-Interlaced", 0x18 },
{ "" }
.name = "monitor_type",
.description = "Monitor type",
.type = CONFIG_SELECTION,
.default_int = 0x18,
.selection = {
{
.description = "Mono Interlaced",
.value = 0x00
},
{
.description = "Mono Non-Interlaced",
.value = 0x08
},
{
.description = "Color Interlaced",
.value = 0x10
},
{
.description = "Color Non-Interlaced",
.value = 0x18
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
static const device_config_t radius_svga_multiview_config[] = {
{
"extensions", "Extensions", CONFIG_SELECTION, "", 0x00, "", { 0 },
{
{ "Extensions Enabled", 0x00 },
{ "Extensions Disabled", 0x02 },
{ "" }
.name = "extensions",
.description = "Extensions",
.type = CONFIG_SELECTION,
.default_int = 0x00,
.selection = {
{
.description = "Extensions Enabled",
.value = 0x00
},
{
.description = "Extensions Disabled",
.value = 0x02
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
// clang-format on
@@ -1729,8 +1773,7 @@ const device_t radius_svga_multiview_isa_device = {
{ .available = radius_svga_multiview_available },
.speed_changed = ht216_speed_changed,
.force_redraw = ht216_force_redraw,
radius_svga_multiview_config,
.config = NULL
.config = radius_svga_multiview_config
};
const device_t radius_svga_multiview_mca_device = {

View File

@@ -330,16 +330,35 @@ void mda_speed_changed(void *p)
static const device_config_t mda_config[] = {
// clang-format off
{
"rgb_type", "Display type", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Default", 0 },
{ "Green", 1 },
{ "Amber", 2 },
{ "Gray", 3 },
{ "" }
.name = "rgb_type",
.description = "Display type",
.type = CONFIG_SELECTION,
.default_int = 0,
.selection = {
{
.description = "Default",
.value = 0
},
{
.description = "Green",
.value = 1
},
{
.description = "Amber",
.value = 2
},
{
.description = "Gray",
.value = 3
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -5336,7 +5336,6 @@ mystique_force_redraw(void *p)
mystique->svga.fullchange = changeframecount;
}
static const device_config_t mystique_config[] = {
// clang-format off
{
@@ -5363,7 +5362,9 @@ static const device_config_t mystique_config[] = {
},
.default_int = 8
},
{ .type = -1 }
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -598,42 +598,94 @@ nga_init(const device_t *info)
return nga;
}
const device_config_t nga_config[] = {
// clang-format off
{
"rgb_type", "RGB type", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Color", 0 },
{ "Green Monochrome", 1 },
{ "Amber Monochrome", 2 },
{ "Gray Monochrome", 3 },
{ "Color (no brown)", 4 },
{ "" }
.name = "rgb_type",
.description = "RGB type",
.type = CONFIG_SELECTION,
.default_int = 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 = ""
}
}
},
{
"snow_enabled", "Snow emulation", CONFIG_BINARY, "", 1
.name = "snow_enabled",
.description = "Snow emulation",
.type = CONFIG_BINARY,
.default_int = 1
},
{
"memory", "Memory size", CONFIG_SELECTION, "", 64, "", { 0 },
{
{ "32 KB", 32 },
{ "64 KB", 64 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 64,
.selection = {
{
.description = "32 KB",
.value = 32
},
{
.description = "64 KB",
.value = 64
},
{
.description = ""
}
}
},
{
"charset", "Character set", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "U.S. English", 0 },
{ "Scandinavian", 1 },
{ "Other languages", 2 },
{ "E.F. Hutton", 3 },
{ "" }
.name = "charset",
.description = "Character set",
.type = CONFIG_SELECTION,
.default_int = 0,
.selection = {
{
.description = "U.S. English",
.value = 0
},
{
.description = "Scandinavian",
.value = 1
},
{
.description = "Other languages",
.value = 2
},
{
.description = "E.F. Hutton",
.value = 3
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -500,43 +500,84 @@ oti067_m300_available(void)
return(rom_present(BIOS_067_M300_08_PATH));
}
// clang-format off
static const device_config_t oti067_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 512, "", { 0 },
{
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 512,
.selection = {
{
.description = "256 kB",
.value = 256
},
{
.description = "512 kB",
.value = 512
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
static const device_config_t oti067_ama932j_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 256, "", { 0 },
{
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 256,
.selection = {
{
.description = "256 kB",
.value = 256
},
{
.description = "512 kB",
.value = 512
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
static const device_config_t oti077_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 1024, "", { 0 },
{
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "1 MB", 1024 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 1024,
.selection = {
{
.description = "256 kB",
.value = 256
},
{
.description = "512 kB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
// clang-format on

View File

@@ -639,17 +639,41 @@ const device_config_t ogc_m24_config[] = {
// clang-format off
{
/* Olivetti / ATT compatible displays */
"rgb_type", "RGB type", CONFIG_SELECTION, "", CGA_RGB, "", { 0 },
{
{ "Color", 0 },
{ "Green Monochrome", 1 },
{ "Amber Monochrome", 2 },
{ "Gray Monochrome", 3 },
{ "" }
.name = "rgb_type",
.description = "RGB type",
.type = CONFIG_SELECTION,
.default_int = CGA_RGB,
.selection = {
{
.description = "Color",
.value = 0
},
{
.description = "Green Monochrome",
.value = 1
},
{
.description = "Amber Monochrome",
.value = 2
},
{
.description = "Gray Monochrome",
.value = 3
},
{
.description = ""
}
}
},
{ "snow_enabled", "Snow emulation", CONFIG_BINARY, "", 1, },
{ "", "", -1 }
{
.name = "snow_enabled",
.description = "Snow emulation",
.type = CONFIG_BINARY,
.default_int = 1,
},
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -717,126 +717,139 @@ void paradise_force_redraw(void *p)
paradise->svga.fullchange = changeframecount;
}
const device_t paradise_pvga1a_pc2086_device =
{
"Paradise PVGA1A (Amstrad PC2086)",
"pvga1a_pc2086",
0,
PVGA1A,
paradise_pvga1a_pc2086_init,
paradise_close,
NULL,
{ NULL },
paradise_speed_changed,
paradise_force_redraw,
NULL
const device_t paradise_pvga1a_pc2086_device = {
.name = "Paradise PVGA1A (Amstrad PC2086)",
.internal_name = "pvga1a_pc2086",
.flags = 0,
.local = PVGA1A,
.init = paradise_pvga1a_pc2086_init,
.close = paradise_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = paradise_speed_changed,
.force_redraw = paradise_force_redraw,
.config = NULL
};
const device_t paradise_pvga1a_pc3086_device =
{
"Paradise PVGA1A (Amstrad PC3086)",
"pvga1a_pc3086",
0,
PVGA1A,
paradise_pvga1a_pc3086_init,
paradise_close,
NULL,
{ NULL },
paradise_speed_changed,
paradise_force_redraw,
NULL
const device_t paradise_pvga1a_pc3086_device = {
.name = "Paradise PVGA1A (Amstrad PC3086)",
.internal_name = "pvga1a_pc3086",
.flags = 0,
.local = PVGA1A,
.init = paradise_pvga1a_pc3086_init,
.close = paradise_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = paradise_speed_changed,
.force_redraw = paradise_force_redraw,
.config = NULL
};
static const device_config_t paradise_pvga1a_config[] =
{
{
"memory", "Memory size", CONFIG_SELECTION, "", 512, "", { 0 },
{
{
"256 kB", 256
},
{
"512 kB", 512
},
{
""
}
}
},
{
"", "", -1
static const device_config_t paradise_pvga1a_config[] = {
{
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 512,
.selection = {
{
.description = "256 kB",
.value = 256
},
{
.description = "512 kB",
.value = 512
},
{
.description = ""
}
}
},
{
.type = CONFIG_END
}
};
const device_t paradise_pvga1a_ncr3302_device =
{
"Paradise PVGA1A (NCR 3302)",
"pvga1a_ncr3302",
0,
PVGA1A,
paradise_pvga1a_ncr3302_init,
paradise_close,
NULL,
{ NULL },
paradise_speed_changed,
paradise_force_redraw,
paradise_pvga1a_config
const device_t paradise_pvga1a_ncr3302_device = {
.name = "Paradise PVGA1A (NCR 3302)",
.internal_name = "pvga1a_ncr3302",
.flags = 0,
.local = PVGA1A,
.init = paradise_pvga1a_ncr3302_init,
.close = paradise_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = paradise_speed_changed,
.force_redraw = paradise_force_redraw,
.config = paradise_pvga1a_config
};
const device_t paradise_pvga1a_device =
{
"Paradise PVGA1A",
"pvga1a",
DEVICE_ISA,
PVGA1A,
paradise_pvga1a_standalone_init,
paradise_close,
NULL,
{ paradise_pvga1a_standalone_available },
paradise_speed_changed,
paradise_force_redraw,
paradise_pvga1a_config
const device_t paradise_pvga1a_device = {
.name = "Paradise PVGA1A",
.internal_name = "pvga1a",
.flags = DEVICE_ISA,
.local = PVGA1A,
.init = paradise_pvga1a_standalone_init,
.close = paradise_close,
.reset = NULL,
{ .available = paradise_pvga1a_standalone_available },
.speed_changed = paradise_speed_changed,
.force_redraw = paradise_force_redraw,
.config = paradise_pvga1a_config
};
const device_t paradise_wd90c11_megapc_device =
{
"Paradise WD90C11 (Amstrad MegaPC)",
"wd90c11_megapc",
0,
WD90C11,
paradise_wd90c11_megapc_init,
paradise_close,
NULL,
{ NULL },
paradise_speed_changed,
paradise_force_redraw,
NULL
const device_t paradise_wd90c11_megapc_device = {
.name = "Paradise WD90C11 (Amstrad MegaPC)",
.internal_name = "wd90c11_megapc",
.flags = 0,
.local = WD90C11,
.init = paradise_wd90c11_megapc_init,
.close = paradise_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = paradise_speed_changed,
.force_redraw = paradise_force_redraw,
.config = NULL
};
const device_t paradise_wd90c11_device =
{
"Paradise WD90C11-LR",
"wd90c11",
DEVICE_ISA,
WD90C11,
paradise_wd90c11_standalone_init,
paradise_close,
NULL,
{ paradise_wd90c11_standalone_available },
paradise_speed_changed,
paradise_force_redraw,
NULL
const device_t paradise_wd90c11_device = {
.name = "Paradise WD90C11-LR",
.internal_name = "wd90c11",
.flags = DEVICE_ISA,
.local = WD90C11,
.init = paradise_wd90c11_standalone_init,
.close = paradise_close,
.reset = NULL,
{ .available = paradise_wd90c11_standalone_available },
.speed_changed = paradise_speed_changed,
.force_redraw = paradise_force_redraw,
.config = NULL
};
static const device_config_t paradise_wd90c30_config[] = {
// clang-format off
{
"memory", "Memory size", CONFIG_SELECTION, "", 1024, "", { 0 },
{
{ "512 kB", 512 },
{ "1 MB", 1024 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 1024,
.selection = {
{
.description = "512 kB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -361,15 +361,31 @@ rtg_available(void)
static const device_config_t rtg_config[] = {
// clang-format off
{
"memory", "Memory size", CONFIG_SELECTION, "", 1024, "", { 0 },
{
{ "256 KB", 256 },
{ "512 KB", 512 },
{ "1 MB", 1024 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 1024,
.selection = {
{
.description = "256 KB",
.value = 256
},
{
.description = "512 KB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
// clang-format on
};
@@ -379,8 +395,8 @@ const device_t realtek_rtg3106_device = {
.flags = DEVICE_ISA | DEVICE_AT,
.local = 2,
.init = rtg_init,
.close = rtg_close,
.reset = NULL,
.close = rtg_close,
.reset = NULL,
{ .available = rtg_available },
.speed_changed = rtg_speed_changed,
.force_redraw = rtg_force_redraw,

View File

@@ -7611,67 +7611,144 @@ static void s3_force_redraw(void *p)
static const device_config_t s3_orchid_86c911_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 1, "", { 0 },
{
{ "512 KB", 0 },
{ "1 MB", 1 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 1,
.selection = {
{
.description = "512 KB",
.value = 0
},
{
.description = "1 MB",
.value = 1
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
static const device_config_t s3_9fx_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 2, "", { 0 },
{
{ "1 MB", 1 },
{ "2 MB", 2 },
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 2,
.selection = {
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
/*Trio64 also supports 4 MB, however the Number Nine BIOS does not*/
{ "" }
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
static const device_config_t s3_phoenix_trio32_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 2, "", { 0 },
{
{ "512 KB", 0 },
{ "1 MB", 1 },
{ "2 MB", 2 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 2,
.selection = {
{
.description = "512 KB",
.value = 0
},
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
static const device_config_t s3_standard_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{ "1 MB", 1 },
{ "2 MB", 2 },
{ "4 MB", 4 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 4,
.selection = {
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
{
.description = "4 MB",
.value = 4
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
static const device_config_t s3_968_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{ "1 MB", 1 },
{ "2 MB", 2 },
{ "4 MB", 4 },
{ "8 MB", 8 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 4,
.selection = {
{
.description = "1 MB",
.value = 1
},
{
.description = "2 MB",
.value = 2
},
{
.description = "4 MB",
.value = 4
},
{
.description = "8 MB",
.value = 8
},
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
};
const device_t s3_orchid_86c911_isa_device = {

View File

@@ -4219,51 +4219,135 @@ static void s3_virge_force_redraw(void *p)
static const device_config_t s3_virge_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{ "2 MB", 2 },
{ "4 MB", 4 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 4,
.selection = {
{
.description = "2 MB",
.value = 2
},
{
.description = "4 MB",
.value = 4
},
{
.description = ""
}
}
},
{ "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 },
{ "dithering", "Dithering", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "bilinear",
.description = "Bilinear filtering",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.name = "dithering",
.description = "Dithering",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.type = CONFIG_END
}
};
static const device_config_t s3_virge_stb_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{ "2 MB", 2 },
{ "4 MB", 4 },
{ "8 MB", 8 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 4,
.selection = {
{
.description = "2 MB",
.value = 2
},
{
.description = "4 MB",
.value = 4
},
{
.description = "8 MB",
.value = 8
},
{
.description = ""
}
}
},
{ "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 },
{ "dithering", "Dithering", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "bilinear",
.description = "Bilinear filtering",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.name = "dithering",
.description = "Dithering",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.type = CONFIG_END
}
};
static const device_config_t s3_virge_357_config[] = {
{ "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 },
{ "dithering", "Dithering", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "bilinear",
.description = "Bilinear filtering",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.name = "dithering",
.description = "Dithering",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.type = CONFIG_END
}
};
static const device_config_t s3_trio3d2x_config[] = {
{
"memory", "Memory size", CONFIG_SELECTION, "", 4, "", { 0 },
{
{ "4 MB", 4 },
{ "8 MB", 8 },
{ "" }
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 4,
.selection = {
{
.description = "4 MB",
.value = 4
},
{
.description = "8 MB",
.value = 8
},
{
.description = ""
}
}
},
{ "bilinear", "Bilinear filtering", CONFIG_BINARY, "", 1 },
{ "dithering", "Dithering", CONFIG_BINARY, "", 1 },
{ "", "", -1 }
{
.name = "bilinear",
.description = "Bilinear filtering",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.name = "dithering",
.description = "Dithering",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.type = CONFIG_END
}
};
const device_t s3_virge_325_pci_device = {

View File

@@ -880,39 +880,103 @@ sigma_speed_changed(void *p)
sigma_recalctimings(sigma);
}
device_config_t sigma_config[] = {
// clang-format off
{
"rgb_type", "RGB type", CONFIG_SELECTION, "", 0, "", { 0 },
{
{ "Color", 0 },
{ "Green Monochrome", 1 },
{ "Amber Monochrome", 2 },
{ "Gray Monochrome", 3 },
{ "Color (no brown)", 4 },
{ "" }
.name = "rgb_type",
.description = "RGB type",
.type = CONFIG_SELECTION,
.default_int = 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 = ""
}
}
},
{ "enable_nmi", "Enable NMI for CGA emulation", CONFIG_BINARY, "", 1 },
{
"bios_addr", "BIOS Address", CONFIG_HEX20, "", 0xc0000, "", { 0 },
{
{ "C000H", 0xc0000 },
{ "C800H", 0xc8000 },
{ "CC00H", 0xcc000 },
{ "D000H", 0xd0000 },
{ "D400H", 0xd4000 },
{ "D800H", 0xd8000 },
{ "DC00H", 0xdc000 },
{ "E000H", 0xe0000 },
{ "E400H", 0xe4000 },
{ "E800H", 0xe8000 },
{ "EC00H", 0xec000 },
{ "" }
.name = "enable_nmi",
.description = "Enable NMI for CGA emulation",
.type = CONFIG_BINARY,
.default_int = 1
},
{
.name = "bios_addr",
.description = "BIOS Address",
.type = CONFIG_HEX20,
.default_int = 0xc0000,
.selection = {
{
.description = "C000H",
.value = 0xc0000
},
{
.description = "C800H",
.value = 0xc8000
},
{
.description = "CC00H",
.value = 0xcc000
},
{
.description = "D000H",
.value = 0xd0000
},
{
.description = "D400H",
.value = 0xd4000
},
{
.description = "D800H",
.value = 0xd8000
},
{
.description = "DC00H",
.value = 0xdc000
},
{
.description = "E000H",
.value = 0xe0000
},
{
.description = "E400H",
.value = 0xe4000
},
{
.description = "E800H",
.value = 0xe8000
},
{
.description = "EC00H",
.value = 0xec000
},
{
.description = ""
}
},
},
{ "", "", -1 }
{
.type = CONFIG_END
}
// clang-format on
};

View File

@@ -47,31 +47,31 @@ static video_timings_t timing_default = {VIDEO_ISA, 8, 16, 32, 8, 16, 32};
static int was_reset = 0;
static const device_t vid_none_device = {
"None",
"none",
0,
0,
NULL,
NULL,
NULL,
{ NULL },
NULL,
NULL,
NULL
.name = "None",
.internal_name = "none",
.flags = 0,
.local = 0,
.init = NULL,
.close = NULL,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
static const device_t vid_internal_device = {
"Internal",
"internal",
0,
0,
NULL,
NULL, NULL,
{ NULL },
NULL,
NULL,
NULL
.name = "Internal",
.internal_name = "internal",
.flags = 0,
.local = 0,
.init = NULL,
.close = NULL,
.reset = NULL,
{ .available = NULL },
.speed_changed = NULL,
.force_redraw = NULL,
.config = NULL
};
static const VIDEO_CARD

View File

@@ -3193,7 +3193,7 @@ static const device_config_t tgui9440_config[] = {
.default_int = 2
},
{
.type = -1
.type = CONFIG_END
}
};
@@ -3222,7 +3222,7 @@ static const device_config_t tgui96xx_config[] = {
.default_int = 4
},
{
.type = -1
.type = CONFIG_END
}
};
// clang-format on

View File

@@ -446,16 +446,32 @@ void tvga_force_redraw(void *p)
static const device_config_t tvga_config[] = {
// clang-format off
{
"memory", "Memory size", CONFIG_SELECTION, "", 1024, "", { 0 },
{
{ "256 kB", 256 },
{ "512 kB", 512 },
{ "1 MB", 1024 },
.name = "memory",
.description = "Memory size",
.type = CONFIG_SELECTION,
.default_int = 1024,
.selection = {
{
.description = "256 kB",
.value = 256
},
{
.description = "512 kB",
.value = 512
},
{
.description = "1 MB",
.value = 1024
},
/*Chip supports 2mb, but drivers are buggy*/
{ "" }
{
.description = ""
}
}
},
{ "", "", -1 }
{
.type = CONFIG_END
}
// clang-format off
};

View File

@@ -1418,22 +1418,22 @@ static const device_config_t voodoo_config[] = {
},
#endif
{
.type = -1
.type = CONFIG_END
}
// clang-format on
};
const device_t voodoo_device =
{
"3DFX Voodoo Graphics",
"voodoo",
DEVICE_PCI,
0,
voodoo_init,
voodoo_close,
NULL,
{ NULL },
voodoo_speed_changed,
voodoo_force_blit,
voodoo_config
.name = "3DFX Voodoo Graphics",
.internal_name = "voodoo",
.flags = DEVICE_PCI,
.local = 0,
.init = voodoo_init,
.close = voodoo_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = voodoo_speed_changed,
.force_redraw = voodoo_force_blit,
.config = voodoo_config
};

View File

@@ -2601,8 +2601,7 @@ static void banshee_pci_write(int func, int addr, uint8_t val, void *p)
}
// clang-format off
static const device_config_t banshee_sgram_config[] =
{
static const device_config_t banshee_sgram_config[] = {
{
.name = "memory",
.description = "Memory size",
@@ -2672,12 +2671,11 @@ static const device_config_t banshee_sgram_config[] =
},
#endif
{
.type = -1
.type = CONFIG_END
}
};
static const device_config_t banshee_sdram_config[] =
{
static const device_config_t banshee_sdram_config[] = {
{
.name = "bilinear",
.description = "Bilinear filtering",
@@ -2728,7 +2726,7 @@ static const device_config_t banshee_sdram_config[] =
},
#endif
{
.type = -1
.type = CONFIG_END
}
};
// clang-format on
@@ -2954,123 +2952,114 @@ static void banshee_force_redraw(void *p)
banshee->svga.fullchange = changeframecount;
}
const device_t voodoo_banshee_device =
{
"3dfx Voodoo Banshee",
"voodoo_banshee_pci",
DEVICE_PCI,
0,
banshee_init,
banshee_close,
NULL,
{ banshee_available },
banshee_speed_changed,
banshee_force_redraw,
banshee_sgram_config
const device_t voodoo_banshee_device = {
.name = "3dfx Voodoo Banshee",
.internal_name = "voodoo_banshee_pci",
.flags = DEVICE_PCI,
.local = 0,
.init = banshee_init,
.close = banshee_close,
.reset = NULL,
{ .available = banshee_available },
.speed_changed = banshee_speed_changed,
.force_redraw = banshee_force_redraw,
banshee_sgram_config
};
const device_t creative_voodoo_banshee_device =
{
"Creative 3D Blaster Banshee",
"ctl3d_banshee_pci",
DEVICE_PCI,
0,
creative_banshee_init,
banshee_close,
NULL,
{ creative_banshee_available },
banshee_speed_changed,
banshee_force_redraw,
banshee_sdram_config
const device_t creative_voodoo_banshee_device = {
.name = "Creative 3D Blaster Banshee",
.internal_name = "ctl3d_banshee_pci",
.flags = DEVICE_PCI,
.local = 0,
.init = creative_banshee_init,
.close = banshee_close,
.reset = NULL,
{ .available = creative_banshee_available },
.speed_changed = banshee_speed_changed,
.force_redraw = banshee_force_redraw,
banshee_sdram_config
};
const device_t voodoo_3_2000_device =
{
"3dfx Voodoo3 2000",
"voodoo3_2k_pci",
DEVICE_PCI,
0,
v3_2000_init,
banshee_close,
NULL,
{ v3_2000_available },
banshee_speed_changed,
banshee_force_redraw,
banshee_sdram_config
const device_t voodoo_3_2000_device = {
.name = "3dfx Voodoo3 2000",
.internal_name = "voodoo3_2k_pci",
.flags = DEVICE_PCI,
.local = 0,
.init = v3_2000_init,
.close = banshee_close,
.reset = NULL,
{ .available = v3_2000_available },
.speed_changed = banshee_speed_changed,
.force_redraw = banshee_force_redraw,
banshee_sdram_config
};
const device_t voodoo_3_2000_agp_device =
{
"3dfx Voodoo3 2000",
"voodoo3_2k_agp",
DEVICE_AGP,
0,
v3_2000_agp_init,
banshee_close,
NULL,
{ v3_2000_agp_available },
banshee_speed_changed,
banshee_force_redraw,
banshee_sdram_config
const device_t voodoo_3_2000_agp_device = {
.name = "3dfx Voodoo3 2000",
.internal_name = "voodoo3_2k_agp",
.flags = DEVICE_AGP,
.local = 0,
.init = v3_2000_agp_init,
.close = banshee_close,
.reset = NULL,
{ .available = v3_2000_agp_available },
.speed_changed = banshee_speed_changed,
.force_redraw = banshee_force_redraw,
banshee_sdram_config
};
const device_t voodoo_3_2000_agp_onboard_8m_device =
{
"3dfx Voodoo3 2000 (On-Board 8MB SGRAM)",
"voodoo3_2k_agp_onboard_8m",
DEVICE_AGP,
8,
v3_2000_agp_onboard_init,
banshee_close,
NULL,
{ NULL },
banshee_speed_changed,
banshee_force_redraw,
banshee_sdram_config
const device_t voodoo_3_2000_agp_onboard_8m_device = {
.name = "3dfx Voodoo3 2000 (On-Board 8MB SGRAM)",
.internal_name = "voodoo3_2k_agp_onboard_8m",
.flags = DEVICE_AGP,
.local = 8,
.init = v3_2000_agp_onboard_init,
.close = banshee_close,
.reset = NULL,
{ .available = NULL },
.speed_changed = banshee_speed_changed,
.force_redraw = banshee_force_redraw,
banshee_sdram_config
};
const device_t voodoo_3_3000_device =
{
"3dfx Voodoo3 3000",
"voodoo3_3k_pci",
DEVICE_PCI,
0,
v3_3000_init,
banshee_close,
NULL,
{ v3_3000_available },
banshee_speed_changed,
banshee_force_redraw,
banshee_sdram_config
const device_t voodoo_3_3000_device = {
.name = "3dfx Voodoo3 3000",
.internal_name = "voodoo3_3k_pci",
.flags = DEVICE_PCI,
.local = 0,
.init = v3_3000_init,
.close = banshee_close,
.reset = NULL,
{ .available = v3_3000_available },
.speed_changed = banshee_speed_changed,
.force_redraw = banshee_force_redraw,
banshee_sdram_config
};
const device_t voodoo_3_3000_agp_device =
{
"3dfx Voodoo3 3000",
"voodoo3_3k_agp",
DEVICE_AGP,
0,
v3_3000_agp_init,
banshee_close,
NULL,
{ v3_3000_agp_available },
banshee_speed_changed,
banshee_force_redraw,
banshee_sdram_config
const device_t voodoo_3_3000_agp_device = {
.name = "3dfx Voodoo3 3000",
.internal_name = "voodoo3_3k_agp",
.flags = DEVICE_AGP,
.local = 0,
.init = v3_3000_agp_init,
.close = banshee_close,
.reset = NULL,
{ .available = v3_3000_agp_available },
.speed_changed = banshee_speed_changed,
.force_redraw = banshee_force_redraw,
banshee_sdram_config
};
const device_t velocity_100_agp_device =
{
"3dfx Velocity 100",
"velocity100_agp",
DEVICE_AGP,
0,
velocity_100_agp_init,
banshee_close,
NULL,
{ velocity_100_available },
banshee_speed_changed,
banshee_force_redraw,
banshee_sdram_config
const device_t velocity_100_agp_device = {
.name = "3dfx Velocity 100",
.internal_name = "velocity100_agp",
.flags = DEVICE_AGP,
.local = 0,
.init = velocity_100_agp_init,
.close = banshee_close,
.reset = NULL,
{ .available = velocity_100_available },
.speed_changed = banshee_speed_changed,
.force_redraw = banshee_force_redraw,
banshee_sdram_config
};

View File

@@ -81,7 +81,7 @@ deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
(char *) config->name, config->default_int);
c = 0;
while (selection->description && selection->description[0]) {
while (selection && selection->description && selection->description[0]) {
mbstowcs(lptsTemp, selection->description,
strlen(selection->description) + 1);
SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)lptsTemp);
@@ -146,7 +146,7 @@ deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
(char *) config->name, config->default_int);
c = 0;
while (selection->description && selection->description[0]) {
while (selection && selection->description && selection->description[0]) {
mbstowcs(lptsTemp, selection->description,
strlen(selection->description) + 1);
SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)lptsTemp);
@@ -163,7 +163,7 @@ deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
(char *) config->name, config->default_int);
c = 0;
while (selection->description && selection->description[0]) {
while (selection && selection->description && selection->description[0]) {
mbstowcs(lptsTemp, selection->description,
strlen(selection->description) + 1);
SendMessage(h, CB_ADDSTRING, 0, (LPARAM)(LPCSTR)lptsTemp);
@@ -391,6 +391,8 @@ deviceconfig_dlgproc(HWND hdlg, UINT message, WPARAM wParam, LPARAM lParam)
id++;
break;
case CONFIG_SELECTION:
case CONFIG_HEX16:
case CONFIG_HEX20:
case CONFIG_MIDI_OUT:
case CONFIG_MIDI_IN:
case CONFIG_SPINNER: