Flesh out Intel AboveBoard

This commit is contained in:
Jasmine Iwanek
2022-01-15 19:04:05 -05:00
parent e7a8e4bf23
commit 36695f0487

View File

@@ -92,6 +92,7 @@
#define ISAMEM_EMS5150_CARD 6
#define ISAMEM_EV159_CARD 10
#define ISAMEM_RAMPAGEXT_CARD 11
#define ISAMEM_ABOVEBOARD_CARD 12
#define ISAMEM_DEBUG 0
@@ -447,6 +448,7 @@ dev->frame_addr = 0xE0000;
break;
case ISAMEM_RAMPAGEXT_CARD: /* AST RAMpage/XT */
case ISAMEM_ABOVEBOARD_CARD: /* Intel AboveBoard */
dev->base_addr = device_get_config_hex16("base");
dev->total_size = device_get_config_int("size");
dev->start_addr = device_get_config_int("start");
@@ -1053,6 +1055,108 @@ static const device_t isamem_rampage_device = {
#endif
#ifdef USE_ISAMEM_IAB
static const device_config_t iab_config[] =
{
{
"base", "Address", CONFIG_HEX16, "", 0x0258, "", { 0 },
{
{
"208H", 0x0208
},
{
"218H", 0x0218
},
{
"258H", 0x0258
},
{
"268H", 0x0268
},
{
"2A8H", 0x02A8
},
{
"2B8H", 0x02B8
},
{
"2E8H", 0x02E8
},
{
""
}
},
},
{
"frame", "Frame Address", CONFIG_HEX20, "", 0, "", { 0 },
{
{
"Disabled", 0x00000
},
{
"C000H", 0xC0000
},
{
"D000H", 0xD0000
},
{
"E000H", 0xE0000
},
{
""
}
},
},
{
"width", "I/O Width", CONFIG_SELECTION, "", 8, "", { 0 },
{
{
"8-bit", 8
},
{
"16-bit", 16
},
{
""
}
},
},
{
"speed", "Transfer Speed", CONFIG_SELECTION, "", 0, "", { 0 },
{
{
"Standard", 0
},
{
"High-Speed", 1
},
{
""
}
}
},
{
"size", "Memory Size", CONFIG_SPINNER, "", 128,
"",
{ 0, 8192, 128 },
{ 0 }
},
{
"", "", -1
}
};
static const device_t isamem_iab_device = {
"Intel AboveBoard",
DEVICE_ISA,
ISAMEM_ABOVEBOARD_CARD,
isamem_init, isamem_close, NULL,
{ NULL }, NULL, NULL,
iab_config
};
#endif
static const struct {
const char *internal_name;
const device_t *dev;