Add microsoft RAMCard & SystemCard to ISAMem
This commit is contained in:
@@ -88,11 +88,13 @@
|
|||||||
|
|
||||||
#define ISAMEM_IBMXT_CARD 0
|
#define ISAMEM_IBMXT_CARD 0
|
||||||
#define ISAMEM_GENXT_CARD 1
|
#define ISAMEM_GENXT_CARD 1
|
||||||
#define ISAMEM_IBMAT_CARD 2
|
#define ISAMEM_RAMCARD_CARD 2
|
||||||
#define ISAMEM_GENAT_CARD 3
|
#define ISAMEM_SYSTEMCARD_CARD 3
|
||||||
#define ISAMEM_P5PAK_CARD 4
|
#define ISAMEM_IBMAT_CARD 4
|
||||||
#define ISAMEM_A6PAK_CARD 5
|
#define ISAMEM_GENAT_CARD 5
|
||||||
#define ISAMEM_EMS5150_CARD 6
|
#define ISAMEM_P5PAK_CARD 6
|
||||||
|
#define ISAMEM_A6PAK_CARD 7
|
||||||
|
#define ISAMEM_EMS5150_CARD 8
|
||||||
#define ISAMEM_EV159_CARD 10
|
#define ISAMEM_EV159_CARD 10
|
||||||
#define ISAMEM_RAMPAGEXT_CARD 11
|
#define ISAMEM_RAMPAGEXT_CARD 11
|
||||||
#define ISAMEM_ABOVEBOARD_CARD 12
|
#define ISAMEM_ABOVEBOARD_CARD 12
|
||||||
@@ -416,6 +418,8 @@ isamem_init(const device_t *info)
|
|||||||
switch(dev->board) {
|
switch(dev->board) {
|
||||||
case ISAMEM_IBMXT_CARD: /* IBM PC/XT Memory Expansion Card */
|
case ISAMEM_IBMXT_CARD: /* IBM PC/XT Memory Expansion Card */
|
||||||
case ISAMEM_GENXT_CARD: /* Generic PC/XT Memory Expansion Card */
|
case ISAMEM_GENXT_CARD: /* Generic PC/XT Memory Expansion Card */
|
||||||
|
case ISAMEM_RAMCARD_CARD: /* Microsoft RAMCard for IBM PC */
|
||||||
|
case ISAMEM_SYSTEMCARD_CARD: /* Microsoft SystemCard */
|
||||||
case ISAMEM_P5PAK_CARD: /* Paradise Systems 5-PAK */
|
case ISAMEM_P5PAK_CARD: /* Paradise Systems 5-PAK */
|
||||||
case ISAMEM_A6PAK_CARD: /* AST SixPakPlus */
|
case ISAMEM_A6PAK_CARD: /* AST SixPakPlus */
|
||||||
dev->total_size = device_get_config_int("size");
|
dev->total_size = device_get_config_int("size");
|
||||||
@@ -736,6 +740,66 @@ static const device_t genericxt_device = {
|
|||||||
.config = genericxt_config
|
.config = genericxt_config
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static const device_config_t msramcard_config[] = {
|
||||||
|
// clang-format off
|
||||||
|
{
|
||||||
|
"size", "Memory Size", CONFIG_SPINNER, "", 64, "",
|
||||||
|
{ 0, 256, 64 },
|
||||||
|
{ { 0 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"start", "Start Address", CONFIG_SPINNER, "", 0, "",
|
||||||
|
{ 0, 624, 64 },
|
||||||
|
{ { 0 } }
|
||||||
|
},
|
||||||
|
{ "", "", -1 }
|
||||||
|
// clang-format on
|
||||||
|
};
|
||||||
|
|
||||||
|
static const device_t msramcard_device = {
|
||||||
|
.name = "Microsoft RAMCard for IBM PC",
|
||||||
|
.internal_name = "msramcard",
|
||||||
|
.flags = DEVICE_ISA,
|
||||||
|
.local = ISAMEM_RAMCARD_CARD,
|
||||||
|
.init = isamem_init,
|
||||||
|
.close = isamem_close,
|
||||||
|
.reset = NULL,
|
||||||
|
{ .available = NULL },
|
||||||
|
.speed_changed = NULL,
|
||||||
|
.force_redraw = NULL,
|
||||||
|
.config = msramcard_config
|
||||||
|
};
|
||||||
|
|
||||||
|
static const device_config_t mssystemcard_config[] = {
|
||||||
|
// clang-format off
|
||||||
|
{
|
||||||
|
"size", "Memory Size", CONFIG_SPINNER, "", 64, "",
|
||||||
|
{ 0, 256, 64 },
|
||||||
|
{ { 0 } }
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"start", "Start Address", CONFIG_SPINNER, "", 0, "",
|
||||||
|
{ 0, 624, 64 },
|
||||||
|
{ { 0 } }
|
||||||
|
},
|
||||||
|
{ "", "", -1 }
|
||||||
|
// clang-format on
|
||||||
|
};
|
||||||
|
|
||||||
|
static const device_t mssystemcard_device = {
|
||||||
|
.name = "Microsoft SystemCard",
|
||||||
|
.internal_name = "mssystemcard",
|
||||||
|
.flags = DEVICE_ISA,
|
||||||
|
.local = ISAMEM_SYSTEMCARD_CARD,
|
||||||
|
.init = isamem_init,
|
||||||
|
.close = isamem_close,
|
||||||
|
.reset = NULL,
|
||||||
|
{ .available = NULL },
|
||||||
|
.speed_changed = NULL,
|
||||||
|
.force_redraw = NULL,
|
||||||
|
.config = mssystemcard_config
|
||||||
|
};
|
||||||
|
|
||||||
static const device_config_t ibmat_config[] = {
|
static const device_config_t ibmat_config[] = {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
{
|
{
|
||||||
@@ -1178,25 +1242,27 @@ static const struct {
|
|||||||
const device_t *dev;
|
const device_t *dev;
|
||||||
} boards[] = {
|
} boards[] = {
|
||||||
// clang-format off
|
// clang-format off
|
||||||
{ &isa_none_device },
|
{ &isa_none_device },
|
||||||
{ &ibmxt_device },
|
{ &ibmxt_device },
|
||||||
{ &genericxt_device },
|
{ &genericxt_device },
|
||||||
{ &ibmat_device },
|
{ &msramcard_device },
|
||||||
{ &genericat_device },
|
{ &mssystemcard_device },
|
||||||
{ &p5pak_device },
|
{ &ibmat_device },
|
||||||
{ &a6pak_device },
|
{ &genericat_device },
|
||||||
{ &ems5150_device },
|
{ &p5pak_device },
|
||||||
{ &ev159_device },
|
{ &a6pak_device },
|
||||||
|
{ &ems5150_device },
|
||||||
|
{ &ev159_device },
|
||||||
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_BRAT)
|
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_BRAT)
|
||||||
{ &brat_device },
|
{ &brat_device },
|
||||||
#endif
|
#endif
|
||||||
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_RAMPAGE)
|
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_RAMPAGE)
|
||||||
{ &rampage_device },
|
{ &rampage_device },
|
||||||
#endif
|
#endif
|
||||||
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_IAB)
|
#if defined(DEV_BRANCH) && defined(USE_ISAMEM_IAB)
|
||||||
{ &iab_device },
|
{ &iab_device },
|
||||||
#endif
|
#endif
|
||||||
{ NULL }
|
{ NULL }
|
||||||
// clang-format on
|
// clang-format on
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user