From a206a2ee544e5aaaa290d65c0305a05ba75e01e3 Mon Sep 17 00:00:00 2001 From: Jasmine Iwanek Date: Thu, 6 Jun 2024 23:52:21 -0400 Subject: [PATCH] Add IBM PC/XT 64K Memory Expansion Option --- src/device/isamem.c | 49 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/src/device/isamem.c b/src/device/isamem.c index 74f984416..04f04eef7 100644 --- a/src/device/isamem.c +++ b/src/device/isamem.c @@ -899,6 +899,54 @@ static const device_t ibmxt_32k_device = { .config = ibmxt_32k_config }; +static const device_config_t ibmxt_64k_config[] = { + // clang-format off + { + .name = "size", + .description = "Memory Size", + .type = CONFIG_SPINNER, + .default_string = "", + .default_int = 64, + .file_filter = "", + .spinner = { + .min = 64, + .max = 576, + .step = 64 + }, + .selection = { { 0 } } + }, + { + .name = "start", + .description = "Start Address", + .type = CONFIG_SPINNER, + .default_string = "", + .default_int = 64, + .file_filter = "", + .spinner = { + .min = 0, + .max = 576, + .step = 64 + }, + .selection = { { 0 } } + }, + { .name = "", .description = "", .type = CONFIG_END } + // clang-format on +}; + +static const device_t ibmxt_64k_device = { + .name = "IBM PC/XT 64K Memory Expansion Option", + .internal_name = "ibmxt_64k", + .flags = DEVICE_ISA, + .local = ISAMEM_IBMXT_CARD, + .init = isamem_init, + .close = isamem_close, + .reset = NULL, + { .available = NULL }, + .speed_changed = NULL, + .force_redraw = NULL, + .config = ibmxt_64k_config +}; + static const device_config_t ibmxt_config[] = { // clang-format off { @@ -2011,6 +2059,7 @@ static const struct { { &isa_none_device }, // XT Ram Expansion Cards { &ibmxt_32k_device }, + { &ibmxt_64k_device }, { &ibmxt_device }, { &genericxt_device }, { &msramcard_device },