mirror of
https://github.com/86Box/86Box.git
synced 2026-02-22 01:25:33 -07:00
Align array entries in machine table and format machines (#6254)
This commit is contained in:
@@ -75,14 +75,14 @@
|
||||
#include <86box/m_amstrad.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
#define STAT_PARITY 0x80
|
||||
#define STAT_RTIMEOUT 0x40
|
||||
#define STAT_TTIMEOUT 0x20
|
||||
#define STAT_LOCK 0x10
|
||||
#define STAT_CD 0x08
|
||||
#define STAT_SYSFLAG 0x04
|
||||
#define STAT_IFULL 0x02
|
||||
#define STAT_OFULL 0x01
|
||||
#define STAT_PARITY 0x80
|
||||
#define STAT_RTIMEOUT 0x40
|
||||
#define STAT_TTIMEOUT 0x20
|
||||
#define STAT_LOCK 0x10
|
||||
#define STAT_CD 0x08
|
||||
#define STAT_SYSFLAG 0x04
|
||||
#define STAT_IFULL 0x02
|
||||
#define STAT_OFULL 0x01
|
||||
|
||||
#define DOUBLE_NONE 0
|
||||
#define DOUBLE_SIMPLE 1
|
||||
@@ -90,17 +90,17 @@
|
||||
#define DOUBLE_INTERPOLATE_LINEAR 3
|
||||
|
||||
typedef struct amsvid_t {
|
||||
rom_t bios_rom; /* 1640 */
|
||||
cga_t cga; /* 1640/200 */
|
||||
mda_t mda; /* 1512/200/PPC512/640*/
|
||||
ega_t ega; /* 1640 */
|
||||
uint8_t emulation; /* Which display are we emulating? */
|
||||
uint8_t dipswitches; /* DIP switches 1-3 */
|
||||
uint8_t crtc_index; /* CRTC index readback
|
||||
* Bit 7: CGA control port written
|
||||
* Bit 6: Operation control port written
|
||||
* Bit 5: CRTC register written
|
||||
* Bits 0-4: Last CRTC register selected */
|
||||
rom_t bios_rom; /* 1640 */
|
||||
cga_t cga; /* 1640/200 */
|
||||
mda_t mda; /* 1512/200/PPC512/640*/
|
||||
ega_t ega; /* 1640 */
|
||||
uint8_t emulation; /* Which display are we emulating? */
|
||||
uint8_t dipswitches; /* DIP switches 1-3 */
|
||||
uint8_t crtc_index; /* CRTC index readback
|
||||
* Bit 7: CGA control port written
|
||||
* Bit 6: Operation control port written
|
||||
* Bit 5: CRTC register written
|
||||
* Bits 0-4: Last CRTC register selected */
|
||||
uint8_t operation_ctrl;
|
||||
uint8_t reg_3df;
|
||||
uint8_t type;
|
||||
@@ -161,8 +161,8 @@ typedef struct amstrad_t {
|
||||
/* Video stuff. */
|
||||
amsvid_t *vid;
|
||||
|
||||
fdc_t *fdc;
|
||||
lpt_t *lpt;
|
||||
fdc_t *fdc;
|
||||
lpt_t *lpt;
|
||||
} amstrad_t;
|
||||
|
||||
uint32_t amstrad_latch;
|
||||
@@ -345,20 +345,18 @@ vid_read_1512(uint32_t addr, void *priv)
|
||||
static void
|
||||
ams1512_render(amsvid_t *vid, int line)
|
||||
{
|
||||
uint16_t cursoraddr = (vid->crtc[15] | (vid->crtc[14] << 8)) & 0x3fff;
|
||||
int drawcursor;
|
||||
int x;
|
||||
int c;
|
||||
uint8_t chr;
|
||||
uint8_t attr;
|
||||
uint16_t dat;
|
||||
uint16_t dat2;
|
||||
uint16_t dat3;
|
||||
uint16_t dat4;
|
||||
int cols[4];
|
||||
int col;
|
||||
uint16_t cursoraddr = (vid->crtc[15] | (vid->crtc[14] << 8)) & 0x3fff;
|
||||
int drawcursor;
|
||||
uint8_t chr;
|
||||
uint8_t attr;
|
||||
uint16_t dat;
|
||||
uint16_t dat2;
|
||||
uint16_t dat3;
|
||||
uint16_t dat4;
|
||||
int cols[4];
|
||||
int col;
|
||||
|
||||
for (c = 0; c < 8; c++) {
|
||||
for (uint8_t c = 0; c < 8; c++) {
|
||||
if ((vid->cgamode & 0x12) == 0x12) {
|
||||
buffer32->line[line][c] = buffer32->line[(line) + 1][c] = (vid->border & 15) + 16;
|
||||
if (vid->cgamode & CGA_MODE_FLAG_HIGHRES) {
|
||||
@@ -376,10 +374,10 @@ ams1512_render(amsvid_t *vid, int line)
|
||||
}
|
||||
}
|
||||
if (vid->cgamode & CGA_MODE_FLAG_HIGHRES) {
|
||||
for (x = 0; x < 80; x++) {
|
||||
chr = vid->vram[(vid->memaddr<< 1) & 0x3fff];
|
||||
attr = vid->vram[((vid->memaddr<< 1) + 1) & 0x3fff];
|
||||
drawcursor = ((vid->memaddr== cursoraddr) && vid->cursorvisible && vid->cursoron);
|
||||
for (uint8_t x = 0; x < 80; x++) {
|
||||
chr = vid->vram[(vid->memaddr << 1) & 0x3fff];
|
||||
attr = vid->vram[((vid->memaddr << 1) + 1) & 0x3fff];
|
||||
drawcursor = ((vid->memaddr == cursoraddr) && vid->cursorvisible && vid->cursoron);
|
||||
if (vid->cgamode & CGA_MODE_FLAG_BLINK) {
|
||||
cols[1] = (attr & 15) + 16;
|
||||
cols[0] = ((attr >> 4) & 7) + 16;
|
||||
@@ -390,21 +388,21 @@ ams1512_render(amsvid_t *vid, int line)
|
||||
cols[0] = (attr >> 4) + 16;
|
||||
}
|
||||
if (drawcursor)
|
||||
for (c = 0; c < 8; c++)
|
||||
for (uint8_t c = 0; c < 8; c++)
|
||||
buffer32->line[line][(x << 3) + c + 8] =
|
||||
cols[(fontdat[vid->fontbase + chr][vid->scanline & 7] & (1 << (c ^ 7))) ? 1 : 0] ^ 15;
|
||||
else
|
||||
for (c = 0; c < 8; c++)
|
||||
for (uint8_t c = 0; c < 8; c++)
|
||||
buffer32->line[line][(x << 3) + c + 8] =
|
||||
cols[(fontdat[vid->fontbase + chr][vid->scanline & 7] & (1 << (c ^ 7))) ? 1 : 0];
|
||||
vid->memaddr++;
|
||||
}
|
||||
} else if (!(vid->cgamode & CGA_MODE_FLAG_GRAPHICS)) {
|
||||
for (x = 0; x < 40; x++) {
|
||||
chr = vid->vram[(vid->memaddr<< 1) & 0x3fff];
|
||||
attr = vid->vram[((vid->memaddr<< 1) + 1) & 0x3fff];
|
||||
drawcursor = ((vid->memaddr == cursoraddr) && vid->cursorvisible && vid->cursoron);
|
||||
|
||||
for (uint8_t x = 0; x < 40; x++) {
|
||||
chr = vid->vram[(vid->memaddr << 1) & 0x3fff];
|
||||
attr = vid->vram[((vid->memaddr << 1) + 1) & 0x3fff];
|
||||
drawcursor = ((vid->memaddr == cursoraddr) && vid->cursorvisible && vid->cursoron);
|
||||
|
||||
if (vid->cgamode & CGA_MODE_FLAG_BLINK) {
|
||||
cols[1] = (attr & 15) + 16;
|
||||
cols[0] = ((attr >> 4) & 7) + 16;
|
||||
@@ -416,12 +414,12 @@ ams1512_render(amsvid_t *vid, int line)
|
||||
}
|
||||
vid->memaddr++;
|
||||
if (drawcursor)
|
||||
for (c = 0; c < 8; c++)
|
||||
for (uint8_t c = 0; c < 8; c++)
|
||||
buffer32->line[line][(x << 4) + (c << 1) + 8] =
|
||||
buffer32->line[line][(x << 4) + (c << 1) + 1 + 8] =
|
||||
cols[(fontdat[vid->fontbase + chr][vid->scanline & 7] & (1 << (c ^ 7))) ? 1 : 0] ^ 15;
|
||||
else
|
||||
for (c = 0; c < 8; c++)
|
||||
for (uint8_t c = 0; c < 8; c++)
|
||||
buffer32->line[line][(x << 4) + (c << 1) + 8] =
|
||||
buffer32->line[line][(x << 4) + (c << 1) + 1 + 8] =
|
||||
cols[(fontdat[vid->fontbase + chr][vid->scanline & 7] & (1 << (c ^ 7))) ? 1 : 0];
|
||||
@@ -442,26 +440,26 @@ ams1512_render(amsvid_t *vid, int line)
|
||||
cols[2] = col | 4;
|
||||
cols[3] = col | 6;
|
||||
}
|
||||
for (x = 0; x < 40; x++) {
|
||||
for (uint8_t x = 0; x < 40; x++) {
|
||||
dat = (vid->vram[((vid->memaddr<< 1) & 0x1fff) + ((vid->scanline & 1) * 0x2000)] << 8) |
|
||||
vid->vram[((vid->memaddr<< 1) & 0x1fff) + ((vid->scanline & 1) * 0x2000) + 1];
|
||||
vid->memaddr++;
|
||||
for (c = 0; c < 8; c++) {
|
||||
for (uint8_t c = 0; c < 8; c++) {
|
||||
buffer32->line[line][(x << 4) + (c << 1) + 8] =
|
||||
buffer32->line[line][(x << 4) + (c << 1) + 1 + 8] = cols[dat >> 14];
|
||||
dat <<= 2;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (x = 0; x < 40; x++) {
|
||||
cursoraddr = ((vid->memaddr<< 1) & 0x1fff) + ((vid->scanline & 1) * 0x2000);
|
||||
dat = (vid->vram[cursoraddr] << 8) | vid->vram[cursoraddr + 1];
|
||||
dat2 = (vid->vram[cursoraddr + 0x4000] << 8) | vid->vram[cursoraddr + 0x4001];
|
||||
dat3 = (vid->vram[cursoraddr + 0x8000] << 8) | vid->vram[cursoraddr + 0x8001];
|
||||
dat4 = (vid->vram[cursoraddr + 0xc000] << 8) | vid->vram[cursoraddr + 0xc001];
|
||||
for (uint8_t x = 0; x < 40; x++) {
|
||||
cursoraddr = ((vid->memaddr << 1) & 0x1fff) + ((vid->scanline & 1) * 0x2000);
|
||||
dat = (vid->vram[cursoraddr] << 8) | vid->vram[cursoraddr + 1];
|
||||
dat2 = (vid->vram[cursoraddr + 0x4000] << 8) | vid->vram[cursoraddr + 0x4001];
|
||||
dat3 = (vid->vram[cursoraddr + 0x8000] << 8) | vid->vram[cursoraddr + 0x8001];
|
||||
dat4 = (vid->vram[cursoraddr + 0xc000] << 8) | vid->vram[cursoraddr + 0xc001];
|
||||
|
||||
vid->memaddr++;
|
||||
for (c = 0; c < 16; c++) {
|
||||
for (uint8_t c = 0; c < 16; c++) {
|
||||
buffer32->line[line][(x << 4) + c + 8] = (((dat >> 15) | ((dat2 >> 15) << 1) |
|
||||
((dat3 >> 15) << 2) | ((dat4 >> 15) << 3)) & (vid->cgacol & 15)) + 16;
|
||||
dat <<= 1;
|
||||
@@ -498,7 +496,7 @@ vid_poll_1512(void *priv)
|
||||
timer_advance_u64(&vid->timer, vid->dispofftime);
|
||||
vid->status |= 1;
|
||||
vid->linepos = 1;
|
||||
scanline_old = vid->scanline;
|
||||
scanline_old = vid->scanline;
|
||||
if (vid->dispon) {
|
||||
if (vid->displine < vid->firstline) {
|
||||
vid->firstline = vid->displine;
|
||||
@@ -520,18 +518,19 @@ vid_poll_1512(void *priv)
|
||||
ams1512_render(vid, (vid->displine << 1) + 1);
|
||||
break;
|
||||
}
|
||||
} else switch (vid->double_type) {
|
||||
default:
|
||||
ams1512_render_blank(vid, vid->displine << 1);
|
||||
break;
|
||||
case DOUBLE_NONE:
|
||||
ams1512_render_blank(vid, vid->displine);
|
||||
break;
|
||||
case DOUBLE_SIMPLE:
|
||||
ams1512_render_blank(vid, vid->displine << 1);
|
||||
ams1512_render_blank(vid, (vid->displine << 1) + 1);
|
||||
break;
|
||||
}
|
||||
} else
|
||||
switch (vid->double_type) {
|
||||
default:
|
||||
ams1512_render_blank(vid, vid->displine << 1);
|
||||
break;
|
||||
case DOUBLE_NONE:
|
||||
ams1512_render_blank(vid, vid->displine);
|
||||
break;
|
||||
case DOUBLE_SIMPLE:
|
||||
ams1512_render_blank(vid, vid->displine << 1);
|
||||
ams1512_render_blank(vid, (vid->displine << 1) + 1);
|
||||
break;
|
||||
}
|
||||
|
||||
if (vid->cgamode & CGA_MODE_FLAG_HIGHRES)
|
||||
x = (vid->crtc[1] << 3) + 16;
|
||||
@@ -567,21 +566,21 @@ vid_poll_1512(void *priv)
|
||||
vid->status &= ~8;
|
||||
}
|
||||
if (vid->scanline == (vid->crtc[11] & 31)) {
|
||||
vid->cursorvisible = 0;
|
||||
vid->cursorvisible = 0;
|
||||
}
|
||||
if (vid->vadj) {
|
||||
vid->scanline++;
|
||||
vid->scanline &= 31;
|
||||
vid->memaddr= vid->memaddr_backup;
|
||||
vid->memaddr = vid->memaddr_backup;
|
||||
vid->vadj--;
|
||||
if (!vid->vadj) {
|
||||
vid->dispon = 1;
|
||||
vid->memaddr= vid->memaddr_backup = (vid->crtc[13] | (vid->crtc[12] << 8)) & 0x3fff;
|
||||
vid->scanline = 0;
|
||||
vid->dispon = 1;
|
||||
vid->memaddr = vid->memaddr_backup = (vid->crtc[13] | (vid->crtc[12] << 8)) & 0x3fff;
|
||||
vid->scanline = 0;
|
||||
}
|
||||
} else if (vid->scanline == vid->crtc[9]) {
|
||||
vid->memaddr_backup = vid->memaddr;
|
||||
vid->scanline = 0;
|
||||
vid->scanline = 0;
|
||||
vid->vc++;
|
||||
vid->vc &= 127;
|
||||
|
||||
@@ -652,7 +651,7 @@ vid_poll_1512(void *priv)
|
||||
} else {
|
||||
vid->scanline++;
|
||||
vid->scanline &= 31;
|
||||
vid->memaddr= vid->memaddr_backup;
|
||||
vid->memaddr = vid->memaddr_backup;
|
||||
}
|
||||
if (vid->scanline == (vid->crtc[10] & 31))
|
||||
vid->cursorvisible = 1;
|
||||
@@ -662,10 +661,8 @@ vid_poll_1512(void *priv)
|
||||
static void
|
||||
vid_init_1512(amstrad_t *ams)
|
||||
{
|
||||
amsvid_t *vid;
|
||||
|
||||
/* Allocate a video controller block. */
|
||||
vid = (amsvid_t *) calloc(1, sizeof(amsvid_t));
|
||||
amsvid_t *vid = (amsvid_t *) calloc(1, sizeof(amsvid_t));
|
||||
|
||||
video_inform(VIDEO_FLAG_TYPE_CGA, &timing_pc1512);
|
||||
|
||||
@@ -712,20 +709,21 @@ vid_speed_change_1512(void *priv)
|
||||
}
|
||||
|
||||
const device_config_t vid_1512_config[] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{
|
||||
.name = "display_type",
|
||||
.description = "Display type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "display_type",
|
||||
.description = "Display type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "PC-CM (Colour)", .value = 0 },
|
||||
{ .description = "PC-MM (Monochrome)", .value = 3 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "double_type",
|
||||
@@ -745,29 +743,30 @@ const device_config_t vid_1512_config[] = {
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "codepage",
|
||||
.description = "Hardware font",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 3,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "codepage",
|
||||
.description = "Hardware font",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 3,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "US English", .value = 3 },
|
||||
{ .description = "Danish", .value = 1 },
|
||||
{ .description = "Greek", .value = 0 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 7,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 7,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "English", .value = 7 },
|
||||
{ .description = "German", .value = 6 },
|
||||
{ .description = "French", .value = 5 },
|
||||
@@ -777,10 +776,11 @@ const device_config_t vid_1512_config[] = {
|
||||
{ .description = "Italian", .value = 1 },
|
||||
{ .description = "Diagnostic mode", .value = 0 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t vid_1512_device = {
|
||||
@@ -915,7 +915,7 @@ vid_init_1640(amstrad_t *ams)
|
||||
cga_palette = 0;
|
||||
cgapal_rebuild();
|
||||
|
||||
vid->double_type = device_get_config_int("double_type");
|
||||
vid->double_type = device_get_config_int("double_type");
|
||||
vid->cga.double_type = device_get_config_int("double_type");
|
||||
cga_interpolate_init();
|
||||
|
||||
@@ -941,7 +941,7 @@ vid_speed_changed_1640(void *priv)
|
||||
}
|
||||
|
||||
const device_config_t vid_1640_config[] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{
|
||||
.name = "double_type",
|
||||
.description = "Line doubling type",
|
||||
@@ -960,14 +960,14 @@ const device_config_t vid_1640_config[] = {
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 7,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 7,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "English", .value = 7 },
|
||||
{ .description = "German", .value = 6 },
|
||||
{ .description = "French", .value = 5 },
|
||||
@@ -977,10 +977,11 @@ const device_config_t vid_1640_config[] = {
|
||||
{ .description = "Italian", .value = 1 },
|
||||
{ .description = "Diagnostic mode", .value = 0 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t vid_1640_device = {
|
||||
@@ -1357,8 +1358,8 @@ lcd_draw_char_40(amsvid_t *vid, uint32_t *buffer, uint8_t chr,
|
||||
static void
|
||||
lcdm_poll(amsvid_t *vid)
|
||||
{
|
||||
mda_t *mda = &vid->mda;
|
||||
uint16_t cursoraddr = (mda->crtc[MDA_CRTC_CURSOR_ADDR_LOW] | (mda->crtc[MDA_CRTC_CURSOR_ADDR_HIGH] << 8)) & 0x3fff;
|
||||
mda_t *mda = &vid->mda;
|
||||
uint16_t cursoraddr = (mda->crtc[MDA_CRTC_CURSOR_ADDR_LOW] | (mda->crtc[MDA_CRTC_CURSOR_ADDR_HIGH] << 8)) & 0x3fff;
|
||||
int drawcursor;
|
||||
int x;
|
||||
int oldvc;
|
||||
@@ -1371,7 +1372,7 @@ lcdm_poll(amsvid_t *vid)
|
||||
timer_advance_u64(&vid->timer, mda->dispofftime);
|
||||
mda->status |= 1;
|
||||
mda->linepos = 1;
|
||||
scanline_old = mda->scanline;
|
||||
scanline_old = mda->scanline;
|
||||
if ((mda->crtc[MDA_CRTC_INTERLACE] & 3) == 3)
|
||||
mda->scanline = (mda->scanline << 1) & 7;
|
||||
if (mda->dispon) {
|
||||
@@ -1379,9 +1380,9 @@ lcdm_poll(amsvid_t *vid)
|
||||
mda->firstline = mda->displine;
|
||||
mda->lastline = mda->displine;
|
||||
for (x = 0; x < mda->crtc[MDA_CRTC_HDISP]; x++) {
|
||||
chr = mda->vram[(mda->memaddr<< 1) & 0xfff];
|
||||
attr = mda->vram[((mda->memaddr<< 1) + 1) & 0xfff];
|
||||
drawcursor = ((mda->memaddr== cursoraddr) && mda->cursorvisible && mda->cursoron);
|
||||
chr = mda->vram[(mda->memaddr << 1) & 0xfff];
|
||||
attr = mda->vram[((mda->memaddr << 1) + 1) & 0xfff];
|
||||
drawcursor = ((mda->memaddr == cursoraddr) && mda->cursorvisible && mda->cursoron);
|
||||
blink = ((mda->blink & 16) && (mda->mode & MDA_MODE_BLINK) && (attr & 0x80) && !drawcursor);
|
||||
|
||||
lcd_draw_char_80(vid, &(buffer32->line[mda->displine])[x * 8], chr, attr, drawcursor, blink, mda->scanline, 0, mda->mode);
|
||||
@@ -1405,22 +1406,22 @@ lcdm_poll(amsvid_t *vid)
|
||||
mda->status &= ~8;
|
||||
}
|
||||
if (mda->scanline == (mda->crtc[MDA_CRTC_CURSOR_END] & 31) || ((mda->crtc[MDA_CRTC_INTERLACE] & 3) == 3 && mda->scanline == ((mda->crtc[MDA_CRTC_CURSOR_END] & 31) >> 1))) {
|
||||
mda->cursorvisible = 0;
|
||||
mda->cursorvisible = 0;
|
||||
}
|
||||
if (mda->vadj) {
|
||||
mda->scanline++;
|
||||
mda->scanline &= 31;
|
||||
mda->memaddr= mda->memaddr_backup;
|
||||
mda->memaddr = mda->memaddr_backup;
|
||||
mda->vadj--;
|
||||
if (!mda->vadj) {
|
||||
mda->dispon = 1;
|
||||
mda->memaddr= mda->memaddr_backup = (mda->crtc[MDA_CRTC_START_ADDR_LOW] | (mda->crtc[MDA_CRTC_START_ADDR_HIGH] << 8)) & 0x3fff;
|
||||
mda->scanline = 0;
|
||||
mda->dispon = 1;
|
||||
mda->memaddr = mda->memaddr_backup = (mda->crtc[MDA_CRTC_START_ADDR_LOW] | (mda->crtc[MDA_CRTC_START_ADDR_HIGH] << 8)) & 0x3fff;
|
||||
mda->scanline = 0;
|
||||
}
|
||||
} else if (mda->scanline == mda->crtc[MDA_CRTC_MAX_SCANLINE_ADDR] || ((mda->crtc[MDA_CRTC_INTERLACE] & 3) == 3 && mda->scanline == (mda->crtc[MDA_CRTC_MAX_SCANLINE_ADDR] >> 1))) {
|
||||
mda->memaddr_backup = mda->memaddr;
|
||||
mda->scanline = 0;
|
||||
oldvc = mda->vc;
|
||||
mda->scanline = 0;
|
||||
oldvc = mda->vc;
|
||||
mda->vc++;
|
||||
mda->vc &= 127;
|
||||
if (mda->vc == mda->crtc[MDA_CRTC_VDISP])
|
||||
@@ -1431,7 +1432,7 @@ lcdm_poll(amsvid_t *vid)
|
||||
if (!mda->vadj)
|
||||
mda->dispon = 1;
|
||||
if (!mda->vadj)
|
||||
mda->memaddr= mda->memaddr_backup = (mda->crtc[MDA_CRTC_START_ADDR_LOW] | (mda->crtc[MDA_CRTC_START_ADDR_HIGH] << 8)) & 0x3fff;
|
||||
mda->memaddr = mda->memaddr_backup = (mda->crtc[MDA_CRTC_START_ADDR_LOW] | (mda->crtc[MDA_CRTC_START_ADDR_HIGH] << 8)) & 0x3fff;
|
||||
if ((mda->crtc[MDA_CRTC_CURSOR_START] & 0x60) == 0x20)
|
||||
mda->cursoron = 0;
|
||||
else
|
||||
@@ -1469,7 +1470,7 @@ lcdm_poll(amsvid_t *vid)
|
||||
} else {
|
||||
mda->scanline++;
|
||||
mda->scanline &= 31;
|
||||
mda->memaddr= mda->memaddr_backup;
|
||||
mda->memaddr = mda->memaddr_backup;
|
||||
}
|
||||
if (mda->scanline == (mda->crtc[MDA_CRTC_CURSOR_START] & 31) || ((mda->crtc[MDA_CRTC_INTERLACE] & 3) == 3 && mda->scanline == ((mda->crtc[MDA_CRTC_CURSOR_START] & 31) >> 1)))
|
||||
mda->cursorvisible = 1;
|
||||
@@ -1498,7 +1499,7 @@ lcdc_poll(amsvid_t *vid)
|
||||
timer_advance_u64(&vid->timer, cga->dispofftime);
|
||||
cga->cgastat |= 1;
|
||||
cga->linepos = 1;
|
||||
scanline_old = cga->scanline;
|
||||
scanline_old = cga->scanline;
|
||||
if ((cga->crtc[CGA_CRTC_INTERLACE] & 3) == 3)
|
||||
cga->scanline = ((cga->scanline << 1) + cga->oddeven) & 7;
|
||||
if (cga->cgadispon) {
|
||||
@@ -1568,7 +1569,7 @@ lcdc_poll(amsvid_t *vid)
|
||||
cga->cgastat &= ~8;
|
||||
}
|
||||
if (cga->scanline == (cga->crtc[CGA_CRTC_CURSOR_END] & 31) || ((cga->crtc[CGA_CRTC_INTERLACE] & 3) == 3 && cga->scanline == ((cga->crtc[CGA_CRTC_CURSOR_END] & 31) >> 1))) {
|
||||
cga->cursorvisible = 0;
|
||||
cga->cursorvisible = 0;
|
||||
}
|
||||
if ((cga->crtc[CGA_CRTC_INTERLACE] & 3) == 3 && cga->scanline == (cga->crtc[CGA_CRTC_MAX_SCANLINE_ADDR] >> 1))
|
||||
cga->memaddr_backup = cga->memaddr;
|
||||
@@ -1580,12 +1581,12 @@ lcdc_poll(amsvid_t *vid)
|
||||
if (!cga->vadj) {
|
||||
cga->cgadispon = 1;
|
||||
cga->memaddr = cga->memaddr_backup = (cga->crtc[CGA_CRTC_START_ADDR_LOW] | (cga->crtc[CGA_CRTC_START_ADDR_HIGH] << 8)) & 0x3fff;
|
||||
cga->scanline = 0;
|
||||
cga->scanline = 0;
|
||||
}
|
||||
} else if (cga->scanline == cga->crtc[CGA_CRTC_MAX_SCANLINE_ADDR]) {
|
||||
cga->memaddr_backup = cga->memaddr;
|
||||
cga->scanline = 0;
|
||||
oldvc = cga->vc;
|
||||
cga->scanline = 0;
|
||||
oldvc = cga->vc;
|
||||
cga->vc++;
|
||||
cga->vc &= 127;
|
||||
|
||||
@@ -1828,68 +1829,71 @@ vid_close_200(void *priv)
|
||||
}
|
||||
|
||||
const device_config_t vid_200_config[] = {
|
||||
/* TODO: Should have options here for:
|
||||
*
|
||||
* > Display port (TTL or RF)
|
||||
*/
|
||||
// clang-format off
|
||||
/* TODO: Should have options here for:
|
||||
*
|
||||
* > Display port (TTL or RF)
|
||||
*/
|
||||
// clang-format off
|
||||
{
|
||||
.name = "video_emulation",
|
||||
.description = "Display type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = PC200_CGA,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "video_emulation",
|
||||
.description = "Display type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = PC200_CGA,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "CGA monitor", .value = PC200_CGA },
|
||||
{ .description = "MDA monitor", .value = PC200_MDA },
|
||||
{ .description = "Television", .value = PC200_TV },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "display_type",
|
||||
.description = "Monitor type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "display_type",
|
||||
.description = "Monitor type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "RGB", .value = 0 },
|
||||
{ .description = "RGB (no brown)", .value = 4 },
|
||||
{ .description = "Green Monochrome", .value = 1 },
|
||||
{ .description = "Amber Monochrome", .value = 2 },
|
||||
{ .description = "White Monochrome", .value = 3 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "codepage",
|
||||
.description = "Hardware font",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 3,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "codepage",
|
||||
.description = "Hardware font",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 3,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "US English", .value = 3 },
|
||||
{ .description = "Portugese", .value = 2 },
|
||||
{ .description = "Norwegian", .value = 1 },
|
||||
{ .description = "Greek", .value = 0 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 7,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 7,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "English", .value = 7 },
|
||||
{ .description = "German", .value = 6 },
|
||||
{ .description = "French", .value = 5 },
|
||||
@@ -1899,10 +1903,11 @@ const device_config_t vid_200_config[] = {
|
||||
{ .description = "Italian", .value = 1 },
|
||||
{ .description = "Diagnostic mode", .value = 0 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t vid_200_device = {
|
||||
@@ -1920,36 +1925,37 @@ const device_t vid_200_device = {
|
||||
};
|
||||
|
||||
const device_config_t vid_ppc512_config[] = {
|
||||
/* TODO: Should have options here for:
|
||||
*
|
||||
* > Display port (TTL or RF)
|
||||
*/
|
||||
// clang-format off
|
||||
/* TODO: Should have options here for:
|
||||
*
|
||||
* > Display port (TTL or RF)
|
||||
*/
|
||||
// clang-format off
|
||||
{
|
||||
.name = "video_emulation",
|
||||
.description = "Display type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = PC200_LCDC,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "video_emulation",
|
||||
.description = "Display type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = PC200_LCDC,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "CGA monitor", .value = PC200_CGA },
|
||||
{ .description = "MDA monitor", .value = PC200_MDA },
|
||||
{ .description = "LCD (CGA mode)", .value = PC200_LCDC },
|
||||
{ .description = "LCD (MDA mode)", .value = PC200_LCDM },
|
||||
{ .description = "" }
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "display_type",
|
||||
.description = "Monitor type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "display_type",
|
||||
.description = "Monitor type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "RGB", .value = 0 },
|
||||
{ .description = "RGB (no brown)", .value = 4 },
|
||||
{ .description = "Green Monochrome", .value = 1 },
|
||||
@@ -1957,32 +1963,34 @@ const device_config_t vid_ppc512_config[] = {
|
||||
{ .description = "White Monochrome", .value = 3 },
|
||||
{ .description = "" }
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "codepage",
|
||||
.description = "Hardware font",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 3,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "codepage",
|
||||
.description = "Hardware font",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 3,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "US English", .value = 3 },
|
||||
{ .description = "Portugese", .value = 2 },
|
||||
{ .description = "Norwegian", .value = 1 },
|
||||
{ .description = "Greek", .value = 0 },
|
||||
{ .description = "" }
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 7,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 7,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "English", .value = 7 },
|
||||
{ .description = "German", .value = 6 },
|
||||
{ .description = "French", .value = 5 },
|
||||
@@ -1992,17 +2000,22 @@ const device_config_t vid_ppc512_config[] = {
|
||||
{ .description = "Italian", .value = 1 },
|
||||
{ .description = "Diagnostic mode", .value = 0 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "invert",
|
||||
.description = "Invert LCD colors",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = "",
|
||||
.default_int = 0
|
||||
.name = "invert",
|
||||
.description = "Invert LCD colors",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t vid_ppc512_device = {
|
||||
@@ -2020,23 +2033,24 @@ const device_t vid_ppc512_device = {
|
||||
};
|
||||
|
||||
const device_config_t vid_pc2086_config[] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 7,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 7,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "English", .value = 7 },
|
||||
{ .description = "Diagnostic mode", .value = 0 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t vid_pc2086_device = {
|
||||
@@ -2054,23 +2068,24 @@ const device_t vid_pc2086_device = {
|
||||
};
|
||||
|
||||
const device_config_t vid_pc3086_config[] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = 7,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "language",
|
||||
.description = "BIOS language",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = 7,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "English", .value = 7 },
|
||||
{ .description = "Diagnostic mode", .value = 3 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t vid_pc3086_device = {
|
||||
@@ -2119,7 +2134,7 @@ static int
|
||||
ms_poll(void *priv)
|
||||
{
|
||||
amstrad_t *ams = (amstrad_t *) priv;
|
||||
int b = mouse_get_buttons_ex();
|
||||
int b = mouse_get_buttons_ex();
|
||||
|
||||
if ((b & 1) && !(ams->oldb & 1))
|
||||
keyboard_send(0x7e);
|
||||
@@ -2431,7 +2446,7 @@ ams_read(uint16_t port, void *priv)
|
||||
}
|
||||
|
||||
static const scancode scancode_pc200[512] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 000 */
|
||||
{ .mk = { 0x01, 0 }, .brk = { 0x81, 0 } }, /* 001 */
|
||||
{ .mk = { 0x02, 0 }, .brk = { 0x82, 0 } }, /* 002 */
|
||||
@@ -2944,7 +2959,7 @@ static const scancode scancode_pc200[512] = {
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fd */
|
||||
{ .mk = {0xe0, 0xfe, 0 }, .brk = { 0 } }, /* 1fe */
|
||||
{ .mk = {0xe0, 0xff, 0 }, .brk = { 0 } } /* 1ff */
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -2952,7 +2967,7 @@ machine_amstrad_init(const machine_t *model, int type)
|
||||
{
|
||||
amstrad_t *ams;
|
||||
|
||||
ams = (amstrad_t *) calloc(1, sizeof(amstrad_t));
|
||||
ams = (amstrad_t *) calloc(1, sizeof(amstrad_t));
|
||||
ams->type = type;
|
||||
amstrad_latch = 0x80000000;
|
||||
|
||||
|
||||
@@ -54,8 +54,9 @@ static const device_config_t ibmat_config[] = {
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ibm5170_111585",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "62X082x (11/15/85)",
|
||||
@@ -108,10 +109,15 @@ static const device_config_t ibmat_config[] = {
|
||||
},
|
||||
},
|
||||
{
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -156,10 +162,10 @@ machine_at_ibmat_init(const machine_t *model)
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
enable_5161 = machine_get_config_int("enable_5161");
|
||||
fn[0] = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
fn[1] = device_get_bios_file(model->device, device_get_config_bios("bios"), 1);
|
||||
ret = bios_load_interleaved(fn[0], fn[1], 0x000f0000, 65536, 0);
|
||||
enable_5161 = machine_get_config_int("enable_5161");
|
||||
fn[0] = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
fn[1] = device_get_bios_file(model->device, device_get_config_bios("bios"), 1);
|
||||
ret = bios_load_interleaved(fn[0], fn[1], 0x000f0000, 65536, 0);
|
||||
device_context_restore();
|
||||
|
||||
if (bios_only || !ret)
|
||||
@@ -176,10 +182,15 @@ machine_at_ibmat_init(const machine_t *model)
|
||||
static const device_config_t ibmxt286_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -206,7 +217,7 @@ machine_at_ibmxt286_init(const machine_t *model)
|
||||
uint8_t enable_5161;
|
||||
|
||||
device_context(model->device);
|
||||
enable_5161 = machine_get_config_int("enable_5161");
|
||||
enable_5161 = machine_get_config_int("enable_5161");
|
||||
device_context_restore();
|
||||
|
||||
ret = bios_load_interleaved("roms/machines/ibmxt286/bios_5162_21apr86_u34_78x7460_27256.bin",
|
||||
@@ -279,8 +290,7 @@ machine_at_portableiii_init(const machine_t *model)
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linearr("roms/machines/portableiii/K Combined.bin",
|
||||
0x000f8000, 65536, 0);
|
||||
|
||||
0x000f8000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
@@ -292,7 +302,7 @@ machine_at_portableiii_init(const machine_t *model)
|
||||
|
||||
if (hdc_current[0] == HDC_INTERNAL)
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(&compaq_plasma_device);
|
||||
|
||||
@@ -318,8 +328,8 @@ machine_at_grid1520_init(const machine_t *model)
|
||||
mem_remap_top(384);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
// for now just select CGA with amber monitor
|
||||
//device_add(&cga_device);
|
||||
// for now just select CGA with amber monitor
|
||||
// device_add(&cga_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
device_add(&fdc_at_device);
|
||||
@@ -992,12 +1002,12 @@ machine_at_drsm35286_init(const machine_t *model)
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
|
||||
machine_at_scat_init(model, 1, 0);
|
||||
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
@@ -1018,7 +1028,7 @@ machine_at_deskmaster286_init(const machine_t *model)
|
||||
machine_at_scat_init(model, 0, 1);
|
||||
|
||||
device_add(&f82c710_device);
|
||||
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -60,18 +60,33 @@ machine_compaq_p1_handler(void)
|
||||
static const device_config_t deskpro386_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "deskpro386",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "September 1986", .internal_name = "deskpro386_09_1986", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/deskpro386/1986-09-04-HI.json.bin", "" } },
|
||||
{ .name = "May 1988", .internal_name = "deskpro386", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/deskpro386/1988-05-10.json.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "September 1986",
|
||||
.internal_name = "deskpro386_09_1986",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/deskpro386/1986-09-04-HI.json.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "May 1988",
|
||||
.internal_name = "deskpro386",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/deskpro386/1988-05-10.json.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
@@ -96,15 +111,15 @@ const device_t deskpro386_device = {
|
||||
int
|
||||
machine_at_deskpro386_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linearr(fn, 0x000f8000, 65536, 0);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL)
|
||||
@@ -127,7 +142,7 @@ machine_at_portableiii386_init(const machine_t *model)
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linearr("roms/machines/portableiii/P.2 Combined.bin",
|
||||
0x000f0000, 131072, 0);
|
||||
0x000f0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
@@ -103,18 +103,33 @@ machine_at_c747_init(const machine_t *model)
|
||||
static const device_config_t opti495_ami_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ami495",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "AMI 060692", .internal_name = "ami495", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/ami495/opt495sx.ami", "" } },
|
||||
{ .name = "MR BIOS V1.60", .internal_name = "mr495", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/ami495/opt495sx.mr", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMI 060692",
|
||||
.internal_name = "ami495",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/ami495/opt495sx.ami", "" }
|
||||
},
|
||||
{
|
||||
.name = "MR BIOS V1.60",
|
||||
.internal_name = "mr495",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/ami495/opt495sx.mr", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
@@ -139,15 +154,15 @@ const device_t opti495_ami_device = {
|
||||
int
|
||||
machine_at_opti495_ami_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000f0000, 65536, 0);
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
@@ -98,20 +98,35 @@ machine_at_quadt386sx_init(const machine_t *model)
|
||||
static const device_config_t pbl300sx_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "pbl300sx",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Phoenix ROM BIOS PLUS 1.10 - Revision 19910723091302", .internal_name = "pbl300sx_1991", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/pbl300sx/V1.10_1113_910723.bin", "" } },
|
||||
{ .name = "Phoenix ROM BIOS PLUS 1.10 - Revision 19920910", .internal_name = "pbl300sx", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/pbl300sx/pb_l300sx_1992.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Phoenix ROM BIOS PLUS 1.10 - Revision 19910723091302",
|
||||
.internal_name = "pbl300sx_1991",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/pbl300sx/V1.10_1113_910723.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Phoenix ROM BIOS PLUS 1.10 - Revision 19920910",
|
||||
.internal_name = "pbl300sx",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/pbl300sx/pb_l300sx_1992.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -134,15 +149,15 @@ const device_t pbl300sx_device = {
|
||||
int
|
||||
machine_at_pbl300sx_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -234,20 +249,35 @@ machine_at_flytech386_init(const machine_t *model)
|
||||
static const device_config_t c325ax_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "325ax",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{ .name = "AMIBIOS 070791", .internal_name = "325ax", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/325ax/M27C512.BIN", "" } },
|
||||
{ .name = "MR BIOS V1.41", .internal_name = "mr1217", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/325ax/mrbios.BIN", "" } },
|
||||
{
|
||||
.name = "AMIBIOS 070791",
|
||||
.internal_name = "325ax",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/325ax/M27C512.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "MR BIOS V1.41",
|
||||
.internal_name = "mr1217",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/325ax/mrbios.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -270,15 +300,15 @@ const device_t c325ax_device = {
|
||||
int
|
||||
machine_at_325ax_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000f0000, 65536, 0);
|
||||
|
||||
machine_at_common_init(model);
|
||||
@@ -309,9 +339,9 @@ machine_at_acer100t_init(const machine_t *model)
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(&oti077_acer100t_device);
|
||||
|
||||
|
||||
device_add_params(&pc87310_device, (void *) (PC87310_ALI));
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -575,20 +605,34 @@ machine_at_dataexpert386sx_init(const machine_t *model)
|
||||
static const device_config_t dells333sl_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "dells333sl",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Phoenix ROM BIOS PLUS 1.10 - Revision J01 (Jostens Learning Corporation OEM)", .internal_name = "dells333sl_j01", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/dells333sl/DELL386.BIN", "" } },
|
||||
{ .name = "Phoenix ROM BIOS PLUS 1.10 - Revision A02", .internal_name = "dells333sl", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/dells333sl/Dell_386SX_30807_UBIOS_B400_VLSI_VL82C311_Cirrus_Logic_GD5420.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Phoenix ROM BIOS PLUS 1.10 - Revision J01 (Jostens Learning Corporation OEM)",
|
||||
.internal_name = "dells333sl_j01",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/dells333sl/DELL386.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Phoenix ROM BIOS PLUS 1.10 - Revision A02",
|
||||
.internal_name = "dells333sl",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/dells333sl/Dell_386SX_30807_UBIOS_B400_VLSI_VL82C311_Cirrus_Logic_GD5420.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -611,15 +655,15 @@ const device_t dells333sl_device = {
|
||||
int
|
||||
machine_at_dells333sl_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 262144, 0);
|
||||
memcpy(rom, &(rom[0x00020000]), 131072);
|
||||
mem_mapping_set_addr(&bios_mapping, 0x0c0000, 0x40000);
|
||||
|
||||
@@ -66,6 +66,7 @@ machine_at_itoxstar_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0C, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
|
||||
device_add(&stpc_client_device);
|
||||
device_add(&sst_flash_29ee020_device);
|
||||
@@ -97,6 +98,7 @@ machine_at_arb1423c_init(const machine_t *model)
|
||||
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 0, 0, 0);
|
||||
pci_register_slot(0x1E, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x1D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
|
||||
device_add(&stpc_consumer2_device);
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
@@ -123,6 +125,7 @@ machine_at_arb1479_init(const machine_t *model)
|
||||
pci_register_slot(0x1F, PCI_CARD_NORMAL, 1, 0, 0, 0);
|
||||
pci_register_slot(0x1E, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x1D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
|
||||
device_add(&stpc_consumer2_device);
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
@@ -146,6 +149,7 @@ machine_at_iach488_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0C, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_AMI));
|
||||
device_add(&stpc_consumer2_device);
|
||||
device_add(&sst_flash_29ee020_device);
|
||||
@@ -173,6 +177,7 @@ machine_at_pcm9340_init(const machine_t *model)
|
||||
pci_register_slot(0x1D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x1E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x1F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
|
||||
device_add_inst_params(&w83977_device, 1, (void *) (W83977F | W83977_AMI));
|
||||
device_add_inst_params(&w83977_device, 2, (void *) W83977F);
|
||||
device_add(&stpc_elite_device);
|
||||
@@ -201,6 +206,7 @@ machine_at_pcm5330_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_SOUTHBRIDGE_IDE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0E, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&stpc_serial_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_370 | W83977_AMI));
|
||||
device_add(&stpc_atlas_device);
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
* This file is part of the 86Box distribution.
|
||||
*
|
||||
* Implementation of the common initialization functions for
|
||||
* the PC/AT and copatible machines.
|
||||
* the PC/AT and copatible machines.
|
||||
*
|
||||
* Authors: Miran Grca, <mgrca8@gmail.com>
|
||||
* Sarah Walker, <https://pcem-emulator.co.uk/>
|
||||
@@ -135,5 +135,3 @@ machine_at_ps2_ide_init(const machine_t *model)
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -53,15 +53,16 @@ machine_at_vpc2007_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
device_add(&i440bx_no_agp_device);
|
||||
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977F | W83977_370 | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
@@ -53,15 +53,16 @@ machine_at_m729_init(const machine_t *model)
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE_IDE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x03, PCI_CARD_SOUTHBRIDGE_PMU, 1, 2, 3, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&ali1621_device);
|
||||
device_add(&ali1543c_device); /* +0 */
|
||||
device_add(&winbond_flash_w29c010_device);
|
||||
@@ -92,6 +93,7 @@ machine_at_acerv62x_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX5 | FDC37C93X_APM));
|
||||
@@ -138,6 +140,7 @@ machine_at_kn97_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -154,18 +157,32 @@ machine_at_kn97_init(const machine_t *model)
|
||||
static const device_config_t lx6_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "lx6",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision LY", .internal_name = "lx6", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/lx6/LX6C_LY.BIN", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision PZ Beta", .internal_name = "lx6_beta", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/lx6/LX6C_PZ.B00", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision LY",
|
||||
.internal_name = "lx6", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/lx6/LX6C_LY.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision PZ Beta",
|
||||
.internal_name = "lx6_beta",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/lx6/LX6C_PZ.B00", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
@@ -190,15 +207,15 @@ const device_t lx6_device = {
|
||||
int
|
||||
machine_at_lx6_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -212,6 +229,7 @@ machine_at_lx6_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440lx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -277,6 +295,7 @@ machine_at_spitfire_init(const machine_t *model)
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440lx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX5 | FDC37C93X_NORMAL | FDC37C93X_NO_NVR));
|
||||
@@ -312,6 +331,7 @@ machine_at_ma30d_init(const machine_t *model)
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 3, 0, 0, 0);
|
||||
|
||||
device_add(&i440lx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add(&nec_mate_unk_device);
|
||||
@@ -339,9 +359,10 @@ machine_at_p6i440e2_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440ex_device);
|
||||
device_add(&piix4_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -379,6 +400,7 @@ machine_at_bf6_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 3, 1, 2);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -391,20 +413,35 @@ machine_at_bf6_init(const machine_t *model)
|
||||
static const device_config_t bx6_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "bx6",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision EG", .internal_name = "bx6_eg", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/bx6/BX6_EG.BIN", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision QS", .internal_name = "bx6", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/bx6/BX6_QS.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision EG",
|
||||
.internal_name = "bx6_eg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/bx6/BX6_EG.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision QS",
|
||||
.internal_name = "bx6",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/bx6/BX6_QS.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -427,15 +464,15 @@ const device_t bx6_device = {
|
||||
int
|
||||
machine_at_bx6_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -449,6 +486,7 @@ machine_at_bx6_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -481,6 +519,7 @@ machine_at_p2bls_init(const machine_t *model)
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -519,6 +558,7 @@ machine_at_p3bf_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -553,6 +593,7 @@ machine_at_ax6bc_init(const machine_t *model)
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -584,6 +625,7 @@ machine_at_686bx_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -602,24 +644,53 @@ machine_at_686bx_init(const machine_t *model)
|
||||
static const device_config_t ms6119_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ms6119",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "AMIBIOS 6 (071595) - Revision 1.90 (Packard Bell Tacoma)", .internal_name = "tacoma", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 262144, .files = { "roms/machines/ms6119/A19P2190.ROM", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 2.10", .internal_name = "ms6119", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 262144, .files = { "roms/machines/ms6119/w6119ims.2a0", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 2.12 (Viglen Vig69M)", .internal_name = "vig69m", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 262144, .files = { "roms/machines/ms6119/vig69m.212", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 3.30b1 (LG IBM Multinet i x7G)", .internal_name = "lgibmx7g", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 262144, .files = { "roms/machines/ms6119/ms6119.331", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMIBIOS 6 (071595) - Revision 1.90 (Packard Bell Tacoma)",
|
||||
.internal_name = "tacoma",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ms6119/A19P2190.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 2.10",
|
||||
.internal_name = "ms6119",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ms6119/w6119ims.2a0", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 2.12 (Viglen Vig69M)",
|
||||
.internal_name = "vig69m",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ms6119/vig69m.212", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 3.30b1 (LG IBM Multinet i x7G)",
|
||||
.internal_name = "lgibmx7g",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ms6119/ms6119.331", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -642,15 +713,15 @@ const device_t ms6119_device = {
|
||||
int
|
||||
machine_at_ms6119_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000c0000, 262144, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -664,12 +735,13 @@ machine_at_ms6119_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 256);
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -696,6 +768,7 @@ machine_at_p6sba_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 0, 0);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -733,6 +806,7 @@ machine_at_s1846_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&pc87309_device, (void *) (PCX730X_AMI | PC87309_PC87309));
|
||||
@@ -768,6 +842,7 @@ machine_at_vei8_init(const machine_t *model)
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440zx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&fdc37m60x_device, (void *) (FDC37XXX2 | FDC37XXXX_370));
|
||||
@@ -792,6 +867,7 @@ machine_at_ms6168_common_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440zx_device);
|
||||
device_add(&piix4e_device);
|
||||
|
||||
@@ -862,6 +938,7 @@ machine_at_atc6310bxii_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&slc90e66_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -893,6 +970,7 @@ machine_at_ficka6130_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro_device);
|
||||
device_add(&via_vt82c596a_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
@@ -926,6 +1004,7 @@ machine_at_p3v133_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro133_device);
|
||||
device_add(&via_vt82c596b_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -963,6 +1042,7 @@ machine_at_p3v4x_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro133a_device);
|
||||
device_add(&via_vt82c596b_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -995,6 +1075,7 @@ machine_at_gt694va_init(const machine_t *model)
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro133a_device);
|
||||
device_add(&via_vt82c596b_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -1038,6 +1119,7 @@ machine_at_p6f99_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x02, PCI_CARD_AGPBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&sis_5600_device);
|
||||
device_add(&it8661f_device);
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
@@ -1070,6 +1152,7 @@ machine_at_m747_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x02, PCI_CARD_AGPBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&sis_5600_device);
|
||||
device_add(&it8661f_device);
|
||||
device_add(&winbond_flash_w29c020_device);
|
||||
|
||||
@@ -55,12 +55,13 @@ machine_at_prosignias31x_bx_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0a, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0b, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0c, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0d, PCI_CARD_SOUND, 4, 3, 2, 1); /* assumed */
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0a, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0b, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0c, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0d, PCI_CARD_SOUND, 4, 3, 2, 1); /* assumed */
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -101,6 +102,7 @@ machine_at_s1857_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -132,12 +134,13 @@ machine_at_p6bat_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0a, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0b, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0c, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0d, PCI_CARD_NORMAL, 4, 3, 2, 1);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0a, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0b, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0c, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0d, PCI_CARD_NORMAL, 4, 3, 2, 1);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro133_device);
|
||||
device_add(&via_vt82c596b_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
|
||||
@@ -341,7 +341,7 @@ machine_at_d824_init(const machine_t *model)
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C651);
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -364,14 +364,14 @@ machine_at_pcs44c_init(const machine_t *model)
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(&oti077_pcs44c_device);
|
||||
|
||||
|
||||
device_add(&vl82c113_device);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
device_add_params(&pc873xx_device, (void *) (PCX73XX_IDE_PRI | PCX730X_398));
|
||||
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -401,8 +401,9 @@ machine_at_tuliptc38_init(const machine_t *model)
|
||||
0x000c0000, 32768, 0);
|
||||
|
||||
device_add(machine_get_vid_device(machine));
|
||||
} else for (uint16_t i = 0; i < 32768; i++)
|
||||
rom[i] = mem_readb_phys(0x000c0000 + i);
|
||||
} else
|
||||
for (uint16_t i = 0; i < 32768; i++)
|
||||
rom[i] = mem_readb_phys(0x000c0000 + i);
|
||||
|
||||
mem_mapping_set_addr(&bios_mapping, 0x0c0000, 0x40000);
|
||||
mem_mapping_set_exec(&bios_mapping, rom);
|
||||
|
||||
@@ -228,16 +228,16 @@ machine_at_cobalt_init(const machine_t *model)
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add(&opti499_device);
|
||||
device_add(&ide_opti611_vlb_device);
|
||||
device_add(&ide_isa_sec_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
@@ -374,6 +374,6 @@ machine_at_martin_init(const machine_t *model)
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C651 | FDC37C6XX_IDE_PRI));
|
||||
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -170,22 +170,44 @@ machine_at_greenb_init(const machine_t *model)
|
||||
static const device_config_t j403tg_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "403tg",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "AMI WinBIOS (121593)", .internal_name = "403tg", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/403tg/J403TGRevD.BIN", "" } },
|
||||
{ .name = "Award Modular BIOS v4.50G", .internal_name = "403tg_award", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/403tg/403TG.BIN", "" } },
|
||||
{ .name = "MR BIOS V2.02", .internal_name = "403tg_mr", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 65536, .files = { "roms/machines/403tg/MRBiosOPT895.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMI WinBIOS (121593)",
|
||||
.internal_name = "403tg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/403tg/J403TGRevD.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.50G",
|
||||
.internal_name = "403tg_award",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/403tg/403TG.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "MR BIOS V2.02",
|
||||
.internal_name = "403tg_mr",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/403tg/MRBiosOPT895.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -208,8 +230,8 @@ const device_t j403tg_device = {
|
||||
int
|
||||
machine_at_403tg_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
@@ -217,8 +239,8 @@ machine_at_403tg_init(const machine_t *model)
|
||||
|
||||
device_context(model->device);
|
||||
int nvr_hack = !strcmp(device_get_config_bios("bios"), "403tg");
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000f0000, 65536, 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000f0000, 65536, 0);
|
||||
|
||||
if (nvr_hack) {
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
@@ -60,6 +60,7 @@ machine_at_s370slm_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440lx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -95,6 +96,7 @@ machine_at_awo671r_init(const machine_t *model)
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0D, PCI_CARD_VIDEO, 2, 3, 4, 1);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_inst_params(&w83977_device, 1, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -129,6 +131,7 @@ machine_at_ambx133_init(const machine_t *model)
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -166,6 +169,7 @@ machine_at_cubx_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -201,6 +205,7 @@ machine_at_63a1_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4); /* Integrated Sound? */
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440zx_device);
|
||||
device_add(&piix4e_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -233,6 +238,7 @@ machine_at_atc7020bxii_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&slc90e66_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -264,6 +270,7 @@ machine_at_m773_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i440bx_device);
|
||||
device_add(&slc90e66_device);
|
||||
device_add(&it8671f_device);
|
||||
@@ -303,6 +310,7 @@ machine_at_apas3_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro_device);
|
||||
device_add(&via_vt82c586b_device);
|
||||
device_add_params(&fdc37c669_device, (void *) 0);
|
||||
@@ -335,6 +343,7 @@ machine_at_p6bap_init(const machine_t *model)
|
||||
pci_register_slot(0x0c, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0d, PCI_CARD_NORMAL, 4, 3, 2, 1);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro133a_device); /* Rebranded as ET82C693A */
|
||||
device_add(&via_vt82c596b_device); /* Rebranded as ET82C696B */
|
||||
device_add_params(&w83977_device, (void *) (W83977EF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -370,6 +379,7 @@ machine_at_6via90ap_init(const machine_t *model)
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro133a_device);
|
||||
device_add(&via_vt82c686b_device); /* fans: CPU1, CPU2; temperatures: CPU, System, unused */
|
||||
device_add(ics9xxx_get(ICS9250_18));
|
||||
@@ -410,6 +420,7 @@ machine_at_cuv4xls_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_apro133a_device);
|
||||
device_add(&via_vt82c686b_device);
|
||||
device_add(ics9xxx_get(ICS9250_18));
|
||||
@@ -444,6 +455,7 @@ machine_at_7sbb_init(const machine_t *model)
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x02, PCI_CARD_AGPBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&sis_5600_device);
|
||||
device_add(&it8661f_device);
|
||||
device_add(&sst_flash_29ee020_device); /* assumed */
|
||||
|
||||
@@ -68,12 +68,11 @@ machine_at_ms4134_init(const machine_t *model)
|
||||
|
||||
pci_init(FLAG_MECHANISM_1 | FLAG_MECHANISM_2 | PCI_ALWAYS_EXPOSE_DEV0);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
pci_register_slot(0x0B, PCI_CARD_SCSI, 4, 1, 2, 3);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_SCSI, 4, 1, 2, 3);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&ali1435_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -102,11 +101,10 @@ machine_at_tg486gp_init(const machine_t *model)
|
||||
|
||||
pci_init(FLAG_MECHANISM_1 | FLAG_MECHANISM_2 | PCI_ALWAYS_EXPOSE_DEV0);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&ali1435_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -290,20 +288,34 @@ machine_at_ms4145_init(const machine_t *model)
|
||||
static const device_config_t pc330_6573_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Language",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Language",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "pc330_6573",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "English (PC 330, type 6573)", .internal_name = "pc330_6573", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/pc330_6573/$IMAGES.USF", "" } },
|
||||
{ .name = "Japanese (Aptiva 510/710/Vision)", .internal_name = "aptiva510", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/pc330_6573/aptiva510_$IMAGES.USF", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "English (PC 330, type 6573)",
|
||||
.internal_name = "pc330_6573", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/pc330_6573/$IMAGES.USF", "" }
|
||||
},
|
||||
{
|
||||
.name = "Japanese (Aptiva 510/710/Vision)",
|
||||
.internal_name = "aptiva510",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/pc330_6573/aptiva510_$IMAGES.USF", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -326,15 +338,15 @@ const device_t pc330_6573_device = {
|
||||
int
|
||||
machine_at_pc330_6573_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -371,22 +383,44 @@ machine_at_pc330_6573_init(const machine_t *model)
|
||||
static const device_config_t pb450_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "pb450a",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "PhoenixBIOS 4.03 - Revision PCI 1.0A", .internal_name = "pb450a_pci10a" /*"pci10a"*/, .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/pb450/OPTI802.bin", "" } },
|
||||
{ .name = "PhoenixBIOS 4.03 - Revision PNP 1.1A", .internal_name = "pb450a", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/pb450/PNP11A.bin", "" } },
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision P4HS20 (by Micro Firmware)", .internal_name = "pb450a_p4hs20", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/pb450/p4hs20.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "PhoenixBIOS 4.03 - Revision PCI 1.0A",
|
||||
.internal_name = "pb450a_pci10a" /*"pci10a"*/,
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/pb450/OPTI802.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.03 - Revision PNP 1.1A",
|
||||
.internal_name = "pb450a",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/pb450/PNP11A.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision P4HS20 (by Micro Firmware)",
|
||||
.internal_name = "pb450a_p4hs20",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/pb450/p4hs20.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -409,18 +443,18 @@ const device_t pb450_device = {
|
||||
int
|
||||
machine_at_pb450_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
@@ -735,22 +769,44 @@ machine_at_486sp3g_init(const machine_t *model)
|
||||
static const device_config_t sb486pv_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "sb486pv",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "AMI WinBIOS (062594) - Revision 0108", .internal_name = "sb486pv_0108", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/sb486pv/41-0108-062594-SATURN2.rom", "" } },
|
||||
{ .name = "AMI WinBIOS (062594) - Revision 0301", .internal_name = "sb486pv_0301", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/sb486pv/0301-062594-SATURN2.rom", "" } },
|
||||
{ .name = "AMIBIOS 6 (071595) - Revision 1301", .internal_name = "sb486pv", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/sb486pv/amiboot.rom", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMI WinBIOS (062594) - Revision 0108",
|
||||
.internal_name = "sb486pv_0108",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/sb486pv/41-0108-062594-SATURN2.rom", "" }
|
||||
},
|
||||
{
|
||||
.name = "AMI WinBIOS (062594) - Revision 0301",
|
||||
.internal_name = "sb486pv_0301",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/sb486pv/0301-062594-SATURN2.rom", "" }
|
||||
},
|
||||
{
|
||||
.name = "AMIBIOS 6 (071595) - Revision 1301",
|
||||
.internal_name = "sb486pv",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/sb486pv/amiboot.rom", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -773,8 +829,8 @@ const device_t sb486pv_device = {
|
||||
int
|
||||
machine_at_sb486pv_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
@@ -877,11 +933,12 @@ machine_at_acerp3_init(const machine_t *model)
|
||||
|
||||
machine_at_sis_85c496_common_init(model);
|
||||
device_add(&sis_85c496_device);
|
||||
|
||||
pci_register_slot(0x09, PCI_CARD_VIDEO, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0A, PCI_CARD_IDE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0A, PCI_CARD_IDE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -910,6 +967,7 @@ machine_at_486sp3c_init(const machine_t *model)
|
||||
|
||||
machine_at_sis_85c496_common_init(model);
|
||||
device_add(&sis_85c496_device);
|
||||
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
@@ -937,6 +995,7 @@ machine_at_ls486e_init(const machine_t *model)
|
||||
|
||||
machine_at_sis_85c496_common_init(model);
|
||||
device_add(&sis_85c496_ls486e_device);
|
||||
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
@@ -963,6 +1022,7 @@ machine_at_m4li_init(const machine_t *model)
|
||||
|
||||
machine_at_sis_85c496_common_init(model);
|
||||
device_add(&sis_85c496_device);
|
||||
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
@@ -989,6 +1049,7 @@ machine_at_ms4144_init(const machine_t *model)
|
||||
|
||||
machine_at_sis_85c496_common_init(model);
|
||||
device_add(&sis_85c496_ls486e_device);
|
||||
|
||||
pci_register_slot(0x03, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
@@ -1016,6 +1077,7 @@ machine_at_r418_init(const machine_t *model)
|
||||
|
||||
machine_at_sis_85c496_common_init(model);
|
||||
device_add(&sis_85c496_device);
|
||||
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
@@ -1042,6 +1104,7 @@ machine_at_4saw2_init(const machine_t *model)
|
||||
|
||||
machine_at_sis_85c496_common_init(model);
|
||||
device_add(&sis_85c496_device);
|
||||
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
@@ -1070,6 +1133,7 @@ machine_at_4dps_init(const machine_t *model)
|
||||
|
||||
machine_at_sis_85c496_common_init(model);
|
||||
device_add(&sis_85c496_device);
|
||||
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
@@ -1161,8 +1225,7 @@ machine_at_pl4600c_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3); /* Slot 02 */
|
||||
pci_register_slot(0x10, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x12, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0); /* Onboard */
|
||||
pci_register_slot(0x13, PCI_CARD_VIDEO, 0, 0, 0, 0); /* Onboard */
|
||||
|
||||
pci_register_slot(0x13, PCI_CARD_VIDEO, 0, 0, 0, 0); /* Onboard */
|
||||
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886af_device);
|
||||
@@ -1176,7 +1239,7 @@ machine_at_pl4600c_init(const machine_t *model)
|
||||
if (sound_card_current[0] == SOUND_INTERNAL)
|
||||
device_add(&ess_1688_device);
|
||||
|
||||
if (fdc_current[0] == FDC_INTERNAL){
|
||||
if (fdc_current[0] == FDC_INTERNAL) {
|
||||
fdd_set_turbo(0, 1);
|
||||
fdd_set_turbo(1, 1);
|
||||
}
|
||||
@@ -1305,7 +1368,7 @@ machine_at_m919_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&umc_hb4_device);
|
||||
device_add(&umc_8886af_device); /* AF is correct - the BIOS does IDE writes to ports 108h and 109h. */
|
||||
device_add(&umc_8886af_device); /* AF is correct - the BIOS does IDE writes to ports 108h and 109h. */
|
||||
device_add_params(&um866x_device, (void *) UM8663BF);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
@@ -1344,20 +1407,35 @@ machine_at_spc7700plw_init(const machine_t *model)
|
||||
static const device_config_t hot433a_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "hot433a",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "AMIBIOS 5 (101094) - Revision 433AUS33", .internal_name = "hot433a", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/hot433/433AUS33.ROM", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 2.5 (by eSupport)", .internal_name = "hot433a_v451pg", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/hot433/2A4X5H21.BIN", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMIBIOS 5 (101094) - Revision 433AUS33",
|
||||
.internal_name = "hot433a",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/hot433/433AUS33.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 2.5 (by eSupport)",
|
||||
.internal_name = "hot433a_v451pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/hot433/2A4X5H21.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -1380,8 +1458,8 @@ const device_t hot433a_device = {
|
||||
int
|
||||
machine_at_hot433a_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
@@ -1389,8 +1467,8 @@ machine_at_hot433a_init(const machine_t *model)
|
||||
|
||||
device_context(model->device);
|
||||
int is_award = !strcmp(device_get_config_bios("bios"), "hot433a_v451pg");
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
@@ -43,20 +43,35 @@
|
||||
static const device_config_t v12p_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "v12p",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 }, /*W1*/
|
||||
.bios = {
|
||||
{ .name = "Acer BIOS V1.2 - Revision R1.4", .internal_name = "v12p_r14", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/v12p/v12p_14.bin", "" } },
|
||||
{ .name = "Acer BIOS V1.2 - Revision R1.6", .internal_name = "v12p", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/v12p/v12p_16.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Acer BIOS V1.2 - Revision R1.4",
|
||||
.internal_name = "v12p_r14",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/v12p/v12p_14.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Acer BIOS V1.2 - Revision R1.6",
|
||||
.internal_name = "v12p",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/v12p/v12p_16.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -70,7 +85,7 @@ const device_t v12p_device = {
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = v12p_config
|
||||
@@ -79,18 +94,18 @@ const device_t v12p_device = {
|
||||
int
|
||||
machine_at_v12p_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
device_add(&ide_isa_device);
|
||||
@@ -101,6 +116,7 @@ machine_at_v12p_init(const machine_t *model)
|
||||
pci_register_slot(0x03, PCI_CARD_NORMAL, 3, 2, 1, 4);
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 4, 0, 0, 0);
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430lx_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&sio_zb_device);
|
||||
@@ -130,6 +146,7 @@ machine_at_excaliburpci_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&ide_cmd640_pci_legacy_only_device);
|
||||
@@ -160,6 +177,7 @@ machine_at_p5mp3_init(const machine_t *model)
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 2, 3, 4, 1); /* 04 = Slot 2 */
|
||||
pci_register_slot(0x03, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 03 = Slot 3 */
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&fdc_at_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
|
||||
@@ -192,6 +210,7 @@ machine_at_opti560l_init(const machine_t *model)
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 1, 4, 3, 2);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430lx_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&sio_zb_device);
|
||||
@@ -264,6 +283,7 @@ machine_at_valuepointp60_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&sio_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
@@ -280,22 +300,44 @@ machine_at_valuepointp60_init(const machine_t *model)
|
||||
static const device_config_t batman_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "batman",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "AMIBIOS 111192 - Revision A08 (Dell Dimension XPS P60)", .internal_name = "dellxp60", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/batman/XP60-A08.ROM", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.04.AF1P (AMBRA DP60 PCI)", .internal_name = "ambradp60", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 131072, .files = { "roms/machines/batman/1004AF1P.BIO", "roms/machines/batman/1004AF1P.BI1", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.08.AF1", .internal_name = "batman", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 131072, .files = { "roms/machines/batman/1008AF1_.BIO", "roms/machines/batman/1008AF1_.BI1", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "AMIBIOS 111192 - Revision A08 (Dell Dimension XPS P60)",
|
||||
.internal_name = "dellxp60",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/batman/XP60-A08.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.04.AF1P (AMBRA DP60 PCI)",
|
||||
.internal_name = "ambradp60",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/batman/1004AF1P.BIO", "roms/machines/batman/1004AF1P.BI1", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.08.AF1",
|
||||
.internal_name = "batman",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/batman/1008AF1_.BIO", "roms/machines/batman/1008AF1_.BI1", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -318,9 +360,9 @@ const device_t batman_device = {
|
||||
int
|
||||
machine_at_batman_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
const char* fn2;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
const char *fn2;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
@@ -328,7 +370,7 @@ machine_at_batman_init(const machine_t *model)
|
||||
|
||||
device_context(model->device);
|
||||
int is_dell = !strcmp(device_get_config_bios("bios"), "dellxp60");
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
if (is_dell)
|
||||
ret = bios_load_linear_inverted(fn, 0x000e0000, 131072, 0);
|
||||
else {
|
||||
@@ -346,15 +388,16 @@ machine_at_batman_init(const machine_t *model)
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_IDE, 0, 0, 0, 0);
|
||||
if (is_dell) {
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 4, 4, 3, 3);
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 1, 4, 3, 2);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 4, 4, 3, 3);
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 1, 4, 3, 2);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
} else {
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 2, 1, 4);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 2, 1, 4);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
}
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&sio_zb_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_PRI));
|
||||
@@ -380,6 +423,7 @@ machine_at_premiere_common_init(const machine_t *model, int pci_switch)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&ide_rz1000_pci_single_channel_device);
|
||||
@@ -412,7 +456,7 @@ machine_at_m5pi_init(const machine_t *model)
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear_inverted("roms/machines/m5pi/M5PI10R.BIN",
|
||||
0x000e0000, 131072, 0);
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
@@ -426,10 +470,11 @@ machine_at_m5pi_init(const machine_t *model)
|
||||
pci_register_slot(0x0c, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0b, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
device_add(&i430lx_device);
|
||||
device_add(&sio_zb_device);
|
||||
|
||||
device_add(&i430lx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&ide_w83769f_pci_single_channel_device);
|
||||
device_add(&ide_w83769f_pci_single_channel_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&intel_flash_bxt_ami_device);
|
||||
|
||||
@@ -458,6 +503,7 @@ machine_at_pb520r_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430lx_device);
|
||||
device_add(&ide_cmd640_pci_single_channel_device);
|
||||
|
||||
@@ -579,6 +625,7 @@ machine_at_excaliburpci2_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&ide_cmd640_pci_legacy_only_device);
|
||||
@@ -605,6 +652,7 @@ machine_at_sp4_common_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&sis_85c50x_device);
|
||||
device_add(&ide_cmd640_pci_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -649,6 +697,7 @@ machine_at_ecs50x_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&sis_85c50x_device);
|
||||
device_add_params(&ide_cmd640_pci_device, (void *) 0x100000);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
|
||||
@@ -98,6 +98,7 @@ machine_at_celebris5xx_init(const machine_t *model)
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&ide_cmd640_pci_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
|
||||
@@ -62,6 +62,7 @@ machine_at_p54np4_init(const machine_t *model)
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2); /* 05 = Slot 3 */
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 4, 1, 2, 3); /* 04 = Slot 4 */
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430nx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -92,22 +93,44 @@ machine_at_586ip_init(const machine_t *model)
|
||||
static const device_config_t plato_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "plato",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.02.AX1P (AMBRA DP90 PCI)", .internal_name = "ambradp90", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 131072, .files = { "roms/machines/plato/1002AX1P.BIO", "roms/machines/plato/1002AX1P.BI1", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.16.AX1", .internal_name = "plato", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 131072, .files = { "roms/machines/plato/1016ax1_.bio", "roms/machines/plato/1016ax1_.bi1", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.16.AX1J (Dell Dimension XPS P___)", .internal_name = "dellplato", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 131072, .files = { "roms/machines/plato/1016AX1J.BIO", "roms/machines/plato/1016AX1J.BI1", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.02.AX1P (AMBRA DP90 PCI)",
|
||||
.internal_name = "ambradp90",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/plato/1002AX1P.BIO", "roms/machines/plato/1002AX1P.BI1", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.16.AX1",
|
||||
.internal_name = "plato",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/plato/1016ax1_.bio", "roms/machines/plato/1016ax1_.bi1", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.16.AX1J (Dell Dimension XPS P___)",
|
||||
.internal_name = "dellplato",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/plato/1016AX1J.BIO", "roms/machines/plato/1016AX1J.BI1", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -130,16 +153,16 @@ const device_t plato_device = {
|
||||
int
|
||||
machine_at_plato_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
const char* fn2;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
const char *fn2;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn2 = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 1);
|
||||
ret = bios_load_linear_combined(fn, fn2, 0x1d000, 128);
|
||||
device_context_restore();
|
||||
@@ -154,28 +177,71 @@ machine_at_plato_init(const machine_t *model)
|
||||
static const device_config_t d842_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "d842",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 }, /*W1*/
|
||||
.bios = {
|
||||
{ .name = "PhoenixBIOS Pentium 1.03 - Revision 1.03.842", .internal_name = "d842_103", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d842/d842.BIN", "" } },
|
||||
{ .name = "PhoenixBIOS Pentium 1.03 - Revision 1.09.842", .internal_name = "d842_109", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d842/d842_jul96.bin", "" } },
|
||||
{ .name = "PhoenixBIOS Pentium 1.03 - Revision 1.10.842", .internal_name = "d842", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d842/d842_jun98_1.bin", "" } },
|
||||
{ .name = "PhoenixBIOS 4.04 - Revision 1.05.842", .internal_name = "d842_105", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d842/d842_mar96.bin", "" } },
|
||||
{ .name = "PhoenixBIOS 4.04 - Revision 1.06.842", .internal_name = "d842_106", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d842/d842_apr98.bin", "" } },
|
||||
{ .name = "PhoenixBIOS 4.04 - Revision 1.07.842", .internal_name = "d842_107", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d842/d842_jun98.BIN", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "PhoenixBIOS Pentium 1.03 - Revision 1.03.842",
|
||||
.internal_name = "d842_103",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d842/d842.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS Pentium 1.03 - Revision 1.09.842",
|
||||
.internal_name = "d842_109",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d842/d842_jul96.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS Pentium 1.03 - Revision 1.10.842",
|
||||
.internal_name = "d842",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d842/d842_jun98_1.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.04 - Revision 1.05.842",
|
||||
.internal_name = "d842_105",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d842/d842_mar96.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.04 - Revision 1.06.842",
|
||||
.internal_name = "d842_106",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d842/d842_apr98.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.04 - Revision 1.07.842",
|
||||
.internal_name = "d842_107",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d842/d842_jun98.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -198,15 +264,15 @@ const device_t d842_device = {
|
||||
int
|
||||
machine_at_d842_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -249,7 +315,9 @@ machine_at_tek932_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
|
||||
machine_force_ps2(1);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&i430nx_device);
|
||||
device_add(&sio_zb_device);
|
||||
@@ -281,6 +349,7 @@ machine_at_acerv30_init(const machine_t *model)
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -312,6 +381,7 @@ machine_at_apollo_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
@@ -411,6 +481,7 @@ machine_at_pt2000_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
@@ -441,6 +512,7 @@ machine_at_zappa_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
|
||||
@@ -468,6 +540,7 @@ machine_at_powermatev_init(const machine_t *model)
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 0, 0, 0, 0);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
@@ -497,6 +570,7 @@ machine_at_hawk_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
@@ -630,6 +704,7 @@ machine_at_sq588_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&sis_85c50x_device);
|
||||
device_add(&ide_cmd640_pci_single_channel_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -655,10 +730,11 @@ machine_at_p54sps_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&sis_85c50x_device);
|
||||
device_add(&ide_pci_2ch_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -685,11 +761,12 @@ machine_at_ms5109_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_IDE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 3, 2, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_IDE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 3, 2, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&sis_550x_85c503_device);
|
||||
device_add(&ide_w83769f_pci_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -717,10 +794,10 @@ machine_at_torino_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1 | FLAG_TRC_CONTROLS_CPURST);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x08, PCI_CARD_VIDEO, 0, 0, 0, 0);
|
||||
pci_register_slot(0x03, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x08, PCI_CARD_VIDEO, 0, 0, 0, 0);
|
||||
pci_register_slot(0x03, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
@@ -744,19 +821,20 @@ machine_at_hot539_init(const machine_t *model)
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
return ret;
|
||||
|
||||
machine_at_common_init(model);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x12, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x15, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x16, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x15, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x16, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&umc_8890_device);
|
||||
device_add(&umc_8886af_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -795,10 +873,12 @@ machine_at_bravoms586_init(const machine_t *model)
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
device_add(&ide_cmd640_pci_single_channel_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
device_add(&ast_readout_device); /* AST custom jumper readout */
|
||||
device_add(&ast_nvr_device); /* AST custom secondary NVR device */
|
||||
device_add(&ast_nvr_device); /* AST custom secondary NVR device */
|
||||
|
||||
return ret;
|
||||
}
|
||||
@@ -824,6 +904,7 @@ machine_at_g586vpmc_init(const machine_t *model)
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0A, PCI_CARD_IDE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&vl82c59x_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -852,6 +933,7 @@ machine_at_m54si_init(const machine_t *model)
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
/* Slots are a guess since this BIOS won't work with pcireg */
|
||||
device_add(&vl82c59x_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
@@ -883,12 +965,14 @@ machine_at_pb600_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
|
||||
device_add(&vl82c59x_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add_params(&fdc37c6xx_device, (void *) FDC37C665);
|
||||
device_add(&phoenix_486_jumper_pci_pb600_device);
|
||||
device_add(&ide_cmd640_pci_device);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
@@ -917,11 +1001,13 @@ machine_at_globalyst620_init(const machine_t *model)
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4); /* Slot 04 */
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1); /* Slot 05 */
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2); /* Slot 06 */
|
||||
|
||||
device_add(&vl82c59x_wildcat_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&ide_cmd640_pci_single_channel_legacy_only_device);
|
||||
device_add_params(&fdc37c6xx_device, (void *) (FDC37C665 | FDC37C6XX_IDE_SEC));
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
device_add(machine_get_vid_device(machine));
|
||||
|
||||
|
||||
@@ -65,6 +65,7 @@ machine_at_acerm3a_init(const machine_t *model)
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x10, PCI_CARD_VIDEO, 4, 0, 0, 0);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX5 | FDC37C93X_NORMAL));
|
||||
@@ -94,6 +95,7 @@ machine_at_p55t2p4_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -116,6 +118,7 @@ machine_at_p65up5_common_init(const machine_t *model, const device_t *northbridg
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(northbridge);
|
||||
device_add(&piix3_ioapic_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -143,28 +146,49 @@ machine_at_p65up5_cp55t2d_init(const machine_t *model)
|
||||
static const device_config_t cu430hx_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "cu430hx",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.03.DK08 (Toshiba Equium 5xx0D)", .internal_name = "equium5200", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/cu430hx/1003DK08.BIO", "roms/machines/cu430hx/1003DK08.BI1",
|
||||
"roms/machines/cu430hx/1003DK08.BI2", "roms/machines/cu430hx/1003DK08.BI3",
|
||||
"roms/machines/cu430hx/1003DK08.RCV", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.04.DK0K (NEC PowerMate V2xxx/P2xxx)", .internal_name = "powermatev2p2", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/cu430hx/1004DK0K.BIO", "roms/machines/cu430hx/1004DK0K.BI1",
|
||||
"roms/machines/cu430hx/1004DK0K.BI2", "roms/machines/cu430hx/1004DK0K.BI3",
|
||||
"roms/machines/cu430hx/1004DK0K.RCV", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.06.DK0", .internal_name = "cu430hx", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/cu430hx/1006DK0_.BIO", "roms/machines/cu430hx/1006DK0_.BI1",
|
||||
"roms/machines/cu430hx/1006DK0_.BI2", "roms/machines/cu430hx/1006DK0_.BI3",
|
||||
"roms/machines/cu430hx/1006DK0_.RCV", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.03.DK08 (Toshiba Equium 5xx0D)",
|
||||
.internal_name = "equium5200",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/cu430hx/1003DK08.BIO", "roms/machines/cu430hx/1003DK08.BI1",
|
||||
"roms/machines/cu430hx/1003DK08.BI2", "roms/machines/cu430hx/1003DK08.BI3",
|
||||
"roms/machines/cu430hx/1003DK08.RCV", "" } },
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.04.DK0K (NEC PowerMate V2xxx/P2xxx)",
|
||||
.internal_name = "powermatev2p2",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/cu430hx/1004DK0K.BIO", "roms/machines/cu430hx/1004DK0K.BI1",
|
||||
"roms/machines/cu430hx/1004DK0K.BI2", "roms/machines/cu430hx/1004DK0K.BI3",
|
||||
"roms/machines/cu430hx/1004DK0K.RCV", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.06.DK0",
|
||||
.internal_name = "cu430hx",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/cu430hx/1006DK0_.BIO", "roms/machines/cu430hx/1006DK0_.BI1",
|
||||
"roms/machines/cu430hx/1006DK0_.BI2", "roms/machines/cu430hx/1006DK0_.BI3",
|
||||
"roms/machines/cu430hx/1006DK0_.RCV", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -218,8 +242,8 @@ machine_at_cu430hx_gpio_init(void)
|
||||
int
|
||||
machine_at_cu430hx_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn[5];
|
||||
int ret = 0;
|
||||
const char *fn[5];
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
@@ -258,24 +282,39 @@ machine_at_cu430hx_init(const machine_t *model)
|
||||
static const device_config_t tc430hx_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "tc430hx",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.07.DH0", .internal_name = "tc430hx", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/tc430hx/1007DH0_.BIO", "roms/machines/tc430hx/1007DH0_.BI1",
|
||||
"roms/machines/tc430hx/1007DH0_.BI2", "roms/machines/tc430hx/1007DH0_.BI3",
|
||||
"roms/machines/tc430hx/1007DH0_.RCV", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.08.DH08 (Toshiba Infinia 7xx1)", .internal_name = "infinia7200", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/tc430hx/1008DH08.BIO", "roms/machines/tc430hx/1008DH08.BI1",
|
||||
"roms/machines/tc430hx/1008DH08.BI2", "roms/machines/tc430hx/1008DH08.BI3",
|
||||
"roms/machines/tc430hx/1008DH08.RCV", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.07.DH0",
|
||||
.internal_name = "tc430hx",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/tc430hx/1007DH0_.BIO", "roms/machines/tc430hx/1007DH0_.BI1",
|
||||
"roms/machines/tc430hx/1007DH0_.BI2", "roms/machines/tc430hx/1007DH0_.BI3",
|
||||
"roms/machines/tc430hx/1007DH0_.RCV", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.08.DH08 (Toshiba Infinia 7xx1)",
|
||||
.internal_name = "infinia7200",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/tc430hx/1008DH08.BIO", "roms/machines/tc430hx/1008DH08.BI1",
|
||||
"roms/machines/tc430hx/1008DH08.BI2", "roms/machines/tc430hx/1008DH08.BI3",
|
||||
"roms/machines/tc430hx/1008DH08.RCV", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -329,8 +368,8 @@ machine_at_tc430hx_gpio_init(void)
|
||||
int
|
||||
machine_at_tc430hx_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn[5];
|
||||
int ret = 0;
|
||||
const char *fn[5];
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
@@ -371,20 +410,35 @@ machine_at_tc430hx_init(const machine_t *model)
|
||||
static const device_config_t m7shi_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "m7shi",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "PhoenixBIOS 4.0 Release 6.0 - Revision 05/20/97", .internal_name = "m7shi", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 262144, .files = { "roms/machines/m7shi/m7shi2n.rom", "" } },
|
||||
{ .name = "PhoenixBIOS 4.0 Release 6.0 - Revision 01/21/98", .internal_name = "m7shi_4", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 262144, .files = { "roms/machines/m7shi/M7ns04.rom", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "PhoenixBIOS 4.0 Release 6.0 - Revision 05/20/97",
|
||||
.internal_name = "m7shi",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/m7shi/m7shi2n.rom", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.0 Release 6.0 - Revision 01/21/98",
|
||||
.internal_name = "m7shi_4",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/m7shi/M7ns04.rom", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -407,15 +461,15 @@ const device_t m7shi_device = {
|
||||
int
|
||||
machine_at_m7shi_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000c0000, 262144, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -428,6 +482,7 @@ machine_at_m7shi_init(const machine_t *model)
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX5 | FDC37C93X_NORMAL));
|
||||
@@ -457,6 +512,7 @@ machine_at_epc2102_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -497,6 +553,7 @@ machine_at_pcv90_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
|
||||
@@ -528,6 +585,7 @@ machine_at_p55t2s_init(const machine_t *model)
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&pc87306_device, (void *) PCX730X_AMI);
|
||||
@@ -561,6 +619,7 @@ machine_at_ap5vm_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -591,6 +650,7 @@ machine_at_p55tvp4_init(const machine_t *model)
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -619,6 +679,7 @@ machine_at_5ivg_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -648,6 +709,7 @@ machine_at_8500tvxa_init(const machine_t *model)
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 2, 1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 3, 2, 1);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -742,6 +804,7 @@ machine_at_dellhannibalp_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX2 | FDC37C93X_FR));
|
||||
@@ -770,6 +833,7 @@ machine_at_p5vxb_init(const machine_t *model)
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -799,6 +863,7 @@ machine_at_p55va_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX2 | FDC37C93X_FR));
|
||||
@@ -864,6 +929,7 @@ machine_at_brio80xx_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX5 | FDC37C93X_NORMAL | FDC37XXXX_370));
|
||||
@@ -875,20 +941,35 @@ machine_at_brio80xx_init(const machine_t *model)
|
||||
static const device_config_t lgibmx52_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "lgibmx52",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision 08/21/97", .internal_name = "lgibmx52_082197", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/lgibmx52/BIOS.ROM", "" } },
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision 03/26/99", .internal_name = "lgibmx52", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/lgibmx52/MS5136 LG IBM OEM.ROM", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision 08/21/97",
|
||||
.internal_name = "lgibmx52_082197",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/lgibmx52/BIOS.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision 03/26/99",
|
||||
.internal_name = "lgibmx52",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/lgibmx52/MS5136 LG IBM OEM.ROM", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -911,15 +992,15 @@ const device_t lgibmx52_device = {
|
||||
int
|
||||
machine_at_lgibmx52_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -932,6 +1013,7 @@ machine_at_lgibmx52_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -997,9 +1079,9 @@ machine_at_pb810_init(const machine_t *model)
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
pci_register_slot(0x0b, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
pci_register_slot(0x0b, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
if (sound_card_current[0] == SOUND_INTERNAL)
|
||||
@@ -1033,6 +1115,7 @@ machine_at_mb520n_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -1062,6 +1145,7 @@ machine_at_i430vx_init(const machine_t *model)
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430vx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -1134,6 +1218,7 @@ machine_at_tx97_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4); /* PIIX4 */
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -1155,6 +1240,7 @@ void
|
||||
machine_at_optiplex_21152_init(void)
|
||||
{
|
||||
uint8_t bus_index = pci_bridge_get_bus_index(device_add(&dec21152_device));
|
||||
|
||||
pci_register_bus_slot(bus_index, 0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_bus_slot(bus_index, 0x0a, PCI_CARD_NORMAL, 4, 2, 1, 3);
|
||||
pci_register_bus_slot(bus_index, 0x0b, PCI_CARD_NORMAL, 1, 3, 4, 2);
|
||||
@@ -1219,6 +1305,7 @@ machine_at_tomahawk_init(const machine_t *model)
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add_params(&fdc37c67x_device, (void *) (FDC37XXX2 | FDC37XXXX_370));
|
||||
@@ -1261,6 +1348,7 @@ machine_at_ym430tx_init(const machine_t *model)
|
||||
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4); /* PIIX4 */
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add_params(&w83977_device, (void *) (W83977TF | W83977_AMI | W83977_NO_NVR));
|
||||
@@ -1290,6 +1378,7 @@ machine_at_thunderbolt_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 1, 2, 3, 0);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 0, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 3, 0, 1, 2);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX5 | FDC37C93X_NORMAL | FDC37C93X_NO_NVR));
|
||||
@@ -1319,6 +1408,7 @@ machine_at_ma23c_init(const machine_t *model)
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_VIDEO, 3, 4, 1, 2);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add(&nec_mate_unk_device);
|
||||
@@ -1354,6 +1444,7 @@ machine_at_an430tx_init(const machine_t *model)
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x08, PCI_CARD_VIDEO, 4, 0, 0, 0);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
#ifdef FOLLOW_THE_SPECIFICATION
|
||||
@@ -1391,6 +1482,7 @@ machine_at_mb540n_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4); /* PIIX4 */
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -1422,6 +1514,7 @@ machine_at_56a5_init(const machine_t *model)
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4); /* PIIX4 */
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -1452,6 +1545,7 @@ machine_at_p5mms98_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
/* This actually has the Winbond W83967AF, for which I can not find any datasheet at all. */
|
||||
@@ -1484,6 +1578,7 @@ machine_at_richmond_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i430tx_device);
|
||||
device_add(&piix4_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -1517,6 +1612,7 @@ machine_at_ficva502_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&via_vpx_device);
|
||||
device_add(&via_vt82c586b_device);
|
||||
device_add_params(&fdc37c669_device, (void *) FDC37C6XX_370);
|
||||
@@ -1649,20 +1745,35 @@ machine_at_ms5146_init(const machine_t *model)
|
||||
static const device_config_t r534f_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "r534f_1998",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 06/12/1998", .internal_name = "r534f_1998", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/r534f/r534f008-1998.bin", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 03/13/2000 (by Unicore Software)", .internal_name = "r534f", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/r534f/r534f008.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 06/12/1998",
|
||||
.internal_name = "r534f_1998",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/r534f/r534f008-1998.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 03/13/2000 (by Unicore Software)",
|
||||
.internal_name = "r534f",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/r534f/r534f008.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -1685,15 +1796,15 @@ const device_t r534f_device = {
|
||||
int
|
||||
machine_at_r534f_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -1736,6 +1847,7 @@ machine_at_sp97xv_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x13, PCI_CARD_VIDEO, 1, 2, 3, 4); /* On-chip SiS graphics, absent here. */
|
||||
|
||||
device_add(&sis_5581_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877F | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -1762,6 +1874,7 @@ machine_at_sq578_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&sis_5581_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -1790,6 +1903,7 @@ machine_at_ms5172_init(const machine_t *model)
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&sis_5591_1997_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -1801,20 +1915,35 @@ machine_at_ms5172_init(const machine_t *model)
|
||||
static const device_config_t m5ata_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "m5ata",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 12/23/97", .internal_name = "m5ata_1223", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/m5ata/ATA1223.BIN", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 05/27/98", .internal_name = "m5ata", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/m5ata/ATA0527B.BIN", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 12/23/97",
|
||||
.internal_name = "m5ata_1223",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/m5ata/ATA1223.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 05/27/98",
|
||||
.internal_name = "m5ata",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/m5ata/ATA0527B.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -1837,15 +1966,15 @@ const device_t m5ata_device = {
|
||||
int
|
||||
machine_at_m5ata_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -1923,6 +2052,7 @@ machine_at_m560_init(const machine_t *model)
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&ali1531_device);
|
||||
device_add(&ali1543_device); /* -5 */
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
@@ -45,18 +45,33 @@
|
||||
static const device_config_t p54tp4xe_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "p54tp4xe",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 0302", .internal_name = "p54tp4xe", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/p54tp4xe/t15i0302.awd", "" } },
|
||||
{ .name = "MR BIOS V3.30", .internal_name = "p54tp4xe_mr", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/p54tp4xe/TRITON.BIO", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 0302",
|
||||
.internal_name = "p54tp4xe",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/p54tp4xe/t15i0302.awd", "" }
|
||||
},
|
||||
{
|
||||
.name = "MR BIOS V3.30",
|
||||
.internal_name = "p54tp4xe_mr",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/p54tp4xe/TRITON.BIO", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
},
|
||||
@@ -81,15 +96,15 @@ const device_t p54tp4xe_device = {
|
||||
int
|
||||
machine_at_p54tp4xe_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -102,6 +117,7 @@ machine_at_p54tp4xe_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
@@ -126,11 +142,12 @@ machine_at_exp8551_init(const machine_t *model)
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_device);
|
||||
@@ -175,22 +192,44 @@ machine_at_vectra54_init(const machine_t *model)
|
||||
static const device_config_t thor_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "thor",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.03.CN0T (Gateway 2000)", .internal_name = "gw2katx", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 131072, .files = { "roms/machines/thor/1003CN0T.BIO", "roms/machines/thor/1003CN0T.BI1", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.06.CN0", .internal_name = "thor", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 131072, .files = { "roms/machines/thor/1006cn0_.bio", "roms/machines/thor/1006cn0_.bi1", "" } },
|
||||
{ .name = "MR BIOS V3.28", .internal_name = "mrthor", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/thor/mr_atx.bio", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.03.CN0T (Gateway 2000)",
|
||||
.internal_name = "gw2katx",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/thor/1003CN0T.BIO", "roms/machines/thor/1003CN0T.BI1", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.06.CN0",
|
||||
.internal_name = "thor",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/thor/1006cn0_.bio", "roms/machines/thor/1006cn0_.bi1", "" }
|
||||
},
|
||||
{
|
||||
.name = "MR BIOS V3.28",
|
||||
.internal_name = "mrthor",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/thor/mr_atx.bio", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -258,9 +297,9 @@ machine_at_thor_gpio_init(void)
|
||||
int
|
||||
machine_at_thor_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
const char* fn2;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
const char *fn2;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
@@ -269,7 +308,7 @@ machine_at_thor_init(const machine_t *model)
|
||||
device_context(model->device);
|
||||
int is_mr = !strcmp(device_get_config_bios("bios"), "mrthor");
|
||||
int has_video = !strcmp(device_get_config_bios("bios"), "thor");
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
if (is_mr)
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
else {
|
||||
@@ -366,20 +405,21 @@ machine_at_endeavor_gpio_handler(uint8_t write, uint32_t val)
|
||||
if (write) {
|
||||
ret &= ((val & 0xffffffcf) | 0xffff0000);
|
||||
ret |= (val & 0x00000030);
|
||||
if (machine_snd != NULL) switch ((val >> 4) & 0x03) {
|
||||
case 0x00:
|
||||
sb_vibra16s_onboard_relocate_base(0x0220, machine_snd);
|
||||
break;
|
||||
case 0x01:
|
||||
sb_vibra16s_onboard_relocate_base(0x0260, machine_snd);
|
||||
break;
|
||||
case 0x02:
|
||||
sb_vibra16s_onboard_relocate_base(0x0240, machine_snd);
|
||||
break;
|
||||
case 0x03:
|
||||
sb_vibra16s_onboard_relocate_base(0x0280, machine_snd);
|
||||
break;
|
||||
}
|
||||
if (machine_snd != NULL)
|
||||
switch ((val >> 4) & 0x03) {
|
||||
case 0x00:
|
||||
sb_vibra16s_onboard_relocate_base(0x0220, machine_snd);
|
||||
break;
|
||||
case 0x01:
|
||||
sb_vibra16s_onboard_relocate_base(0x0260, machine_snd);
|
||||
break;
|
||||
case 0x02:
|
||||
sb_vibra16s_onboard_relocate_base(0x0240, machine_snd);
|
||||
break;
|
||||
case 0x03:
|
||||
sb_vibra16s_onboard_relocate_base(0x0280, machine_snd);
|
||||
break;
|
||||
}
|
||||
machine_set_gpio(ret);
|
||||
} else
|
||||
ret = machine_get_gpio();
|
||||
@@ -508,6 +548,7 @@ machine_at_pb640_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 2, 1, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i430fx_rev02_device);
|
||||
device_add(&piix_rev02_device);
|
||||
|
||||
@@ -535,11 +576,12 @@ machine_at_mb500n_init(const machine_t *model)
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
device_add(&i430fx_device);
|
||||
device_add(&piix_no_mirq_device);
|
||||
@@ -595,11 +637,12 @@ machine_at_acerv35n_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
/* The chip is not marked FR but the BIOS accesses register 06h of GPIO. */
|
||||
@@ -630,6 +673,7 @@ machine_at_ap53_init(const machine_t *model)
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x06, PCI_CARD_VIDEO, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -659,6 +703,7 @@ machine_at_8500tuc_init(const machine_t *model)
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -671,24 +716,53 @@ machine_at_8500tuc_init(const machine_t *model)
|
||||
static const device_config_t d943_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "d943",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 }, /*W1*/
|
||||
.bios = {
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision 1.02.943", .internal_name = "d943_oct96", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d943/d943_oct96.bin", "" } },
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision 1.03.943", .internal_name = "d943_dec96", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d943/d943_dec96.bin", "" } },
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision 1.05.943", .internal_name = "d943_sept97", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d943/d943_sept97.bin", "" } },
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision 1.06.943", .internal_name = "d943", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/d943/d943_oct97.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision 1.02.943",
|
||||
.internal_name = "d943_oct96",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d943/d943_oct96.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision 1.03.943",
|
||||
.internal_name = "d943_dec96",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d943/d943_dec96.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision 1.05.943",
|
||||
.internal_name = "d943_sept97",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d943/d943_sept97.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision 1.06.943",
|
||||
.internal_name = "d943",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/d943/d943_oct97.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -711,18 +785,18 @@ const device_t d943_device = {
|
||||
int
|
||||
machine_at_d943_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
|
||||
machine_at_common_init_ex(model, 2);
|
||||
device_add(&amstrad_megapc_nvr_device);
|
||||
|
||||
@@ -731,8 +805,9 @@ machine_at_d943_init(const machine_t *model)
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x08, PCI_CARD_VIDEO, 4, 0, 0, 0);
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 2, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 1, 3, 2, 4);
|
||||
|
||||
device_add(&i430hx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -790,22 +865,44 @@ machine_at_gw2kma_init(const machine_t *model)
|
||||
static const device_config_t c5sbm2_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "5sbm2",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Award Modular BIOS v4.50GP - Revision 07/17/1995", .internal_name = "5sbm2_v450gp", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/5sbm2/5SBM0717.BIN", "" } },
|
||||
{ .name = "Award Modular BIOS v4.50PG - Revision 03/26/1996", .internal_name = "5sbm2", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/5sbm2/5SBM0326.BIN", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision 2.2 (by Unicore Software)", .internal_name = "5sbm2_451pg", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/5sbm2/2A5ICC3A.BIN", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.50GP - Revision 07/17/1995",
|
||||
.internal_name = "5sbm2_v450gp",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/5sbm2/5SBM0717.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.50PG - Revision 03/26/1996",
|
||||
.internal_name = "5sbm2",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/5sbm2/5SBM0326.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision 2.2 (by Unicore Software)",
|
||||
.internal_name = "5sbm2_451pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/5sbm2/2A5ICC3A.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -828,15 +925,15 @@ const device_t c5sbm2_device = {
|
||||
int
|
||||
machine_at_5sbm2_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -893,22 +990,44 @@ machine_at_amis727_init(const machine_t *model)
|
||||
static const device_config_t ap5s_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ap5s",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Award Modular BIOS v4.50PG - Revision R1.20", .internal_name = "ap5s_450pg", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/ap5s/ap5s120.bin", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision R1.50", .internal_name = "ap5s_r150", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/ap5s/AP5S150.BIN", "" } },
|
||||
{ .name = "Award Modular BIOS v4.51PG - Revision R1.60", .internal_name = "ap5s", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/ap5s/ap5s160.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Award Modular BIOS v4.50PG - Revision R1.20",
|
||||
.internal_name = "ap5s_450pg",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ap5s/ap5s120.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision R1.50",
|
||||
.internal_name = "ap5s_r150",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ap5s/AP5S150.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Award Modular BIOS v4.51PG - Revision R1.60",
|
||||
.internal_name = "ap5s",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ap5s/ap5s160.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -931,15 +1050,15 @@ const device_t ap5s_device = {
|
||||
int
|
||||
machine_at_ap5s_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -1038,12 +1157,13 @@ machine_at_zeoswildcat_init(const machine_t *model)
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x0D, PCI_CARD_IDE, 1, 2, 0, 0); /* Onboard device */
|
||||
pci_register_slot(0x0E, PCI_CARD_SCSI, 1, 0, 0, 0); /* Onboard device */
|
||||
pci_register_slot(0x0F, PCI_CARD_NETWORK, 1, 0, 0, 0); /* Onboard device */
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4); /* Slot 03 */
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 4, 2, 3, 1); /* Slot 04 */
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2); /* Slot 05 */
|
||||
pci_register_slot(0x0D, PCI_CARD_IDE, 1, 2, 0, 0); /* Onboard device */
|
||||
pci_register_slot(0x0E, PCI_CARD_SCSI, 1, 0, 0, 0); /* Onboard device */
|
||||
pci_register_slot(0x0F, PCI_CARD_NETWORK, 1, 0, 0, 0); /* Onboard device */
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 1, 2, 3, 4); /* Slot 03 */
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 4, 2, 3, 1); /* Slot 04 */
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2); /* Slot 05 */
|
||||
|
||||
/* Per the machine's manual there was an option for AMD SCSI and/or LAN controllers */
|
||||
device_add(&vl82c59x_wildcat_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
|
||||
@@ -61,6 +61,7 @@ machine_at_ap61_init(const machine_t *model)
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i450kx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&ide_cmd646_device);
|
||||
@@ -94,6 +95,7 @@ machine_at_p6rp4_init(const machine_t *model)
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x04, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i450kx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&ide_cmd646_device);
|
||||
@@ -108,20 +110,35 @@ machine_at_p6rp4_init(const machine_t *model)
|
||||
static const device_config_t ficpo6000_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "405F05C",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 }, /*W1*/
|
||||
.bios = {
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision 405F03C (CD-ROM Boot support)", .internal_name = "405F03C", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/ficpo6000/405F03C.ROM", "" } },
|
||||
{ .name = "PhoenixBIOS 4.05 - Revision 405F05C (No CD-ROM Boot support)", .internal_name = "405F05C", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 131072, .files = { "roms/machines/ficpo6000/405F05C.ROM", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision 405F03C (CD-ROM Boot support)",
|
||||
.internal_name = "405F03C",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ficpo6000/405F03C.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "PhoenixBIOS 4.05 - Revision 405F05C (No CD-ROM Boot support)",
|
||||
.internal_name = "405F05C",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ficpo6000/405F05C.ROM", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -135,7 +152,7 @@ const device_t ficpo6000_device = {
|
||||
.init = NULL,
|
||||
.close = NULL,
|
||||
.reset = NULL,
|
||||
.available = NULL,
|
||||
.available = NULL,
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = ficpo6000_config
|
||||
@@ -144,15 +161,15 @@ const device_t ficpo6000_device = {
|
||||
int
|
||||
machine_at_ficpo6000_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn;
|
||||
int ret = 0;
|
||||
const char *fn;
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
fn = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000e0000, 131072, 0);
|
||||
device_context_restore();
|
||||
|
||||
@@ -167,6 +184,7 @@ machine_at_ficpo6000_init(const machine_t *model)
|
||||
pci_register_slot(0x05, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0c, PCI_CARD_IDE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i450kx_device);
|
||||
device_add(&sio_zb_device);
|
||||
device_add(&ide_cmd646_device);
|
||||
@@ -189,7 +207,7 @@ machine_at_acerv60n_init(const machine_t *model)
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_init_ex(model,2 );
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
@@ -199,6 +217,7 @@ machine_at_acerv60n_init(const machine_t *model)
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX5 | FDC37C93X_NORMAL));
|
||||
@@ -244,6 +263,7 @@ machine_at_8600ttc_init(const machine_t *model)
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -273,6 +293,7 @@ machine_at_686nx_init(const machine_t *model)
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -306,6 +327,7 @@ machine_at_ap440fx_init(const machine_t *model)
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 1, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 3, 2, 1, 4);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 4);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&pc87307_device, (void *) (PCX730X_AMI | PCX7307_PC87307));
|
||||
@@ -323,28 +345,50 @@ machine_at_ap440fx_init(const machine_t *model)
|
||||
static const device_config_t vs440fx_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "vs440fx",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.06.CS1J (Dell Dimension XPS Pro___n)", .internal_name = "dellvenus", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/vs440fx/1006CS1J.BIO", "roms/machines/vs440fx/1006CS1J.BI1",
|
||||
"roms/machines/vs440fx/1006CS1J.BI2", "roms/machines/vs440fx/1006CS1J.BI3",
|
||||
"roms/machines/vs440fx/1006CS1J.RCV", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.11.CS1T (Gateway 2000)", .internal_name = "gw2kvenus", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/vs440fx/1011CS1T.BIO", "roms/machines/vs440fx/1011CS1T.BI1",
|
||||
"roms/machines/vs440fx/1011CS1T.BI2", "roms/machines/vs440fx/1011CS1T.BI3",
|
||||
"roms/machines/vs440fx/1011CS1T.RCV", "" } },
|
||||
{ .name = "Intel AMIBIOS - Revision 1.00.18.CS1", .internal_name = "vs440fx", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 5, .local = 0, .size = 262144, .files = { "roms/machines/vs440fx/1018CS1_.BIO", "roms/machines/vs440fx/1018CS1_.BI1",
|
||||
"roms/machines/vs440fx/1018CS1_.BI2", "roms/machines/vs440fx/1018CS1_.BI3",
|
||||
"roms/machines/vs440fx/1018CS1_.RCV", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.06.CS1J (Dell Dimension XPS Pro___n)",
|
||||
.internal_name = "dellvenus",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/vs440fx/1006CS1J.BIO", "roms/machines/vs440fx/1006CS1J.BI1",
|
||||
"roms/machines/vs440fx/1006CS1J.BI2", "roms/machines/vs440fx/1006CS1J.BI3",
|
||||
"roms/machines/vs440fx/1006CS1J.RCV", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.11.CS1T (Gateway 2000)",
|
||||
.internal_name = "gw2kvenus",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/vs440fx/1011CS1T.BIO", "roms/machines/vs440fx/1011CS1T.BI1",
|
||||
"roms/machines/vs440fx/1011CS1T.BI2", "roms/machines/vs440fx/1011CS1T.BI3",
|
||||
"roms/machines/vs440fx/1011CS1T.RCV", "" }
|
||||
},
|
||||
{
|
||||
.name = "Intel AMIBIOS - Revision 1.00.18.CS1",
|
||||
.internal_name = "vs440fx",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 5,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/vs440fx/1018CS1_.BIO", "roms/machines/vs440fx/1018CS1_.BI1",
|
||||
"roms/machines/vs440fx/1018CS1_.BI2", "roms/machines/vs440fx/1018CS1_.BI3",
|
||||
"roms/machines/vs440fx/1018CS1_.RCV", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -367,15 +411,15 @@ const device_t vs440fx_device = {
|
||||
int
|
||||
machine_at_vs440fx_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn[5];
|
||||
int ret = 0;
|
||||
const char *fn[5];
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
for (int i = 0; i < 5; i++)
|
||||
for (uint8_t i = 0; i < 5; i++)
|
||||
fn[i] = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), i);
|
||||
ret = bios_load_linear_combined2(fn[0], fn[1], fn[2], fn[3], fn[4], 0x3a000, 128);
|
||||
device_context_restore();
|
||||
@@ -389,6 +433,7 @@ machine_at_vs440fx_init(const machine_t *model)
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&pc87307_device, (void *) (PCX730X_AMI | PCX7307_PC87307));
|
||||
@@ -421,6 +466,7 @@ machine_at_lgibmx61_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0E, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
@@ -450,6 +496,7 @@ machine_at_m6mi_init(const machine_t *model)
|
||||
pci_register_slot(0x11, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(&fdc37c93x_device, (void *) (FDC37XXX5 | FDC37C93X_NORMAL));
|
||||
@@ -478,6 +525,7 @@ machine_at_mb600n_init(const machine_t *model)
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x13, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&i440fx_device);
|
||||
device_add(&piix3_device);
|
||||
device_add_params(machine_get_kbc_device(machine), (void *) model->kbc_params);
|
||||
|
||||
@@ -53,18 +53,19 @@ machine_at_p5a_init(const machine_t *model)
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE_IDE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x03, PCI_CARD_SOUTHBRIDGE_PMU, 1, 2, 3, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x06, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&ali1541_device);
|
||||
device_add(&ali1543c_device); /* +0 */
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
@@ -88,15 +89,16 @@ machine_at_m579_init(const machine_t *model)
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE_IDE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x03, PCI_CARD_SOUTHBRIDGE_PMU, 1, 2, 3, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&ali1541_device);
|
||||
device_add(&ali1543c_device); /* +0 */
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -119,16 +121,17 @@ machine_at_gwlucas_init(const machine_t *model)
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0E, PCI_CARD_SOUTHBRIDGE_IDE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x03, PCI_CARD_SOUTHBRIDGE_PMU, 1, 2, 3, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUND, 1, 2, 3, 4); // ES1373
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUND, 1, 2, 3, 4); // ES1373
|
||||
pci_register_slot(0x14, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x12, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x10, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
|
||||
device_add(&ali1541_device);
|
||||
device_add(&ali1543c_device); /* +0 */
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
@@ -156,15 +159,16 @@ machine_at_5aa_init(const machine_t *model)
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE_IDE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x03, PCI_CARD_SOUTHBRIDGE_PMU, 1, 2, 3, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
|
||||
device_add(&ali1541_device);
|
||||
device_add(&ali1543c_device); /* +0 */
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -187,17 +191,18 @@ machine_at_5ax_init(const machine_t *model)
|
||||
machine_at_common_init_ex(model, 2);
|
||||
|
||||
pci_init(PCI_CONFIG_TYPE_1);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x00, PCI_CARD_NORTHBRIDGE, 0, 0, 0, 0);
|
||||
pci_register_slot(0x01, PCI_CARD_AGPBRIDGE, 1, 2, 0, 0);
|
||||
pci_register_slot(0x07, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0F, PCI_CARD_SOUTHBRIDGE_IDE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x03, PCI_CARD_SOUTHBRIDGE_PMU, 1, 2, 3, 4);
|
||||
pci_register_slot(0x02, PCI_CARD_SOUTHBRIDGE_USB, 1, 2, 3, 4);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x08, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
pci_register_slot(0x09, PCI_CARD_NORMAL, 2, 3, 4, 1);
|
||||
pci_register_slot(0x0A, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0B, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x0C, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
|
||||
device_add(&ali1541_device);
|
||||
device_add(&ali1543c_device); /* +0 */
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
@@ -392,6 +397,7 @@ machine_at_5sg100_init(const machine_t *model)
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 3, 4, 1, 2);
|
||||
pci_register_slot(0x0F, PCI_CARD_NORMAL, 4, 1, 2, 3);
|
||||
pci_register_slot(0x02, PCI_CARD_AGPBRIDGE, 0, 0, 0, 0);
|
||||
|
||||
device_add(&sis_5591_1997_device);
|
||||
device_add_params(&w83877_device, (void *) (W83877TF | W83877_3F0));
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
@@ -92,8 +92,8 @@ sysstat_out(UNUSED(uint16_t port), uint8_t val, void *priv)
|
||||
static uint8_t
|
||||
sysstat_in(UNUSED(uint16_t port), void *priv)
|
||||
{
|
||||
const cga_t *cga = priv;
|
||||
uint8_t ret = 0x0a; /* No idea what these bits are */
|
||||
const cga_t *cga = priv;
|
||||
uint8_t ret = 0x0a; /* No idea what these bits are */
|
||||
|
||||
/* External CRT. We don't emulate the LCD/CRT switching, let's just
|
||||
* frivolously use this bit to indicate we're using the LCD if the
|
||||
|
||||
@@ -675,23 +675,24 @@ europc_close(UNUSED(void *priv))
|
||||
}
|
||||
|
||||
static const device_config_t europc_config[] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{
|
||||
.name = "js9",
|
||||
.description = "JS9 Jumper (JIM)",
|
||||
.type = CONFIG_HEX16,
|
||||
.default_string = "",
|
||||
.default_int = 0x0250,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "js9",
|
||||
.description = "JS9 Jumper (JIM)",
|
||||
.type = CONFIG_HEX16,
|
||||
.default_string = NULL,
|
||||
.default_int = 0x0250,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "Disabled (250h)", .value = 0x0250 },
|
||||
{ .description = "Enabled (350h)", .value = 0x0350 },
|
||||
{ .description = "" }
|
||||
{ .description = "" }
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t europc_device = {
|
||||
|
||||
@@ -50,16 +50,14 @@
|
||||
#include <86box/machine.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
|
||||
#define STAT_PARITY 0x80
|
||||
#define STAT_RTIMEOUT 0x40
|
||||
#define STAT_TTIMEOUT 0x20
|
||||
#define STAT_LOCK 0x10
|
||||
#define STAT_CD 0x08
|
||||
#define STAT_SYSFLAG 0x04
|
||||
#define STAT_IFULL 0x02
|
||||
#define STAT_OFULL 0x01
|
||||
|
||||
#define STAT_PARITY 0x80
|
||||
#define STAT_RTIMEOUT 0x40
|
||||
#define STAT_TTIMEOUT 0x20
|
||||
#define STAT_LOCK 0x10
|
||||
#define STAT_CD 0x08
|
||||
#define STAT_SYSFLAG 0x04
|
||||
#define STAT_IFULL 0x02
|
||||
#define STAT_OFULL 0x01
|
||||
|
||||
static uint8_t key_queue[16];
|
||||
static int key_queue_start = 0;
|
||||
@@ -68,7 +66,7 @@ static int key_queue_end = 0;
|
||||
/*PCjr keyboard has no escape scancodes, and no scancodes beyond 54
|
||||
Map right alt to 54h (FN) */
|
||||
const scancode scancode_pcjr[512] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 000 */
|
||||
{ .mk = { 0x01, 0 }, .brk = { 0x81, 0 } }, /* 001 */
|
||||
{ .mk = { 0x02, 0 }, .brk = { 0x82, 0 } }, /* 002 */
|
||||
@@ -581,10 +579,9 @@ const scancode scancode_pcjr[512] = {
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fd */
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fe */
|
||||
{ .mk = { 0 }, .brk = { 0 } } /* 1ff */
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
|
||||
static void
|
||||
kbd_write(uint16_t port, uint8_t val, void *priv)
|
||||
{
|
||||
@@ -770,7 +767,7 @@ pit_irq0_timer_pcjr(int new_out, int old_out, UNUSED(void *priv))
|
||||
}
|
||||
|
||||
static const device_config_t pcjr_config[] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{
|
||||
.name = "display_type",
|
||||
.description = "Display type",
|
||||
@@ -785,7 +782,8 @@ static const device_config_t pcjr_config[] = {
|
||||
{ .description = "RGB (no brown)", .value = PCJR_RGB_NO_BROWN },
|
||||
{ .description = "RGB (IBM 5153)", .value = PCJR_RGB_IBM_5153 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "double_type",
|
||||
@@ -809,10 +807,14 @@ static const device_config_t pcjr_config[] = {
|
||||
.description = "Apply overscan deltas",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 1
|
||||
.default_int = 1,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t pcjr_device = {
|
||||
|
||||
@@ -245,34 +245,98 @@ ps1_read(uint16_t port, void *priv)
|
||||
static const device_config_t ps1_2011_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios_language",
|
||||
.description = "BIOS Language",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios_language",
|
||||
.description = "BIOS Language",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "english_us",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{ .name = "English (US)", .internal_name = "english_us", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 262144, .files = { "roms/machines/ibmps1es/FC0000_US.BIN", "" } },
|
||||
{ .name = "English (UK)", .internal_name = "english_uk", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 262144, .files = { "roms/machines/ibmps1es/F80000_UK.BIN", "roms/machines/ibmps1es/FC0000_UK.BIN", "" } },
|
||||
{ .name = "English (Canada)", .internal_name = "english_ca", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 262144, .files = { "roms/machines/ibmps1es/F80000_CA.BIN", "roms/machines/ibmps1es/FC0000_CA.BIN", "" } },
|
||||
{ .name = "Portuguese", .internal_name = "portuguese", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 262144, .files = { "roms/machines/ibmps1es/F80000_PT.BIN", "roms/machines/ibmps1es/FC0000_PT.BIN", "" } },
|
||||
{ .name = "German", .internal_name = "german", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 262144, .files = { "roms/machines/ibmps1es/F80000_DE.BIN", "roms/machines/ibmps1es/FC0000_DE.BIN", "" } },
|
||||
{ .name = "Swedish", .internal_name = "swedish", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 262144, .files = { "roms/machines/ibmps1es/F80000_SE.BIN", "roms/machines/ibmps1es/FC0000_SE.BIN", "" } },
|
||||
{ .name = "French", .internal_name = "french", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 262144, .files = { "roms/machines/ibmps1es/F80000_FR.BIN", "roms/machines/ibmps1es/FC0000_FR.BIN", "" } },
|
||||
{ .name = "Italian", .internal_name = "italian", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 524288, .files = { "roms/machines/ibmps1es/f80000.bin", "" } },
|
||||
{ .name = "Spanish", .internal_name = "spanish", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 524288, .files = { "roms/machines/ibmps1es/F80000_ES.bin", "" } },
|
||||
{
|
||||
.name = "English (US)",
|
||||
.internal_name = "english_us",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ibmps1es/FC0000_US.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "English (UK)",
|
||||
.internal_name = "english_uk",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ibmps1es/F80000_UK.BIN", "roms/machines/ibmps1es/FC0000_UK.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "English (Canada)",
|
||||
.internal_name = "english_ca",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ibmps1es/F80000_CA.BIN", "roms/machines/ibmps1es/FC0000_CA.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Portuguese",
|
||||
.internal_name = "portuguese",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ibmps1es/F80000_PT.BIN", "roms/machines/ibmps1es/FC0000_PT.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "German",
|
||||
.internal_name = "german",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ibmps1es/F80000_DE.BIN", "roms/machines/ibmps1es/FC0000_DE.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Swedish",
|
||||
.internal_name = "swedish",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ibmps1es/F80000_SE.BIN", "roms/machines/ibmps1es/FC0000_SE.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "French",
|
||||
.internal_name = "french",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 262144,
|
||||
.files = { "roms/machines/ibmps1es/F80000_FR.BIN", "roms/machines/ibmps1es/FC0000_FR.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Italian",
|
||||
.internal_name = "italian",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 524288,
|
||||
.files = { "roms/machines/ibmps1es/f80000.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Spanish",
|
||||
.internal_name = "spanish",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 524288,
|
||||
.files = { "roms/machines/ibmps1es/F80000_ES.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -298,7 +362,7 @@ ps1_setup(int model)
|
||||
ps1_t *ps;
|
||||
void *priv;
|
||||
|
||||
ps = (ps1_t *) calloc(1, sizeof(ps1_t));
|
||||
ps = (ps1_t *) calloc(1, sizeof(ps1_t));
|
||||
ps->model = model;
|
||||
|
||||
io_sethandler(0x0091, 1,
|
||||
@@ -323,25 +387,25 @@ ps1_setup(int model)
|
||||
|
||||
if (model == 2011) {
|
||||
const device_t *d = device_context_get_device();
|
||||
const char * bios = device_get_config_bios("bios_language");
|
||||
const char * first = device_get_bios_file(d, bios, 0);
|
||||
const char * second = device_get_bios_file(d, bios, 1);
|
||||
const char *bios = device_get_config_bios("bios_language");
|
||||
const char *first = device_get_bios_file(d, bios, 0);
|
||||
const char *second = device_get_bios_file(d, bios, 1);
|
||||
|
||||
if (!strcmp(bios, "english_us")) {
|
||||
/* US English */
|
||||
rom_init(&ps->high_rom, first,
|
||||
0xfc0000, 0x40000, 0x3ffff, 0, MEM_MAPPING_EXTERNAL);
|
||||
0xfc0000, 0x40000, 0x3ffff, 0, MEM_MAPPING_EXTERNAL);
|
||||
} else if (second == NULL) {
|
||||
/* Combined ROM. */
|
||||
rom_init(&ps->high_rom, first,
|
||||
0xf80000, 0x80000, 0x7ffff, 0, MEM_MAPPING_EXTERNAL);
|
||||
0xf80000, 0x80000, 0x7ffff, 0, MEM_MAPPING_EXTERNAL);
|
||||
} else {
|
||||
/* Split ROM. */
|
||||
rom_init(&ps->mid_rom, first,
|
||||
0xf80000, 0x40000, 0x3ffff, 0, MEM_MAPPING_EXTERNAL);
|
||||
0xf80000, 0x40000, 0x3ffff, 0, MEM_MAPPING_EXTERNAL);
|
||||
|
||||
rom_init(&ps->high_rom, second,
|
||||
0xfc0000, 0x40000, 0x3ffff, 0, MEM_MAPPING_EXTERNAL);
|
||||
0xfc0000, 0x40000, 0x3ffff, 0, MEM_MAPPING_EXTERNAL);
|
||||
}
|
||||
|
||||
lpt_set_next_inst(255);
|
||||
@@ -359,7 +423,9 @@ ps1_setup(int model)
|
||||
device_add(&ps1vga_device);
|
||||
} else if (model == 2121) {
|
||||
io_sethandler(0x00e0, 2,
|
||||
ps1_read, NULL, NULL, ps1_write, NULL, NULL, ps);
|
||||
ps1_read, NULL, NULL,
|
||||
ps1_write, NULL, NULL,
|
||||
ps);
|
||||
|
||||
if (rom_present("roms/machines/ibmps1_2121/F80000.BIN")) {
|
||||
rom_init(&ps->mid_rom,
|
||||
@@ -412,9 +478,9 @@ machine_ps1_p1_handler(void)
|
||||
int
|
||||
machine_ps1_m2011_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
const char* fn;
|
||||
uint32_t offset;
|
||||
int ret;
|
||||
const char *fn;
|
||||
uint32_t offset;
|
||||
|
||||
if (!device_available(model->device)) {
|
||||
/* No ROMs available. */
|
||||
@@ -424,7 +490,7 @@ machine_ps1_m2011_init(const machine_t *model)
|
||||
device_context(model->device);
|
||||
if ((fn = device_get_bios_file(model->device, device_get_config_bios("bios_language"), 1)) == NULL) {
|
||||
/* Combined ROM or US English. */
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios_language"), 0);
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios_language"), 0);
|
||||
offset = (!strcmp("english_us", device_get_config_bios("bios_language"))) ? 0x20000 : 0x60000;
|
||||
} else {
|
||||
/* Separated ROM. */
|
||||
@@ -432,7 +498,7 @@ machine_ps1_m2011_init(const machine_t *model)
|
||||
}
|
||||
|
||||
if (!fn) {
|
||||
fn = device_get_bios_file(model->device, "us_english", 0);
|
||||
fn = device_get_bios_file(model->device, "us_english", 0);
|
||||
offset = 0x20000;
|
||||
}
|
||||
|
||||
@@ -447,7 +513,7 @@ machine_ps1_m2011_init(const machine_t *model)
|
||||
|
||||
device_context(model->device);
|
||||
|
||||
ps1_setup(2011);
|
||||
ps1_setup(2011);
|
||||
|
||||
device_context_restore();
|
||||
|
||||
|
||||
@@ -152,7 +152,7 @@ ps2_isa_setup(int model, int cpu_type)
|
||||
ps2_isa_t *ps2;
|
||||
void *priv;
|
||||
|
||||
ps2 = (ps2_isa_t *) calloc(1, sizeof(ps2_isa_t));
|
||||
ps2 = (ps2_isa_t *) calloc(1, sizeof(ps2_isa_t));
|
||||
ps2->model = model;
|
||||
ps2->cpu_type = cpu_type;
|
||||
|
||||
@@ -167,7 +167,7 @@ ps2_isa_setup(int model, int cpu_type)
|
||||
|
||||
ps2->uart = device_add_inst(&ns16450_device, 1);
|
||||
|
||||
ps2->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
ps2->lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_ext(ps2->lpt, 1);
|
||||
|
||||
lpt_port_remove(ps2->lpt);
|
||||
|
||||
@@ -105,8 +105,8 @@ static struct ps2_t {
|
||||
serial_t *uart;
|
||||
lpt_t *lpt;
|
||||
|
||||
vga_t* mb_vga;
|
||||
int has_e0000_hole;
|
||||
vga_t *mb_vga;
|
||||
int has_e0000_hole;
|
||||
} ps2;
|
||||
|
||||
/*The model 70 type 3/4 BIOS performs cache testing. Since 86Box doesn't have any
|
||||
@@ -144,7 +144,7 @@ static struct ps2_t {
|
||||
|
||||
static uint8_t ps2_cache[65536];
|
||||
static int ps2_cache_valid[65536 / 8];
|
||||
static void mem_encoding_update(void);
|
||||
static void mem_encoding_update(void);
|
||||
// #define ENABLE_PS2_MCA_LOG 1
|
||||
#ifdef ENABLE_PS2_MCA_LOG
|
||||
int ps2_mca_do_log = ENABLE_PS2_MCA_LOG;
|
||||
@@ -374,45 +374,47 @@ ps55_model_50t_read(uint16_t port)
|
||||
return ps2.planar_id >> 8;
|
||||
case 0x102:
|
||||
return ps2.option[0];
|
||||
case 0x103: {
|
||||
uint8_t val = 0xff;
|
||||
/*
|
||||
I/O 103h - Bit 7-4: Memory Card ID (Connector 1 or 3)
|
||||
Bit 3-0: Memory Card ID (Connector 2)
|
||||
case 0x103:
|
||||
{
|
||||
uint8_t val = 0xff;
|
||||
/*
|
||||
I/O 103h - Bit 7-4: Memory Card ID (Connector 1 or 3)
|
||||
Bit 3-0: Memory Card ID (Connector 2)
|
||||
|
||||
Memory Card ID: 7h = 2 MB Memory Card 2 or 3 Installed
|
||||
5h = 4 MB Memory Card 2 Installed
|
||||
*/
|
||||
switch (mem_size / 1024) {
|
||||
case 2:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0xff;
|
||||
else
|
||||
val = 0x7f;
|
||||
break;
|
||||
case 4:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0xff;
|
||||
else
|
||||
val = 0x77;
|
||||
break;
|
||||
case 6:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0x7f;
|
||||
else
|
||||
val = 0x77;
|
||||
break;
|
||||
case 8:
|
||||
default:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0x5f;
|
||||
else
|
||||
val = 0x77;
|
||||
break;
|
||||
Memory Card ID: 7h = 2 MB Memory Card 2 or 3 Installed
|
||||
5h = 4 MB Memory Card 2 Installed
|
||||
*/
|
||||
switch (mem_size / 1024) {
|
||||
case 2:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0xff;
|
||||
else
|
||||
val = 0x7f;
|
||||
break;
|
||||
case 4:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0xff;
|
||||
else
|
||||
val = 0x77;
|
||||
break;
|
||||
case 6:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0x7f;
|
||||
else
|
||||
val = 0x77;
|
||||
break;
|
||||
case 8:
|
||||
default:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0x5f;
|
||||
else
|
||||
val = 0x77;
|
||||
break;
|
||||
}
|
||||
ps2_mca_log(" Read MCA %04X %02X %04X:%04X mem_size = %d, ps2option1 = %2X\n", port, val, cs >> 4, cpu_state.pc, mem_size, ps2.option[1]);
|
||||
return val;
|
||||
}
|
||||
ps2_mca_log(" Read MCA %04X %02X %04X:%04X mem_size = %d, ps2option1 = %2X\n", port, val, cs >> 4, cpu_state.pc, mem_size, ps2.option[1]);
|
||||
return val;
|
||||
} case 0x104:
|
||||
case 0x104:
|
||||
return ps2.option[2];
|
||||
case 0x105:
|
||||
return ps2.option[3];
|
||||
@@ -434,32 +436,34 @@ ps55_model_50v_read(uint16_t port)
|
||||
return ps2.planar_id >> 8;
|
||||
case 0x102:
|
||||
return ps2.option[0];
|
||||
case 0x103: {
|
||||
uint8_t val = 0xff;
|
||||
/*
|
||||
I/O 103h - Bit 7-4: Reserved
|
||||
Bit 3-0: Memory Card ID (Connector 3 or 1)
|
||||
case 0x103:
|
||||
{
|
||||
uint8_t val = 0xff;
|
||||
/*
|
||||
I/O 103h - Bit 7-4: Reserved
|
||||
Bit 3-0: Memory Card ID (Connector 3 or 1)
|
||||
|
||||
Memory Card ID: 8h = 4 MB Memory Card IV Installed
|
||||
Fh = No Card Installed
|
||||
*/
|
||||
switch (mem_size / 1024) {
|
||||
case 4:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0xff;
|
||||
else
|
||||
val = 0xf8;
|
||||
break;
|
||||
case 8:
|
||||
default:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0xf8;
|
||||
else
|
||||
val = 0xf8;
|
||||
break;
|
||||
Memory Card ID: 8h = 4 MB Memory Card IV Installed
|
||||
Fh = No Card Installed
|
||||
*/
|
||||
switch (mem_size / 1024) {
|
||||
case 4:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0xff;
|
||||
else
|
||||
val = 0xf8;
|
||||
break;
|
||||
case 8:
|
||||
default:
|
||||
if (ps2.option[1] & 0x04)
|
||||
val = 0xf8;
|
||||
else
|
||||
val = 0xf8;
|
||||
break;
|
||||
}
|
||||
return val;
|
||||
}
|
||||
return val;
|
||||
} case 0x104:
|
||||
case 0x104:
|
||||
/* Reading cache ID (bit 3-2) always returns zero */
|
||||
return ps2.option[2] & 0xf3;
|
||||
case 0x105:
|
||||
@@ -530,10 +534,10 @@ model_55sx_mem_recalc(void)
|
||||
#ifdef ENABLE_PS2_MCA_LOG
|
||||
int enabled_mem = 0;
|
||||
#endif
|
||||
int base = 0;
|
||||
int remap_size = (ps2.option[3] & 0x10) ? 384 : 256;
|
||||
int bit_mask = 0x00;
|
||||
int max_rows = 4;
|
||||
int base = 0;
|
||||
int remap_size = (ps2.option[3] & 0x10) ? 384 : 256;
|
||||
int bit_mask = 0x00;
|
||||
int max_rows = 4;
|
||||
int bank_to_rows[16] = { 4, 2, 1, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 2, 1, 0 };
|
||||
|
||||
ps2_mca_log("%02X %02X\n", ps2.option[1], ps2.option[3]);
|
||||
@@ -968,18 +972,15 @@ ps2_mca_write(uint16_t port, uint8_t val, UNUSED(void *priv))
|
||||
case 0x102:
|
||||
if (!(ps2.setup & PS2_SETUP_IO))
|
||||
ps2.planar_write(port, val);
|
||||
else if (!(ps2.setup & PS2_SETUP_VGA))
|
||||
{
|
||||
if (ps2.mb_vga)
|
||||
{
|
||||
else if (!(ps2.setup & PS2_SETUP_VGA)) {
|
||||
if (ps2.mb_vga) {
|
||||
if (vga_isenabled(ps2.mb_vga))
|
||||
vga_disable(ps2.mb_vga);
|
||||
if (val & 1)
|
||||
vga_enable(ps2.mb_vga);
|
||||
}
|
||||
ps2.pos_vga = val;
|
||||
}
|
||||
else if (ps2.adapter_setup & PS2_ADAPTER_SETUP)
|
||||
} else if (ps2.adapter_setup & PS2_ADAPTER_SETUP)
|
||||
mca_write(port, val);
|
||||
break;
|
||||
case 0x103:
|
||||
@@ -1595,7 +1596,7 @@ machine_ps2_common_init(const machine_t *model)
|
||||
|
||||
ps2.uart = device_add_inst(&ns16550_device, 1);
|
||||
|
||||
ps2.lpt = device_add_inst(&lpt_port_device, 1);
|
||||
ps2.lpt = device_add_inst(&lpt_port_device, 1);
|
||||
lpt_set_ext(ps2.lpt, 1);
|
||||
|
||||
ps2.has_e0000_hole = 0;
|
||||
@@ -1604,24 +1605,36 @@ machine_ps2_common_init(const machine_t *model)
|
||||
static const device_config_t ps2_model_50_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ibmps2_m50",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "IBM PS/2 model 50", .internal_name = "ibmps2_m50", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 4, .local = 0, .size = 131072, .files = { "roms/machines/ibmps2_m50/90x7420.zm13",
|
||||
"roms/machines/ibmps2_m50/90x7429.zm18",
|
||||
"roms/machines/ibmps2_m50/90x7423.zm14",
|
||||
"roms/machines/ibmps2_m50/90x7426.zm16", "" } },
|
||||
{ .name = "IBM PS/2 model 50Z", .internal_name = "ibmps2_m50z", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 2, .local = 0, .size = 131072, .files = { "roms/machines/ibmps2_m50/15F8366.BIN",
|
||||
"roms/machines/ibmps2_m50/15F8365.BIN", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "IBM PS/2 model 50",
|
||||
.internal_name = "ibmps2_m50",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 4,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ibmps2_m50/90x7420.zm13", "roms/machines/ibmps2_m50/90x7429.zm18",
|
||||
"roms/machines/ibmps2_m50/90x7423.zm14", "roms/machines/ibmps2_m50/90x7426.zm16", "" }
|
||||
},
|
||||
{
|
||||
.name = "IBM PS/2 model 50Z",
|
||||
.internal_name = "ibmps2_m50z",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 131072,
|
||||
.files = { "roms/machines/ibmps2_m50/15F8366.BIN", "roms/machines/ibmps2_m50/15F8365.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -1644,8 +1657,8 @@ const device_t ps2_model_50_device = {
|
||||
int
|
||||
machine_ps2_model_50_init(const machine_t *model)
|
||||
{
|
||||
int ret = 0;
|
||||
const char* fn[4];
|
||||
int ret = 0;
|
||||
const char *fn[4];
|
||||
|
||||
/* No ROMs available */
|
||||
if (!device_available(model->device))
|
||||
@@ -1654,11 +1667,11 @@ machine_ps2_model_50_init(const machine_t *model)
|
||||
device_context(model->device);
|
||||
int is_50z = !strcmp(device_get_config_bios("bios"), "ibmps2_m50z");
|
||||
if (is_50z) {
|
||||
for (int i = 0; i < 2; i++)
|
||||
for (uint8_t i = 0; i < 2; i++)
|
||||
fn[i] = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), i);
|
||||
ret = bios_load_interleaved(fn[0], fn[1], 0x000e0000, 131072, 0);
|
||||
} else {
|
||||
for (int i = 0; i < 4; i++)
|
||||
for (uint8_t i = 0; i < 4; i++)
|
||||
fn[i] = device_get_bios_file(machine_get_device(machine), device_get_config_bios("bios"), i);
|
||||
ret = bios_load_interleaved(fn[0], fn[1], 0x000f0000, 131072, 0);
|
||||
ret &= bios_load_aux_interleaved(fn[2], fn[3], 0x000e0000, 65536, 0);
|
||||
@@ -1841,7 +1854,7 @@ ps55_mca_board_model_50t_init(void)
|
||||
/* The slot 5 is reserved for the Integrated Fixed Disk II (an internal ESDI hard drive). */
|
||||
mca_init(5);
|
||||
|
||||
ps2.planar_read = ps55_model_50t_read;
|
||||
ps2.planar_read = ps55_model_50t_read;
|
||||
ps2.planar_write = ps55_model_50tv_write;
|
||||
|
||||
device_add(&ps2_nvr_device);
|
||||
@@ -1853,26 +1866,26 @@ ps55_mca_board_model_50t_init(void)
|
||||
ps2.has_e0000_hole = 1;
|
||||
|
||||
mem_mapping_add(&ps2.split_mapping,
|
||||
(mem_size + 256) * 1024,
|
||||
256 * 1024,
|
||||
ps2_read_split_ram,
|
||||
ps2_read_split_ramw,
|
||||
ps2_read_split_raml,
|
||||
ps2_write_split_ram,
|
||||
ps2_write_split_ramw,
|
||||
ps2_write_split_raml,
|
||||
&ram[0xa0000],
|
||||
MEM_MAPPING_INTERNAL,
|
||||
NULL);
|
||||
(mem_size + 256) * 1024,
|
||||
256 * 1024,
|
||||
ps2_read_split_ram,
|
||||
ps2_read_split_ramw,
|
||||
ps2_read_split_raml,
|
||||
ps2_write_split_ram,
|
||||
ps2_write_split_ramw,
|
||||
ps2_write_split_raml,
|
||||
&ram[0xa0000],
|
||||
MEM_MAPPING_INTERNAL,
|
||||
NULL);
|
||||
mem_mapping_disable(&ps2.split_mapping);
|
||||
|
||||
if (mem_size > 8192) {
|
||||
/* Only 8 MB supported on planar, create a memory expansion card for the rest */
|
||||
ps2_mca_mem_fffc_init(8);
|
||||
ps2_mca_mem_fffc_init(8);
|
||||
}
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
ps2.mb_vga = (vga_t *)device_add(&ps1vga_mca_device);
|
||||
ps2.mb_vga = (vga_t *) device_add(&ps1vga_mca_device);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -1884,7 +1897,7 @@ ps55_mca_board_model_50v_init(void)
|
||||
/* The slot 5 is reserved for the Integrated Fixed Disk II (an internal ESDI hard drive). */
|
||||
mca_init(5);
|
||||
|
||||
ps2.planar_read = ps55_model_50v_read;
|
||||
ps2.planar_read = ps55_model_50v_read;
|
||||
ps2.planar_write = ps55_model_50tv_write;
|
||||
|
||||
device_add(&ps2_nvr_device);
|
||||
@@ -1897,17 +1910,17 @@ ps55_mca_board_model_50v_init(void)
|
||||
ps2.has_e0000_hole = 1;
|
||||
|
||||
mem_mapping_add(&ps2.split_mapping,
|
||||
(mem_size + 256) * 1024,
|
||||
256 * 1024,
|
||||
ps2_read_split_ram,
|
||||
ps2_read_split_ramw,
|
||||
ps2_read_split_raml,
|
||||
ps2_write_split_ram,
|
||||
ps2_write_split_ramw,
|
||||
ps2_write_split_raml,
|
||||
&ram[0xa0000],
|
||||
MEM_MAPPING_INTERNAL,
|
||||
NULL);
|
||||
(mem_size + 256) * 1024,
|
||||
256 * 1024,
|
||||
ps2_read_split_ram,
|
||||
ps2_read_split_ramw,
|
||||
ps2_read_split_raml,
|
||||
ps2_write_split_ram,
|
||||
ps2_write_split_ramw,
|
||||
ps2_write_split_raml,
|
||||
&ram[0xa0000],
|
||||
MEM_MAPPING_INTERNAL,
|
||||
NULL);
|
||||
mem_mapping_disable(&ps2.split_mapping);
|
||||
|
||||
mem_mapping_add(&ps2.cache_mapping,
|
||||
@@ -1924,13 +1937,12 @@ ps55_mca_board_model_50v_init(void)
|
||||
NULL);
|
||||
mem_mapping_disable(&ps2.cache_mapping);
|
||||
|
||||
if (mem_size > 8192) {
|
||||
/* Only 8 MB supported on planar, create a memory expansion card for the rest */
|
||||
ps2_mca_mem_fffc_init(8);
|
||||
}
|
||||
/* Only 8 MB supported on planar, create a memory expansion card for the rest */
|
||||
if (mem_size > 8192)
|
||||
ps2_mca_mem_fffc_init(8);
|
||||
|
||||
if (gfxcard[0] == VID_INTERNAL)
|
||||
ps2.mb_vga = (vga_t *)device_add(&ps1vga_mca_device);
|
||||
ps2.mb_vga = (vga_t *) device_add(&ps1vga_mca_device);
|
||||
}
|
||||
|
||||
int
|
||||
@@ -1939,7 +1951,7 @@ machine_ps55_model_50t_init(const machine_t *model)
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/ibmps55_m50t/38F6933.BIN",
|
||||
0x000e0000, 131072, 0);
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
@@ -1947,15 +1959,15 @@ machine_ps55_model_50t_init(const machine_t *model)
|
||||
machine_ps2_common_init(model);
|
||||
|
||||
/*
|
||||
* Planar ID
|
||||
* FFFAh - PS/55 model 5551-S0x, T0x (stage 1?)
|
||||
* FFEEh - PS/55 model 5551-S1x, T1x (stage 2?)
|
||||
* Verification in BIOS P/N 38F6933: FBxx -> 4 slots (error), xxEE -> 5 slots (ok), others -> 8 (error)
|
||||
*
|
||||
* The only difference between S and T models is the CPU speed (16 MHz vs 20 MHz).
|
||||
* The POST measures the speed, and sets a flag in the BIOS Data Area to indicate the sub model.
|
||||
* The VM in 86Box runs faster than the real, so the POST always determines it as the T model.
|
||||
*/
|
||||
* Planar ID
|
||||
* FFFAh - PS/55 model 5551-S0x, T0x (stage 1?)
|
||||
* FFEEh - PS/55 model 5551-S1x, T1x (stage 2?)
|
||||
* Verification in BIOS P/N 38F6933: FBxx -> 4 slots (error), xxEE -> 5 slots (ok), others -> 8 (error)
|
||||
*
|
||||
* The only difference between S and T models is the CPU speed (16 MHz vs 20 MHz).
|
||||
* The POST measures the speed, and sets a flag in the BIOS Data Area to indicate the sub model.
|
||||
* The VM in 86Box runs faster than the real, so the POST always determines it as the T model.
|
||||
*/
|
||||
ps2.planar_id = 0xffee;
|
||||
ps55_mca_board_model_50t_init();
|
||||
|
||||
@@ -1979,10 +1991,10 @@ machine_ps55_model_50v_init(const machine_t *model)
|
||||
machine_ps2_common_init(model);
|
||||
|
||||
/*
|
||||
* Planar ID
|
||||
* F1FFh - PS/55 model 5551-V0x, V1x
|
||||
* Verification in BIOS P/N 56F7416,56F7417: FBxx -> 5 slots (ok), F1xx -> 5 slots (ok), others -> 8 (error)
|
||||
*/
|
||||
* Planar ID
|
||||
* F1FFh - PS/55 model 5551-V0x, V1x
|
||||
* Verification in BIOS P/N 56F7416,56F7417: FBxx -> 5 slots (ok), F1xx -> 5 slots (ok), others -> 8 (error)
|
||||
*/
|
||||
ps2.planar_id = 0xf1ff;
|
||||
ps55_mca_board_model_50v_init();
|
||||
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
#include <86box/m_tandy.h>
|
||||
#include <86box/plat_unused.h>
|
||||
|
||||
|
||||
enum {
|
||||
TYPE_TANDY = 0,
|
||||
TYPE_TANDY1000SX,
|
||||
@@ -60,9 +59,8 @@ enum {
|
||||
EEPROM_WRITE
|
||||
};
|
||||
|
||||
|
||||
static const scancode scancode_tandy[512] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 000 */
|
||||
{ .mk = { 0x01, 0 }, .brk = { 0x81, 0 } }, /* 001 */
|
||||
{ .mk = { 0x02, 0 }, .brk = { 0x82, 0 } }, /* 002 */
|
||||
@@ -575,7 +573,7 @@ static const scancode scancode_tandy[512] = {
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fd */
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fe */
|
||||
{ .mk = { 0 }, .brk = { 0 } } /* 1ff */
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
static int eep_data_out;
|
||||
@@ -598,8 +596,6 @@ tandy_log(const char *fmt, ...)
|
||||
# define tandy_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
static void
|
||||
eep_write(UNUSED(uint16_t addr), uint8_t val, void *priv)
|
||||
{
|
||||
|
||||
@@ -61,16 +61,16 @@ machine_v86p_init(const machine_t *model)
|
||||
if (!ret) {
|
||||
/* Try an older version of the BIOS. */
|
||||
rom_id = 1;
|
||||
ret = bios_load_interleavedr("roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_090489_Even.rom",
|
||||
"roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_090489_Odd.rom",
|
||||
0x000f8000, 65536, 0);
|
||||
ret = bios_load_interleavedr("roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_090489_Even.rom",
|
||||
"roms/machines/v86p/INTEL8086AWD_BIOS_S3.1_V86P_090489_Odd.rom",
|
||||
0x000f8000, 65536, 0);
|
||||
}
|
||||
|
||||
if (!ret) {
|
||||
/* Try JVERNET's BIOS. */
|
||||
rom_id = 2;
|
||||
ret = bios_load_linear("roms/machines/v86p/V86P.ROM",
|
||||
0x000f0000, 65536, 0);
|
||||
ret = bios_load_linear("roms/machines/v86p/V86P.ROM",
|
||||
0x000f0000, 65536, 0);
|
||||
}
|
||||
|
||||
if (bios_only || !ret)
|
||||
|
||||
@@ -65,46 +65,106 @@ machine_xt_common_init(const machine_t *model, int fixed_floppy)
|
||||
static const device_config_t ibmpc_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ibm5150_5700671",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "5700671 (10/19/81)", .internal_name = "ibm5150_5700671", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/ibmpc/BIOS_IBM5150_19OCT81_5700671_U33.BIN", "" } },
|
||||
{ .name = "5700051 (04/24/81)", .internal_name = "ibm5150_5700051", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/ibmpc/BIOS_IBM5150_24APR81_5700051_U33.BIN", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "5700671 (10/19/81)",
|
||||
.internal_name = "ibm5150_5700671",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/ibmpc/BIOS_IBM5150_19OCT81_5700671_U33.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "5700051 (04/24/81)",
|
||||
.internal_name = "ibm5150_5700051",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/ibmpc/BIOS_IBM5150_24APR81_5700051_U33.BIN", "" }
|
||||
},
|
||||
|
||||
// GLaBIOS for IBM PC
|
||||
{ .name = "GLaBIOS 0.4.0 (8088)", .internal_name = "glabios_040_8088", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/glabios/GLABIOS_0.4.0_8P.ROM", "" } },
|
||||
{ .name = "GLaBIOS 0.4.0 (V20)", .internal_name = "glabios_040_v20", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/glabios/GLABIOS_0.4.0_VP.ROM", "" } },
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (8088)",
|
||||
.internal_name = "glabios_040_8088",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_8P.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (V20)",
|
||||
.internal_name = "glabios_040_v20",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_VP.ROM", "" }
|
||||
},
|
||||
|
||||
// The following are Diagnostic ROMs.
|
||||
{ .name = "Supersoft Diagnostics", .internal_name = "diag_supersoft", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/diagnostic/Supersoft_PCXT_8KB.bin", "" } },
|
||||
{ .name = "Ruud's Diagnostic Rom", .internal_name = "diag_ruuds", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/diagnostic/ruuds_diagnostic_rom_v5.4_8kb.bin", "" } },
|
||||
{ .name = "XT RAM Test", .internal_name = "diag_xtramtest", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/diagnostic/xtramtest_8k.bin", "" } },
|
||||
{
|
||||
.name = "Supersoft Diagnostics",
|
||||
.internal_name = "diag_supersoft",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/diagnostic/Supersoft_PCXT_8KB.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Ruud's Diagnostic Rom",
|
||||
.internal_name = "diag_ruuds",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/diagnostic/ruuds_diagnostic_rom_v5.4_8kb.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "XT RAM Test",
|
||||
.internal_name = "diag_xtramtest",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/diagnostic/xtramtest_8k.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "enable_basic",
|
||||
.description = "IBM Cassette Basic",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 1
|
||||
.name = "enable_basic",
|
||||
.description = "IBM Cassette Basic",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 1,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -175,46 +235,106 @@ machine_ibmpc_init(const machine_t *model)
|
||||
static const device_config_t ibmpc82_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "ibm5150_1501476",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "1501476 (10/27/82)", .internal_name = "ibm5150_1501476", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/ibmpc82/BIOS_5150_27OCT82_1501476_U33.BIN", "" } },
|
||||
{ .name = "5000024 (08/16/82)", .internal_name = "ibm5150_5000024", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/ibmpc82/BIOS_5150_16AUG82_5000024_U33.BIN", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "1501476 (10/27/82)",
|
||||
.internal_name = "ibm5150_1501476",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/ibmpc82/BIOS_5150_27OCT82_1501476_U33.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "5000024 (08/16/82)",
|
||||
.internal_name = "ibm5150_5000024",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/ibmpc82/BIOS_5150_16AUG82_5000024_U33.BIN", "" }
|
||||
},
|
||||
|
||||
// GLaBIOS for IBM PC
|
||||
{ .name = "GLaBIOS 0.4.0 (8088)", .internal_name = "glabios_040_8088", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/glabios/GLABIOS_0.4.0_8P.ROM", "" } },
|
||||
{ .name = "GLaBIOS 0.4.0 (V20)", .internal_name = "glabios_040_v20", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/glabios/GLABIOS_0.4.0_VP.ROM", "" } },
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (8088)",
|
||||
.internal_name = "glabios_040_8088",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_8P.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (V20)",
|
||||
.internal_name = "glabios_040_v20",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_VP.ROM", "" }
|
||||
},
|
||||
|
||||
// The following are Diagnostic ROMs.
|
||||
{ .name = "Supersoft Diagnostics", .internal_name = "diag_supersoft", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/diagnostic/Supersoft_PCXT_8KB.bin", "" } },
|
||||
{ .name = "Ruud's Diagnostic Rom", .internal_name = "diag_ruuds", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/diagnostic/ruuds_diagnostic_rom_v5.4_8kb.bin", "" } },
|
||||
{ .name = "XT RAM Test", .internal_name = "diag_xtramtest", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 40960, .files = { "roms/machines/diagnostic/xtramtest_8k.bin", "" } },
|
||||
{
|
||||
.name = "Supersoft Diagnostics",
|
||||
.internal_name = "diag_supersoft",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/diagnostic/Supersoft_PCXT_8KB.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "Ruud's Diagnostic Rom",
|
||||
.internal_name = "diag_ruuds",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/diagnostic/ruuds_diagnostic_rom_v5.4_8kb.bin", "" }
|
||||
},
|
||||
{
|
||||
.name = "XT RAM Test",
|
||||
.internal_name = "diag_xtramtest",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/diagnostic/xtramtest_8k.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 1
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 1,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "enable_basic",
|
||||
.description = "IBM Cassette Basic",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 1
|
||||
.name = "enable_basic",
|
||||
.description = "IBM Cassette Basic",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 1,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -292,6 +412,7 @@ static const device_config_t ibmxt_config[] = {
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "1501512 (11/08/82)",
|
||||
@@ -300,7 +421,8 @@ static const device_config_t ibmxt_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/ibmxt/BIOS_5160_08NOV82_U18_1501512.BIN", "roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
.files = { "roms/machines/ibmxt/BIOS_5160_08NOV82_U18_1501512.BIN",
|
||||
"roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "1501512 (11/08/82) (Alt)",
|
||||
@@ -309,7 +431,8 @@ static const device_config_t ibmxt_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/ibmxt/BIOS_5160_08NOV82_U18_1501512.BIN", "roms/machines/ibmxt/BIOS_5160_08NOV82_U19_6359116.BIN", "" }
|
||||
.files = { "roms/machines/ibmxt/BIOS_5160_08NOV82_U18_1501512.BIN",
|
||||
"roms/machines/ibmxt/BIOS_5160_08NOV82_U19_6359116.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "5000026 (08/16/82)",
|
||||
@@ -318,7 +441,8 @@ static const device_config_t ibmxt_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/ibmxt/BIOS_5160_16AUG82_U18_5000026.BIN", "roms/machines/ibmxt/BIOS_5160_16AUG82_U19_5000027.BIN", "" }
|
||||
.files = { "roms/machines/ibmxt/BIOS_5160_16AUG82_U18_5000026.BIN",
|
||||
"roms/machines/ibmxt/BIOS_5160_16AUG82_U19_5000027.BIN", "" }
|
||||
},
|
||||
|
||||
// GLaBIOS for IBM XT
|
||||
@@ -329,7 +453,8 @@ static const device_config_t ibmxt_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 1,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_8X.ROM", "roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_8X.ROM",
|
||||
"roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (V20)",
|
||||
@@ -338,7 +463,8 @@ static const device_config_t ibmxt_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 1,
|
||||
.size = 40960,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_VX.ROM", "roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_VX.ROM",
|
||||
"roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
},
|
||||
|
||||
// The following are Diagnostic ROMs.
|
||||
@@ -349,7 +475,8 @@ static const device_config_t ibmxt_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 2,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/diagnostic/Supersoft_PCXT_32KB.bin", "roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
.files = { "roms/machines/diagnostic/Supersoft_PCXT_32KB.bin",
|
||||
"roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Ruud's Diagnostic Rom",
|
||||
@@ -358,7 +485,8 @@ static const device_config_t ibmxt_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 2,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/diagnostic/ruuds_diagnostic_rom_v5.4_32kb.bin", "roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
.files = { "roms/machines/diagnostic/ruuds_diagnostic_rom_v5.4_32kb.bin",
|
||||
"roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "XT RAM Test",
|
||||
@@ -367,22 +495,33 @@ static const device_config_t ibmxt_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 2,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/diagnostic/xtramtest_32k.bin", "roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
.files = { "roms/machines/diagnostic/xtramtest_32k.bin",
|
||||
"roms/machines/ibmxt/BIOS_5160_08NOV82_U19_5000027.BIN", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 1
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 1,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "enable_basic",
|
||||
.description = "IBM Cassette Basic",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 1
|
||||
.name = "enable_basic",
|
||||
.description = "IBM Cassette Basic",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 1,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -421,10 +560,10 @@ machine_ibmxt_init(const machine_t *model)
|
||||
enable_basic = machine_get_config_int("enable_basic");
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
local = device_get_bios_local(model->device, device_get_config_bios("bios"));
|
||||
|
||||
|
||||
if (local == 0) // Offset for stock roms
|
||||
offset = 0x6000;
|
||||
ret = bios_load_linear(fn, 0x000fe000, 65536, offset);
|
||||
offset = 0x6000;
|
||||
ret = bios_load_linear(fn, 0x000fe000, 65536, offset);
|
||||
|
||||
if (enable_basic && ret) {
|
||||
if (local == 0) { // needed for stock roms
|
||||
@@ -463,6 +602,7 @@ static const device_config_t ibmxt86_config[] = {
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "1501512 (05/09/86)",
|
||||
@@ -471,7 +611,8 @@ static const device_config_t ibmxt86_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/ibmxt86/BIOS_5160_09MAY86_U18_59X7268_62X0890_27256_F800.BIN", "roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", "" }
|
||||
.files = { "roms/machines/ibmxt86/BIOS_5160_09MAY86_U18_59X7268_62X0890_27256_F800.BIN",
|
||||
"roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "5000026 (01/10/86)",
|
||||
@@ -480,7 +621,8 @@ static const device_config_t ibmxt86_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/ibmxt86/BIOS_5160_10JAN86_U18_62X0851_27256_F800.BIN", "roms/machines/ibmxt86/BIOS_5160_10JAN86_U19_62X0854_27256_F000.BIN", "" }
|
||||
.files = { "roms/machines/ibmxt86/BIOS_5160_10JAN86_U18_62X0851_27256_F800.BIN",
|
||||
"roms/machines/ibmxt86/BIOS_5160_10JAN86_U19_62X0854_27256_F000.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "1501512 (01/10/86) (Alt)",
|
||||
@@ -489,7 +631,8 @@ static const device_config_t ibmxt86_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 0,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/ibmxt86/BIOS_5160_10JAN86_U18_62X0852_27256_F800.BIN", "roms/machines/ibmxt86/BIOS_5160_10JAN86_U19_62X0853_27256_F000.BIN", "" }
|
||||
.files = { "roms/machines/ibmxt86/BIOS_5160_10JAN86_U18_62X0852_27256_F800.BIN",
|
||||
"roms/machines/ibmxt86/BIOS_5160_10JAN86_U19_62X0853_27256_F000.BIN", "" }
|
||||
},
|
||||
|
||||
// GLaBIOS for IBM XT
|
||||
@@ -500,7 +643,8 @@ static const device_config_t ibmxt86_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 1,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_8X.ROM", "roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", "" }
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_8X.ROM",
|
||||
"roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (V20)",
|
||||
@@ -509,7 +653,8 @@ static const device_config_t ibmxt86_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 1,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_VX.ROM", "roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", "" }
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_VX.ROM",
|
||||
"roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", "" }
|
||||
},
|
||||
|
||||
// The following are Diagnostic ROMs.
|
||||
@@ -520,7 +665,8 @@ static const device_config_t ibmxt86_config[] = {
|
||||
.files_no = 2,
|
||||
.local = 2,
|
||||
.size = 65536,
|
||||
.files = { "roms/machines/diagnostic/Supersoft_PCXT_32KB.bin", "roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", "" }
|
||||
.files = { "roms/machines/diagnostic/Supersoft_PCXT_32KB.bin",
|
||||
"roms/machines/ibmxt86/BIOS_5160_09MAY86_U19_62X0819_68X4370_27256_F000.BIN", "" }
|
||||
},
|
||||
{
|
||||
.name = "Ruud's Diagnostic Rom",
|
||||
@@ -545,10 +691,15 @@ static const device_config_t ibmxt86_config[] = {
|
||||
},
|
||||
},
|
||||
{
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 1
|
||||
.name = "enable_5161",
|
||||
.description = "IBM 5161 Expansion Unit",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 1,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -575,20 +726,20 @@ machine_ibmxt86_init(const machine_t *model)
|
||||
uint8_t enable_5161;
|
||||
const char *fn;
|
||||
uint16_t offset = 0;
|
||||
uint32_t local = 0;
|
||||
uint32_t local = 0;
|
||||
|
||||
/* No ROMs available. */
|
||||
if (!device_available(model->device))
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
enable_5161 = machine_get_config_int("enable_5161");
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
local = device_get_bios_local(model->device, device_get_config_bios("bios"));
|
||||
enable_5161 = machine_get_config_int("enable_5161");
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
local = device_get_bios_local(model->device, device_get_config_bios("bios"));
|
||||
|
||||
if (local == 0) // Offset for stock roms
|
||||
offset = 0x6000;
|
||||
ret = bios_load_linear(fn, 0x000fe000, 65536, offset);
|
||||
offset = 0x6000;
|
||||
ret = bios_load_linear(fn, 0x000fe000, 65536, offset);
|
||||
|
||||
if (ret) {
|
||||
if (local == 0) { // needed for stock roms
|
||||
@@ -881,23 +1032,47 @@ machine_xt_super16te_init(const machine_t *model)
|
||||
static const device_config_t jukopc_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "jukost",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Bios 2.30", .internal_name = "jukost", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 8192, .files = { "roms/machines/jukopc/000o001.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Bios 2.30",
|
||||
.internal_name = "jukost",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { "roms/machines/jukopc/000o001.bin", "" }
|
||||
},
|
||||
|
||||
// GLaBIOS for Juko ST
|
||||
{ .name = "GLaBIOS 0.4.0 (8088)", .internal_name = "glabios_040_8088", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 8192, .files = { "roms/machines/glabios/GLABIOS_0.4.0_8S.ROM", "" } },
|
||||
{ .name = "GLaBIOS 0.4.0 (V20)", .internal_name = "glabios_040_v20", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 8192, .files = { "roms/machines/glabios/GLABIOS_0.4.0_VS.ROM", "" } },
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (8088)",
|
||||
.internal_name = "glabios_040_8088",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_8S.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (V20)",
|
||||
.internal_name = "glabios_040_v20",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 8192,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_VS.ROM", "" }
|
||||
},
|
||||
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -928,8 +1103,8 @@ machine_xt_jukopc_init(const machine_t *model)
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000fe000, 8192, 0);
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000fe000, 8192, 0);
|
||||
device_context_restore();
|
||||
|
||||
if (bios_only || !ret)
|
||||
@@ -977,13 +1152,14 @@ machine_xt_micoms_xl7turbo_init(const machine_t *model)
|
||||
static const device_config_t pc500_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "pc500_330",
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "3.30",
|
||||
@@ -1004,7 +1180,7 @@ static const device_config_t pc500_config[] = {
|
||||
.files = { "roms/machines/pc500/rom310.bin", "" }
|
||||
},
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -1035,8 +1211,8 @@ machine_xt_pc500_init(const machine_t *model)
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000fe000, 8192, 0);
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000fe000, 8192, 0);
|
||||
device_context_restore();
|
||||
|
||||
if (bios_only || !ret)
|
||||
@@ -1280,23 +1456,47 @@ machine_xt_pcxt_init(const machine_t *model)
|
||||
static const device_config_t vendex_config[] = {
|
||||
// clang-format off
|
||||
{
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.name = "bios",
|
||||
.description = "BIOS Version",
|
||||
.type = CONFIG_BIOS,
|
||||
.default_string = "vendex",
|
||||
.default_int = 0,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.bios = {
|
||||
{ .name = "Bios 2.03C", .internal_name = "vendex", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 16384, .files = { "roms/machines/vendex/Vendex Turbo 888 XT - ROM BIOS - VER 2.03C.bin", "" } },
|
||||
.default_int = 0,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = {
|
||||
{
|
||||
.name = "Bios 2.03C",
|
||||
.internal_name = "vendex",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 16384,
|
||||
.files = { "roms/machines/vendex/Vendex Turbo 888 XT - ROM BIOS - VER 2.03C.bin", "" }
|
||||
},
|
||||
|
||||
// GLaBIOS for Vendex
|
||||
{ .name = "GLaBIOS 0.4.0 (8088)", .internal_name = "glabios_040_8088", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 16384, .files = { "roms/machines/glabios/GLABIOS_0.4.0_8TV.ROM", "" } },
|
||||
{ .name = "GLaBIOS 0.4.0 (V20)", .internal_name = "glabios_040_v20", .bios_type = BIOS_NORMAL,
|
||||
.files_no = 1, .local = 0, .size = 16384, .files = { "roms/machines/glabios/GLABIOS_0.4.0_VTV.ROM", "" } },
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (8088)",
|
||||
.internal_name = "glabios_040_8088",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 16384,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_8TV.ROM", "" }
|
||||
},
|
||||
{
|
||||
.name = "GLaBIOS 0.4.0 (V20)",
|
||||
.internal_name = "glabios_040_v20",
|
||||
.bios_type = BIOS_NORMAL,
|
||||
.files_no = 1,
|
||||
.local = 0,
|
||||
.size = 16384,
|
||||
.files = { "roms/machines/glabios/GLABIOS_0.4.0_VTV.ROM", "" }
|
||||
},
|
||||
|
||||
{ .files_no = 0 }
|
||||
},
|
||||
}
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
@@ -1327,8 +1527,8 @@ machine_xt_vendex_init(const machine_t *model)
|
||||
return ret;
|
||||
|
||||
device_context(model->device);
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000fc000, 16384, 0);
|
||||
fn = device_get_bios_file(model->device, device_get_config_bios("bios"), 0);
|
||||
ret = bios_load_linear(fn, 0x000fc000, 16384, 0);
|
||||
device_context_restore();
|
||||
|
||||
if (bios_only || !ret)
|
||||
@@ -1342,7 +1542,7 @@ machine_xt_vendex_init(const machine_t *model)
|
||||
}
|
||||
|
||||
static void
|
||||
machine_xt_laserxt_common_init(const machine_t *model,int is_lxt3)
|
||||
machine_xt_laserxt_common_init(const machine_t *model, int is_lxt3)
|
||||
{
|
||||
machine_common_init(model);
|
||||
|
||||
@@ -1593,7 +1793,7 @@ machine_xt_pc5086_init(const machine_t *model)
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/pc5086/sys_rom.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
@@ -132,8 +132,8 @@ typedef struct m24_kbd_t {
|
||||
uint8_t scan[7];
|
||||
|
||||
/* Mouse stuff. */
|
||||
int mouse_input_mode;
|
||||
int b;
|
||||
int mouse_input_mode;
|
||||
int b;
|
||||
|
||||
pc_timer_t send_delay_timer;
|
||||
} m24_kbd_t;
|
||||
@@ -553,20 +553,20 @@ m24_kbd_write(uint16_t port, uint8_t val, void *priv)
|
||||
switch (m24_kbd->command) {
|
||||
case 0x11:
|
||||
m24_kbd->mouse_input_mode = 0;
|
||||
m24_kbd->scan[0] = m24_kbd->params[0];
|
||||
m24_kbd->scan[1] = m24_kbd->params[1];
|
||||
m24_kbd->scan[2] = m24_kbd->params[2];
|
||||
m24_kbd->scan[3] = m24_kbd->params[3];
|
||||
m24_kbd->scan[4] = m24_kbd->params[4];
|
||||
m24_kbd->scan[5] = m24_kbd->params[5];
|
||||
m24_kbd->scan[6] = m24_kbd->params[6];
|
||||
m24_kbd->scan[0] = m24_kbd->params[0];
|
||||
m24_kbd->scan[1] = m24_kbd->params[1];
|
||||
m24_kbd->scan[2] = m24_kbd->params[2];
|
||||
m24_kbd->scan[3] = m24_kbd->params[3];
|
||||
m24_kbd->scan[4] = m24_kbd->params[4];
|
||||
m24_kbd->scan[5] = m24_kbd->params[5];
|
||||
m24_kbd->scan[6] = m24_kbd->params[6];
|
||||
break;
|
||||
|
||||
case 0x12:
|
||||
m24_kbd->mouse_input_mode = 1;
|
||||
m24_kbd->scan[0] = m24_kbd->params[0];
|
||||
m24_kbd->scan[1] = m24_kbd->params[1];
|
||||
m24_kbd->scan[2] = m24_kbd->params[2];
|
||||
m24_kbd->scan[0] = m24_kbd->params[0];
|
||||
m24_kbd->scan[1] = m24_kbd->params[1];
|
||||
m24_kbd->scan[2] = m24_kbd->params[2];
|
||||
break;
|
||||
|
||||
default:
|
||||
@@ -722,7 +722,7 @@ m24_kbd_reset(void *priv)
|
||||
m24_kbd->wantirq = 0;
|
||||
keyboard_scan = 1;
|
||||
m24_kbd->param = m24_kbd->param_total = 0;
|
||||
m24_kbd->mouse_input_mode = 0;
|
||||
m24_kbd->mouse_input_mode = 0;
|
||||
m24_kbd->scan[0] = 0x1c;
|
||||
m24_kbd->scan[1] = 0x53;
|
||||
m24_kbd->scan[2] = 0x01;
|
||||
@@ -736,11 +736,11 @@ static int
|
||||
ms_poll(void *priv)
|
||||
{
|
||||
m24_kbd_t *m24_kbd = (m24_kbd_t *) priv;
|
||||
int delta_x;
|
||||
int delta_y;
|
||||
int o_x;
|
||||
int o_y;
|
||||
int b = mouse_get_buttons_ex();
|
||||
int delta_x;
|
||||
int delta_y;
|
||||
int o_x;
|
||||
int o_y;
|
||||
int b = mouse_get_buttons_ex();
|
||||
|
||||
if (((key_queue_end - key_queue_start) & 0xf) > 14)
|
||||
return 0xff;
|
||||
@@ -847,7 +847,7 @@ ms_poll(void *priv)
|
||||
- Right Windows (E0 5C) -> F18 (67).
|
||||
*/
|
||||
const scancode scancode_olivetti_m24_deluxe[512] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 000 */
|
||||
{ .mk = { 0x01, 0 }, .brk = { 0x81, 0 } }, /* 001 */
|
||||
{ .mk = { 0x02, 0 }, .brk = { 0x82, 0 } }, /* 002 */
|
||||
@@ -1360,7 +1360,7 @@ const scancode scancode_olivetti_m24_deluxe[512] = {
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fd */
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fe */
|
||||
{ .mk = { 0 }, .brk = { 0 } } /* 1ff */
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
/* Remapping as follows:
|
||||
@@ -1370,7 +1370,7 @@ const scancode scancode_olivetti_m24_deluxe[512] = {
|
||||
- Menu (E0 5D) -> 5C.
|
||||
*/
|
||||
const scancode scancode_olivetti_m240[512] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 000 */
|
||||
{ .mk = { 0x01, 0 }, .brk = { 0x81, 0 } }, /* 001 */
|
||||
{ .mk = { 0x02, 0 }, .brk = { 0x82, 0 } }, /* 002 */
|
||||
@@ -1883,7 +1883,7 @@ const scancode scancode_olivetti_m240[512] = {
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fd */
|
||||
{ .mk = { 0 }, .brk = { 0 } }, /* 1fe */
|
||||
{ .mk = { 0 }, .brk = { 0 } } /* 1ff */
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
static void
|
||||
@@ -2084,33 +2084,38 @@ const device_t m24_kbd_device = {
|
||||
};
|
||||
|
||||
const device_config_t m19_vid_config[] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{
|
||||
/* Olivetti / ATT compatible displays */
|
||||
.name = "rgb_type",
|
||||
.description = "RGB type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = "",
|
||||
.default_int = CGA_RGB,
|
||||
.file_filter = "",
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
.name = "rgb_type",
|
||||
.description = "RGB type",
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_string = NULL,
|
||||
.default_int = CGA_RGB,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = {
|
||||
{ .description = "Color", .value = 0 },
|
||||
{ .description = "Green Monochrome", .value = 1 },
|
||||
{ .description = "Amber Monochrome", .value = 2 },
|
||||
{ .description = "Gray Monochrome", .value = 3 },
|
||||
{ .description = "" }
|
||||
}
|
||||
},
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{
|
||||
.name = "snow_enabled",
|
||||
.description = "Snow emulation",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = "",
|
||||
.default_int = 1,
|
||||
.name = "snow_enabled",
|
||||
.description = "Snow emulation",
|
||||
.type = CONFIG_BINARY,
|
||||
.default_string = NULL,
|
||||
.default_int = 1,
|
||||
.file_filter = NULL,
|
||||
.spinner = { 0 },
|
||||
.selection = { { 0 } },
|
||||
.bios = { { 0 } }
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t m19_vid_device = {
|
||||
@@ -2243,7 +2248,7 @@ m24_read(uint16_t port, UNUSED(void *priv))
|
||||
static uint8_t
|
||||
m240_read(uint16_t port, UNUSED(void *priv))
|
||||
{
|
||||
uint8_t ret = 0x00;
|
||||
uint8_t ret = 0x00;
|
||||
int fdd_count = 0;
|
||||
|
||||
switch (port) {
|
||||
|
||||
@@ -286,8 +286,8 @@ tc8521_write(uint16_t addr, uint8_t val, void *priv)
|
||||
static uint8_t
|
||||
tc8521_read(uint16_t addr, void *priv)
|
||||
{
|
||||
const nvr_t *nvr = (nvr_t *) priv;
|
||||
uint8_t page;
|
||||
const nvr_t *nvr = (nvr_t *) priv;
|
||||
uint8_t page;
|
||||
|
||||
/* Get to the correct register page. */
|
||||
addr &= 0x0f;
|
||||
@@ -340,7 +340,7 @@ ems_execaddr(t1000_t *sys, UNUSED(int pg), uint16_t val)
|
||||
return 0; /* Bit 7 reset => not mapped */
|
||||
if (!sys->ems_pages)
|
||||
return 0; /* No EMS available: all used by
|
||||
* HardRAM or conventional RAM */
|
||||
* HardRAM or conventional RAM */
|
||||
val &= 0x7f;
|
||||
|
||||
#if 0
|
||||
@@ -466,7 +466,7 @@ static uint8_t
|
||||
ems_read_ram(uint32_t addr, void *priv)
|
||||
{
|
||||
const t1000_t *sys = (t1000_t *) priv;
|
||||
int pg = addr_to_page(addr);
|
||||
int pg = addr_to_page(addr);
|
||||
|
||||
if (pg < 0)
|
||||
return 0xff;
|
||||
@@ -832,7 +832,7 @@ int
|
||||
machine_xt_t1000_init(const machine_t *model)
|
||||
{
|
||||
FILE *fp;
|
||||
int ret;
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear("roms/machines/t1000/t1000.rom",
|
||||
0x000f8000, 32768, 0);
|
||||
|
||||
@@ -87,77 +87,77 @@ xi8088_init(UNUSED(const device_t *info))
|
||||
}
|
||||
|
||||
static const device_config_t xi8088_config[] = {
|
||||
// clang-format off
|
||||
// clang-format off
|
||||
{
|
||||
.name = "turbo_setting",
|
||||
.name = "turbo_setting",
|
||||
.description = "Turbo",
|
||||
.type = CONFIG_SELECTION,
|
||||
.selection = {
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_int = 0,
|
||||
.selection = {
|
||||
{
|
||||
.description = "Always at selected speed",
|
||||
.value = 0
|
||||
.value = 0
|
||||
},
|
||||
{
|
||||
.description = "BIOS setting + Hotkeys (off during POST)",
|
||||
.value = 1
|
||||
.value = 1
|
||||
}
|
||||
},
|
||||
.default_int = 0
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "bios_128kb",
|
||||
.name = "bios_128kb",
|
||||
.description = "BIOS size",
|
||||
.type = CONFIG_SELECTION,
|
||||
.selection = {
|
||||
.type = CONFIG_SELECTION,
|
||||
.default_int = 1,
|
||||
.selection = {
|
||||
{
|
||||
.description = "64 KB starting from F0000",
|
||||
.value = 0
|
||||
.value = 0
|
||||
},
|
||||
{
|
||||
.description = "128 KB starting from E0000 (address MSB inverted, last 64 KB first)",
|
||||
.value = 1
|
||||
.value = 1
|
||||
}
|
||||
},
|
||||
.default_int = 1
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "umb_c0000h_c7fff",
|
||||
.name = "umb_c0000h_c7fff",
|
||||
.description = "Map C0000-C7FFF as UMB",
|
||||
.type = CONFIG_BINARY,
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
},
|
||||
{
|
||||
.name = "umb_c8000h_cffff",
|
||||
.name = "umb_c8000h_cffff",
|
||||
.description = "Map C8000-CFFFF as UMB",
|
||||
.type = CONFIG_BINARY,
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
},
|
||||
{
|
||||
.name = "umb_d0000h_d7fff",
|
||||
.name = "umb_d0000h_d7fff",
|
||||
.description = "Map D0000-D7FFF as UMB",
|
||||
.type = CONFIG_BINARY,
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
},
|
||||
{
|
||||
.name = "umb_d8000h_dffff",
|
||||
.name = "umb_d8000h_dffff",
|
||||
.description = "Map D8000-DFFFF as UMB",
|
||||
.type = CONFIG_BINARY,
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
},
|
||||
{
|
||||
.name = "umb_e0000h_e7fff",
|
||||
.name = "umb_e0000h_e7fff",
|
||||
.description = "Map E0000-E7FFF as UMB",
|
||||
.type = CONFIG_BINARY,
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
},
|
||||
{
|
||||
.name = "umb_e8000h_effff",
|
||||
.name = "umb_e8000h_effff",
|
||||
.description = "Map E8000-EFFFF as UMB",
|
||||
.type = CONFIG_BINARY,
|
||||
.type = CONFIG_BINARY,
|
||||
.default_int = 0
|
||||
},
|
||||
{ .name = "", .description = "", .type = CONFIG_END }
|
||||
// clang-format on
|
||||
// clang-format on
|
||||
};
|
||||
|
||||
const device_t xi8088_device = {
|
||||
|
||||
@@ -76,9 +76,9 @@ machine_init_ex(int m)
|
||||
machine_init_gpio();
|
||||
machine_init_gpio_acpi();
|
||||
|
||||
machine_snd = NULL;
|
||||
machine_snd = NULL;
|
||||
|
||||
is_vpc = 0;
|
||||
is_vpc = 0;
|
||||
|
||||
standalone_gameport_type = NULL;
|
||||
gameport_instance_id = 0;
|
||||
@@ -183,7 +183,7 @@ void
|
||||
machine_common_init(UNUSED(const machine_t *model))
|
||||
{
|
||||
uint8_t cpu_requires_fast_pit = is486 || (!is286 && is8086 && (cpu_s->rspeed >= 8000000));
|
||||
cpu_requires_fast_pit = cpu_requires_fast_pit && !cpu_16bitbus;
|
||||
cpu_requires_fast_pit = cpu_requires_fast_pit && !cpu_16bitbus;
|
||||
|
||||
/* System devices first. */
|
||||
pic_init();
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user