Merge branch 'master' of https://github.com/86Box/86Box.git into EngiNerd
This commit is contained in:
@@ -1715,8 +1715,13 @@ vid_close_200(void *priv)
|
||||
{
|
||||
amsvid_t *vid = (amsvid_t *)priv;
|
||||
|
||||
free(vid->cga.vram);
|
||||
free(vid->mda.vram);
|
||||
if (vid->cga.vram != vid->mda.vram) {
|
||||
free(vid->cga.vram);
|
||||
free(vid->mda.vram);
|
||||
} else
|
||||
free(vid->cga.vram);
|
||||
|
||||
vid->cga.vram = vid->mda.vram = NULL;
|
||||
|
||||
free(vid);
|
||||
}
|
||||
@@ -2111,8 +2116,7 @@ kbd_adddata(uint16_t val)
|
||||
static void
|
||||
kbd_adddata_ex(uint16_t val)
|
||||
{
|
||||
kbd_adddata(val);
|
||||
// kbd_adddata_process(val, kbd_adddata);
|
||||
kbd_adddata_process(val, kbd_adddata);
|
||||
}
|
||||
|
||||
|
||||
@@ -2495,6 +2499,7 @@ machine_amstrad_init(const machine_t *model, int type)
|
||||
keyboard_set_table(scancode_xt);
|
||||
keyboard_send = kbd_adddata_ex;
|
||||
keyboard_scan = 1;
|
||||
keyboard_set_is_amstrad(((type == AMS_PC1512) || (type == AMS_PC1640)) ? 0 : 1);
|
||||
|
||||
io_sethandler(0x0078, 2,
|
||||
ms_read, NULL, NULL, ms_write, NULL, NULL, ams);
|
||||
|
||||
@@ -102,6 +102,27 @@ machine_at_sis401_init(const machine_t *model)
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_at_av4_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear(L"roms/machines/av4/amibios_486dx_isa_bios_aa4025963.bin",
|
||||
0x000f0000, 65536, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_common_ide_init(model);
|
||||
device_add(&sis_85c460_device);
|
||||
device_add(&keyboard_at_ami_device);
|
||||
device_add(&fdc_at_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_at_valuepoint433_init(const machine_t *model) // hangs without the PS/2 mouse
|
||||
{
|
||||
@@ -121,6 +142,7 @@ machine_at_valuepoint433_init(const machine_t *model) // hangs without the PS/2
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_at_ecs386_init(const machine_t *model)
|
||||
{
|
||||
|
||||
@@ -550,6 +550,44 @@ machine_at_ficka6130_init(const machine_t *model)
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_at_p3v133_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear(L"roms/machines/p3v133/1003.002",
|
||||
0x000c0000, 262144, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
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(0x04, PCI_CARD_SOUTHBRIDGE, 1, 2, 3, 4);
|
||||
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(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);
|
||||
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(&w83977ef_device);
|
||||
device_add(&keyboard_ps2_ami_pci_device);
|
||||
device_add(ics9xxx_get(ICS9248_39));
|
||||
device_add(&sst_flash_39sf020_device);
|
||||
spd_register(SPD_TYPE_SDRAM, 0x7, 512);
|
||||
device_add(&w83781d_device); /* fans: Chassis, CPU, Power; temperatures: MB, unused, CPU */
|
||||
hwm_values.temperatures[1] = 0; /* unused */
|
||||
hwm_values.temperatures[2] -= 3; /* CPU offset */
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_at_p3v4x_init(const machine_t *model)
|
||||
{
|
||||
|
||||
@@ -122,7 +122,6 @@ machine_at_batman_init(const machine_t *model)
|
||||
}
|
||||
|
||||
|
||||
#if defined(DEV_BRANCH) && defined(USE_DELLS4)
|
||||
int
|
||||
machine_at_dellxp60_init(const machine_t *model)
|
||||
{
|
||||
@@ -184,7 +183,6 @@ machine_at_opti560l_init(const machine_t *model)
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
int
|
||||
@@ -646,3 +644,93 @@ machine_at_acerv30_init(const machine_t *model)
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
machine_at_sp4_common_init(const machine_t *model)
|
||||
{
|
||||
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(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
/* Excluded: 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11, 12, 13, 14 */
|
||||
pci_register_slot(0x0D, PCI_CARD_IDE, 1, 2, 3, 4);
|
||||
/* Excluded: 02, 03*, 04*, 05*, 06*, 07*, 08* */
|
||||
/* Slots: 09 (04), 0A (03), 0B (02), 0C (07) */
|
||||
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);
|
||||
device_add(&sis_85c50x_device);
|
||||
device_add(&ide_cmd640_pci_device);
|
||||
device_add(&keyboard_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_device);
|
||||
device_add(&intel_flash_bxt_device);
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_at_p5sp4_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear(L"roms/machines/p5sp4/0106.001",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_sp4_common_init(model);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_at_p54sp4_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear(L"roms/machines/p54sp4/SI5I0204.AWD",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !ret)
|
||||
return ret;
|
||||
|
||||
machine_at_sp4_common_init(model);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_at_sq588_init(const machine_t *model)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = bios_load_linear(L"roms/machines/sq588/sq588b03.rom",
|
||||
0x000e0000, 131072, 0);
|
||||
|
||||
if (bios_only || !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(0x01, PCI_CARD_SOUTHBRIDGE, 0, 0, 0, 0);
|
||||
/* Correct: 0D (01), 0F (02), 11 (03), 13 (04) */
|
||||
pci_register_slot(0x02, PCI_CARD_IDE, 1, 2, 3, 4);
|
||||
pci_register_slot(0x0D, PCI_CARD_NORMAL, 1, 2, 3, 4);
|
||||
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(&keyboard_ps2_ami_pci_device);
|
||||
device_add(&fdc37c665_ide_device);
|
||||
device_add(&sst_flash_29ee010_device);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -298,11 +298,11 @@ static const scancode scancode_tandy[512] = {
|
||||
{ {0}, {0} }, { {0}, {0} }, /*140*/
|
||||
{ {0}, {0} }, { {0}, {0} },
|
||||
{ {0x46, 0}, {0xc6, 0} }, { {0x47, 0}, {0xc7, 0} }, /*144*/
|
||||
{ {0x48, 0}, {0xc8, 0} }, { {0x49, 0}, {0xc9, 0} },
|
||||
{ {0}, {0} }, { {0x4b, 0}, {0xcb, 0} }, /*148*/
|
||||
{ {0}, {0} }, { {0x4d, 0}, {0xcd, 0} },
|
||||
{ {0x29, 0}, {0xa9, 0} }, { {0x49, 0}, {0xc9, 0} },
|
||||
{ {0}, {0} }, { {0x2b, 0}, {0xab, 0} }, /*148*/
|
||||
{ {0}, {0} }, { {0x4e, 0}, {0xce, 0} },
|
||||
{ {0}, {0} }, { {0x4f, 0}, {0xcf, 0} }, /*14c*/
|
||||
{ {0x50, 0}, {0xd0, 0} }, { {0x51, 0}, {0xd1, 0} },
|
||||
{ {0x4a, 0}, {0xca, 0} }, { {0x51, 0}, {0xd1, 0} },
|
||||
{ {0x52, 0}, {0xd2, 0} }, { {0x53, 0}, {0xd3, 0} }, /*150*/
|
||||
{ {0}, {0} }, { {0}, {0} },
|
||||
{ {0}, {0} }, { {0}, {0} }, /*154*/
|
||||
|
||||
@@ -118,6 +118,7 @@ m24_log(const char *fmt, ...)
|
||||
#define m24_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
|
||||
static void
|
||||
m24_kbd_poll(void *priv)
|
||||
{
|
||||
@@ -171,9 +172,8 @@ m24_kbd_write(uint16_t port, uint8_t val, void *priv)
|
||||
#endif
|
||||
|
||||
#if 0
|
||||
if (ram[8] == 0xc3) {
|
||||
if (ram[8] == 0xc3)
|
||||
output = 3;
|
||||
}
|
||||
#endif
|
||||
switch (port) {
|
||||
case 0x60:
|
||||
@@ -242,6 +242,7 @@ m24_kbd_write(uint16_t port, uint8_t val, void *priv)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
static uint8_t
|
||||
m24_kbd_read(uint16_t port, void *priv)
|
||||
{
|
||||
@@ -279,11 +280,13 @@ m24_kbd_read(uint16_t port, void *priv)
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
m24_kbd_close(void *priv)
|
||||
{
|
||||
olim24_kbd_t *kbd = (olim24_kbd_t *)priv;
|
||||
/* Stop the timer. */
|
||||
olim24_kbd_t *kbd = (olim24_kbd_t *)priv;
|
||||
|
||||
/* Stop the timer. */
|
||||
timer_disable(&kbd->send_delay_timer);
|
||||
|
||||
/* Disable scanning. */
|
||||
@@ -293,12 +296,13 @@ m24_kbd_close(void *priv)
|
||||
|
||||
io_removehandler(0x0060, 2,
|
||||
m24_kbd_read, NULL, NULL, m24_kbd_write, NULL, NULL, kbd);
|
||||
io_removehandler(0x0064, 1,
|
||||
io_removehandler(0x0064, 1,
|
||||
m24_kbd_read, NULL, NULL, m24_kbd_write, NULL, NULL, kbd);
|
||||
|
||||
free(kbd);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
m24_kbd_reset(void *priv)
|
||||
{
|
||||
@@ -319,6 +323,7 @@ m24_kbd_reset(void *priv)
|
||||
m24_kbd->scan[6] = 0x50;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
ms_poll(int x, int y, int z, int b, void *priv)
|
||||
{
|
||||
@@ -401,10 +406,12 @@ ms_poll(int x, int y, int z, int b, void *priv)
|
||||
return(0);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
m24_kbd_init(olim24_kbd_t *kbd){
|
||||
m24_kbd_init(olim24_kbd_t *kbd)
|
||||
{
|
||||
|
||||
/* Initialize the keyboard. */
|
||||
/* Initialize the keyboard. */
|
||||
io_sethandler(0x0060, 2,
|
||||
m24_kbd_read, NULL, NULL, m24_kbd_write, NULL, NULL, kbd);
|
||||
io_sethandler(0x0064, 1,
|
||||
@@ -418,152 +425,160 @@ m24_kbd_init(olim24_kbd_t *kbd){
|
||||
mouse_set_poll(ms_poll, kbd);
|
||||
|
||||
keyboard_set_table(scancode_xt);
|
||||
|
||||
keyboard_set_is_amstrad(0);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
m19_vid_out(uint16_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
int oldmode = vid->mode;
|
||||
|
||||
/* activating plantronics mode */
|
||||
if (addr == 0x3dd){
|
||||
/* already in graphics mode */
|
||||
if ((val & 0x30) && (vid->ogc.cga.cgamode & 0x2)) {
|
||||
vid->mode = PLANTRONICS_MODE;
|
||||
} else {
|
||||
vid->mode = OLIVETTI_OGC_MODE;
|
||||
}
|
||||
/* setting graphics mode */
|
||||
} else if (addr == 0x3d8) {
|
||||
if ((val & 0x2) && (vid->colorplus.control & 0x30)){
|
||||
vid->mode = PLANTRONICS_MODE;
|
||||
} else {
|
||||
vid->mode = OLIVETTI_OGC_MODE;
|
||||
}
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
int oldmode = vid->mode;
|
||||
|
||||
/* activating plantronics mode */
|
||||
if (addr == 0x3dd) {
|
||||
/* already in graphics mode */
|
||||
if ((val & 0x30) && (vid->ogc.cga.cgamode & 0x2))
|
||||
vid->mode = PLANTRONICS_MODE;
|
||||
else
|
||||
vid->mode = OLIVETTI_OGC_MODE;
|
||||
/* setting graphics mode */
|
||||
} else if (addr == 0x3d8) {
|
||||
if ((val & 0x2) && (vid->colorplus.control & 0x30))
|
||||
vid->mode = PLANTRONICS_MODE;
|
||||
else
|
||||
vid->mode = OLIVETTI_OGC_MODE;
|
||||
}
|
||||
/* video mode changed */
|
||||
if (oldmode != vid->mode) {
|
||||
/* activate Plantronics emulation */
|
||||
if (vid->mode == PLANTRONICS_MODE){
|
||||
timer_disable(&vid->ogc.cga.timer);
|
||||
timer_set_delay_u64(&vid->colorplus.cga.timer, 0);
|
||||
/* return to OGC mode */
|
||||
} else {
|
||||
timer_disable(&vid->colorplus.cga.timer);
|
||||
timer_set_delay_u64(&vid->ogc.cga.timer, 0);
|
||||
}
|
||||
/* video mode changed */
|
||||
if(oldmode != vid->mode){
|
||||
/* activate Plantronics emulation */
|
||||
if (vid->mode == PLANTRONICS_MODE){
|
||||
timer_disable(&vid->ogc.cga.timer);
|
||||
timer_set_delay_u64(&vid->colorplus.cga.timer, 0);
|
||||
/* return to OGC mode */
|
||||
} else {
|
||||
timer_disable(&vid->colorplus.cga.timer);
|
||||
timer_set_delay_u64(&vid->ogc.cga.timer, 0);
|
||||
}
|
||||
colorplus_recalctimings(&vid->colorplus);
|
||||
ogc_recalctimings(&vid->ogc);
|
||||
}
|
||||
colorplus_out(addr, val, &vid->colorplus);
|
||||
ogc_out(addr, val, &vid->ogc);
|
||||
|
||||
colorplus_recalctimings(&vid->colorplus);
|
||||
ogc_recalctimings(&vid->ogc);
|
||||
}
|
||||
|
||||
colorplus_out(addr, val, &vid->colorplus);
|
||||
ogc_out(addr, val, &vid->ogc);
|
||||
}
|
||||
|
||||
|
||||
static uint8_t
|
||||
m19_vid_in(uint16_t addr, void *priv)
|
||||
{
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
if ( vid->mode == PLANTRONICS_MODE ) {
|
||||
return colorplus_in(addr, &vid->colorplus);
|
||||
} else {
|
||||
return ogc_in(addr, &vid->ogc);
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
|
||||
if (vid->mode == PLANTRONICS_MODE)
|
||||
return colorplus_in(addr, &vid->colorplus);
|
||||
else
|
||||
return ogc_in(addr, &vid->ogc);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static uint8_t
|
||||
m19_vid_read(uint32_t addr, void *priv)
|
||||
{
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
vid->colorplus.cga.mapping = vid->ogc.cga.mapping;
|
||||
if ( vid->mode == PLANTRONICS_MODE ) {
|
||||
return colorplus_read(addr, &vid->colorplus);
|
||||
} else {
|
||||
return ogc_read(addr, &vid->ogc);
|
||||
}
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
|
||||
vid->colorplus.cga.mapping = vid->ogc.cga.mapping;
|
||||
if (vid->mode == PLANTRONICS_MODE)
|
||||
return colorplus_read(addr, &vid->colorplus);
|
||||
else
|
||||
return ogc_read(addr, &vid->ogc);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
m19_vid_write(uint32_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
colorplus_write(addr, val, &vid->colorplus);
|
||||
ogc_write(addr, val, &vid->ogc);
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
|
||||
colorplus_write(addr, val, &vid->colorplus);
|
||||
ogc_write(addr, val, &vid->ogc);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
m19_vid_close(void *priv)
|
||||
{
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
free(vid->ogc.cga.vram);
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
|
||||
free(vid->ogc.cga.vram);
|
||||
free(vid->colorplus.cga.vram);
|
||||
free(vid);
|
||||
free(vid);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
m19_vid_speed_changed(void *priv)
|
||||
{
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
colorplus_recalctimings(&vid->colorplus);
|
||||
ogc_recalctimings(&vid->ogc);
|
||||
olim19_vid_t *vid = (olim19_vid_t *)priv;
|
||||
|
||||
colorplus_recalctimings(&vid->colorplus);
|
||||
ogc_recalctimings(&vid->ogc);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
m19_vid_init(olim19_vid_t *vid){
|
||||
m19_vid_init(olim19_vid_t *vid)
|
||||
{
|
||||
/* int display_type; */
|
||||
vid->mode = OLIVETTI_OGC_MODE;
|
||||
|
||||
//int display_type;
|
||||
vid->mode = OLIVETTI_OGC_MODE;
|
||||
video_inform(VIDEO_FLAG_TYPE_CGA, &timing_m19_vid);
|
||||
|
||||
video_inform(VIDEO_FLAG_TYPE_CGA, &timing_m19_vid);
|
||||
/* display_type = device_get_config_int("display_type"); */
|
||||
|
||||
//display_type = device_get_config_int("display_type");
|
||||
|
||||
/* OGC emulation part begin */
|
||||
loadfont_ex(L"roms/machines/olivetti_m19/BIOS.BIN", 1, 90);
|
||||
/* composite is not working yet */
|
||||
vid->ogc.cga.composite = 0; // (display_type != CGA_RGB);
|
||||
//vid->ogc.cga.snow_enabled = device_get_config_int("snow_enabled");
|
||||
|
||||
vid->ogc.cga.vram = malloc(0x8000);
|
||||
/* OGC emulation part begin */
|
||||
loadfont_ex(L"roms/machines/olivetti_m19/BIOS.BIN", 1, 90);
|
||||
/* composite is not working yet */
|
||||
vid->ogc.cga.composite = 0; // (display_type != CGA_RGB);
|
||||
/* vid->ogc.cga.snow_enabled = device_get_config_int("snow_enabled"); */
|
||||
|
||||
//cga_comp_init(vid->ogc.cga.revision);
|
||||
|
||||
//vid->ogc.cga.rgb_type = device_get_config_int("rgb_type");
|
||||
//cga_palette = (vid->ogc.cga.rgb_type << 1);
|
||||
vid->ogc.cga.vram = malloc(0x8000);
|
||||
|
||||
/* cga_comp_init(vid->ogc.cga.revision); */
|
||||
|
||||
/* vid->ogc.cga.rgb_type = device_get_config_int("rgb_type"); */
|
||||
/* cga_palette = (vid->ogc.cga.rgb_type << 1); */
|
||||
cga_palette = 0;
|
||||
cgapal_rebuild();
|
||||
ogc_mdaattr_rebuild();
|
||||
cgapal_rebuild();
|
||||
ogc_mdaattr_rebuild();
|
||||
|
||||
/* color display */
|
||||
// if (device_get_config_int("rgb_type")==0 || device_get_config_int("rgb_type") == 4)
|
||||
vid->ogc.mono_display = 1;
|
||||
// else
|
||||
// vid->ogc.mono_display = 1;
|
||||
/* OGC emulation part end */
|
||||
|
||||
/* Plantronics emulation part begin*/
|
||||
/* composite is not working yet */
|
||||
vid->colorplus.cga.composite = 0; //(display_type != CGA_RGB);
|
||||
// vid->colorplus.cga.snow_enabled = device_get_config_int("snow_enabled");
|
||||
/* color display */
|
||||
/* if (device_get_config_int("rgb_type")==0 || device_get_config_int("rgb_type") == 4) */
|
||||
vid->ogc.mono_display = 1;
|
||||
/* else */
|
||||
/* vid->ogc.mono_display = 1; */
|
||||
/* OGC emulation part end */
|
||||
|
||||
/* Plantronics emulation part begin*/
|
||||
/* composite is not working yet */
|
||||
vid->colorplus.cga.composite = 0; //(display_type != CGA_RGB);
|
||||
/* vid->colorplus.cga.snow_enabled = device_get_config_int("snow_enabled"); */
|
||||
|
||||
vid->colorplus.cga.vram = malloc(0x8000);
|
||||
|
||||
//vid->colorplus.cga.cgamode = 0x1;
|
||||
/* Plantronics emulation part end*/
|
||||
|
||||
timer_add(&vid->ogc.cga.timer, ogc_poll, &vid->ogc, 1);
|
||||
timer_add(&vid->colorplus.cga.timer, colorplus_poll, &vid->colorplus, 1);
|
||||
timer_disable(&vid->colorplus.cga.timer);
|
||||
mem_mapping_add(&vid->ogc.cga.mapping, 0xb8000, 0x08000, m19_vid_read, NULL, NULL, m19_vid_write, NULL, NULL, NULL, MEM_MAPPING_EXTERNAL, vid);
|
||||
io_sethandler(0x03d0, 0x0010, m19_vid_in, NULL, NULL, m19_vid_out, NULL, NULL, vid);
|
||||
|
||||
vid->mode = OLIVETTI_OGC_MODE;
|
||||
|
||||
/* vid->colorplus.cga.cgamode = 0x1; */
|
||||
/* Plantronics emulation part end*/
|
||||
|
||||
timer_add(&vid->ogc.cga.timer, ogc_poll, &vid->ogc, 1);
|
||||
timer_add(&vid->colorplus.cga.timer, colorplus_poll, &vid->colorplus, 1);
|
||||
timer_disable(&vid->colorplus.cga.timer);
|
||||
mem_mapping_add(&vid->ogc.cga.mapping, 0xb8000, 0x08000, m19_vid_read, NULL, NULL, m19_vid_write, NULL, NULL, NULL, MEM_MAPPING_EXTERNAL, vid);
|
||||
io_sethandler(0x03d0, 0x0010, m19_vid_in, NULL, NULL, m19_vid_out, NULL, NULL, vid);
|
||||
|
||||
vid->mode = OLIVETTI_OGC_MODE;
|
||||
}
|
||||
|
||||
|
||||
const device_t m24_kbd_device = {
|
||||
"Olivetti M24 keyboard and mouse",
|
||||
0,
|
||||
@@ -590,11 +605,13 @@ m19_get_device(void)
|
||||
return &m19_vid_device;
|
||||
}
|
||||
|
||||
|
||||
static uint8_t
|
||||
m24_read(uint16_t port, void *priv)
|
||||
{
|
||||
uint8_t ret = 0x00;
|
||||
int i, fdd_count = 0;
|
||||
uint8_t ret = 0x00;
|
||||
int i, fdd_count = 0;
|
||||
|
||||
switch (port) {
|
||||
/*
|
||||
* port 66:
|
||||
@@ -610,7 +627,7 @@ m24_read(uint16_t port, void *priv)
|
||||
/* Switch 5 - 8087 present */
|
||||
if (hasfpu)
|
||||
ret |= 0x10;
|
||||
/*
|
||||
/*
|
||||
* Switches 1, 2, 3, 4 - installed memory
|
||||
* Switch 8 - Use memory bank 1
|
||||
*/
|
||||
@@ -650,10 +667,9 @@ m24_read(uint16_t port, void *priv)
|
||||
*/
|
||||
case 0x67:
|
||||
for (i = 0; i < FDD_NUM; i++) {
|
||||
if (fdd_get_flags(i)) {
|
||||
if (fdd_get_flags(i))
|
||||
fdd_count++;
|
||||
}
|
||||
}
|
||||
|
||||
/* Switches 7, 8 - floppy drives. */
|
||||
if (!fdd_count)
|
||||
@@ -674,17 +690,19 @@ m24_read(uint16_t port, void *priv)
|
||||
|
||||
/* Switch 2 - Set fast startup */
|
||||
ret |= 0x2;
|
||||
}
|
||||
}
|
||||
|
||||
return(ret);
|
||||
}
|
||||
|
||||
|
||||
const device_t *
|
||||
m24_get_device(void)
|
||||
{
|
||||
return &ogc_m24_device;
|
||||
}
|
||||
|
||||
|
||||
int
|
||||
machine_xt_olim24_init(const machine_t *model)
|
||||
{
|
||||
@@ -708,22 +726,21 @@ machine_xt_olim24_init(const machine_t *model)
|
||||
machine_common_init(model);
|
||||
device_add(&fdc_xt_device);
|
||||
|
||||
//address 66-67 = mainboard dip-switch settings
|
||||
io_sethandler(0x0066, 2, m24_read, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
/* Address 66-67 = mainboard dip-switch settings */
|
||||
io_sethandler(0x0066, 2, m24_read, NULL, NULL, NULL, NULL, NULL, NULL);
|
||||
|
||||
m24_kbd_init(m24_kbd);
|
||||
device_add_ex(&m24_kbd_device, m24_kbd);
|
||||
m24_kbd_init(m24_kbd);
|
||||
device_add_ex(&m24_kbd_device, m24_kbd);
|
||||
|
||||
/* FIXME: make sure this is correct?? */
|
||||
/* FIXME: make sure this is correct?? */
|
||||
device_add(&at_nvr_device);
|
||||
|
||||
if (joystick_type)
|
||||
device_add(&gameport_device);
|
||||
device_add(&gameport_device);
|
||||
|
||||
nmi_init();
|
||||
|
||||
|
||||
return ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -746,10 +763,10 @@ machine_xt_olim240_init(const machine_t *model)
|
||||
|
||||
pit_ctr_set_out_func(&pit->counters[1], pit_refresh_timer_xt);
|
||||
|
||||
/*
|
||||
* port 60: should return jumper settings only under unknown conditions
|
||||
* SWB on mainboard (off=1)
|
||||
* bit 7 - use BIOS HD on mainboard (on) / on controller (off)
|
||||
/*
|
||||
* port 60: should return jumper settings only under unknown conditions
|
||||
* SWB on mainboard (off=1)
|
||||
* bit 7 - use BIOS HD on mainboard (on) / on controller (off)
|
||||
* bit 6 - use OCG/CGA display adapter (on) / other display adapter (off)
|
||||
*/
|
||||
device_add(&keyboard_at_olivetti_device);
|
||||
@@ -757,11 +774,11 @@ machine_xt_olim240_init(const machine_t *model)
|
||||
/* FIXME: make sure this is correct?? */
|
||||
device_add(&at_nvr_device);
|
||||
|
||||
if (fdc_type == FDC_INTERNAL)
|
||||
device_add(&fdc_xt_device);
|
||||
if (fdc_type == FDC_INTERNAL)
|
||||
device_add(&fdc_xt_device);
|
||||
|
||||
if (joystick_type)
|
||||
device_add(&gameport_device);
|
||||
if (joystick_type)
|
||||
device_add(&gameport_device);
|
||||
|
||||
nmi_init();
|
||||
|
||||
@@ -787,19 +804,19 @@ machine_xt_olim19_init(const machine_t *model)
|
||||
|
||||
olim19_vid_t *vid;
|
||||
|
||||
/* do not move memory allocation elsewhere */
|
||||
vid = (olim19_vid_t *)malloc(sizeof(olim19_vid_t));
|
||||
memset(vid, 0x00, sizeof(olim19_vid_t));
|
||||
/* Do not move memory allocation elsewhere. */
|
||||
vid = (olim19_vid_t *)malloc(sizeof(olim19_vid_t));
|
||||
memset(vid, 0x00, sizeof(olim19_vid_t));
|
||||
|
||||
machine_common_init(model);
|
||||
device_add(&fdc_xt_device);
|
||||
|
||||
m19_vid_init(vid);
|
||||
device_add_ex(&m19_vid_device, vid);
|
||||
m19_vid_init(vid);
|
||||
device_add_ex(&m19_vid_device, vid);
|
||||
|
||||
device_add(&keyboard_xt_olivetti_device);
|
||||
|
||||
nmi_init();
|
||||
device_add(&keyboard_xt_olivetti_device);
|
||||
|
||||
nmi_init();
|
||||
|
||||
return ret;
|
||||
|
||||
|
||||
@@ -34,23 +34,23 @@
|
||||
|
||||
|
||||
const machine_type_t machine_types[] = {
|
||||
{ "None", MACHINE_TYPE_NONE },
|
||||
{ "8088", MACHINE_TYPE_8088 },
|
||||
{ "8086", MACHINE_TYPE_8086 },
|
||||
{ "80286", MACHINE_TYPE_286 },
|
||||
{ "i386SX", MACHINE_TYPE_386SX },
|
||||
{ "i386DX", MACHINE_TYPE_386DX },
|
||||
{ "i486", MACHINE_TYPE_486 },
|
||||
{ "Socket 4", MACHINE_TYPE_SOCKET4 },
|
||||
{ "Socket 5", MACHINE_TYPE_SOCKET5 },
|
||||
{ "Socket 7-3V", MACHINE_TYPE_SOCKET7_3V },
|
||||
{ "Socket 7", MACHINE_TYPE_SOCKET7 },
|
||||
{ "Super Socket 7", MACHINE_TYPE_SOCKETS7 },
|
||||
{ "Socket 8", MACHINE_TYPE_SOCKET8 },
|
||||
{ "Slot 1", MACHINE_TYPE_SLOT1 },
|
||||
{ "Slot 2", MACHINE_TYPE_SLOT2 },
|
||||
{ "Socket 370", MACHINE_TYPE_SOCKET370 },
|
||||
{ "Miscellaneous", MACHINE_TYPE_MISC }
|
||||
{ "None", MACHINE_TYPE_NONE },
|
||||
{ "8088", MACHINE_TYPE_8088 },
|
||||
{ "8086", MACHINE_TYPE_8086 },
|
||||
{ "80286", MACHINE_TYPE_286 },
|
||||
{ "i386SX", MACHINE_TYPE_386SX },
|
||||
{ "i386DX", MACHINE_TYPE_386DX },
|
||||
{ "i486", MACHINE_TYPE_486 },
|
||||
{ "Socket 4", MACHINE_TYPE_SOCKET4 },
|
||||
{ "Socket 5", MACHINE_TYPE_SOCKET5 },
|
||||
{ "Socket 7 (Single Voltage)", MACHINE_TYPE_SOCKET7_3V },
|
||||
{ "Socket 7 (Dual Voltage)", MACHINE_TYPE_SOCKET7 },
|
||||
{ "Super Socket 7", MACHINE_TYPE_SOCKETS7 },
|
||||
{ "Socket 8", MACHINE_TYPE_SOCKET8 },
|
||||
{ "Slot 1", MACHINE_TYPE_SLOT1 },
|
||||
{ "Slot 2", MACHINE_TYPE_SLOT2 },
|
||||
{ "Socket 370", MACHINE_TYPE_SOCKET370 },
|
||||
{ "Miscellaneous", MACHINE_TYPE_MISC }
|
||||
};
|
||||
|
||||
|
||||
@@ -95,8 +95,8 @@ const machine_t machines[] = {
|
||||
{ "[8086] Amstrad PC3086", "pc3086", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED | MACHINE_MOUSE, 640, 640, 640, 63, machine_pc3086_init, pc3086_get_device },
|
||||
{ "[8086] Amstrad PC20(0)", "pc200", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO | MACHINE_MOUSE | MACHINE_NONMI, 512, 640, 128, 63, machine_pc200_init, pc200_get_device },
|
||||
{ "[8086] Amstrad PPC512/640", "ppc512", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO | MACHINE_MOUSE | MACHINE_NONMI, 512, 640, 128, 63, machine_ppc512_init, ppc512_get_device },
|
||||
{ "[8086] Compaq Deskpro", "deskpro", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_compaq_deskpro_init, NULL },
|
||||
{ "[8086] Olivetti M21/24/24SP", "olivetti_m24", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO | MACHINE_MOUSE, 128, 640, 128, 0, machine_xt_olim24_init, m24_get_device },
|
||||
{ "[8086] Compaq Deskpro", "deskpro", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_compaq_deskpro_init, NULL },
|
||||
{ "[8086] Olivetti M21/24/24SP", "olivetti_m24", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO | MACHINE_MOUSE, 128, 640, 128, 0, machine_xt_olim24_init, m24_get_device },
|
||||
{ "[8086] Olivetti M240", "olivetti_m240", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_olim240_init, NULL },
|
||||
{ "[8086] Schetmash Iskra-3104", "iskra3104", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC, 128, 640, 128, 0, machine_xt_iskra3104_init, NULL },
|
||||
{ "[8086] Tandy 1000 SL/2", "tandy1000sl2", MACHINE_TYPE_8086, CPU_PKG_8086, 0, 0, 0, 0, 0, 0, 0, MACHINE_PC | MACHINE_VIDEO_FIXED, 512, 768, 128, 0, machine_tandy1000sl2_init, tandy1k_sl_get_device },
|
||||
@@ -194,6 +194,7 @@ const machine_t machines[] = {
|
||||
{ "[OPTi 802G] IBM PC 330 (type 6571)", "pc330_6571", MACHINE_TYPE_486, CPU_PKG_SOCKET3_PC330, 0, 25000000, 33333333, 0, 0, 2.0, 3.0, MACHINE_VLB | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_pc330_6571_init, NULL },
|
||||
{ "[OPTi 895] Jetway J-403TG", "403tg", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB, 1024, 65536, 1024, 127, machine_at_403tg_init, NULL },
|
||||
{ "[SiS 401] AMI 486 Clone", "sis401", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_sis401_init, NULL },
|
||||
{ "[SiS 460] ABIT AV4", "av4", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_av4_init, NULL },
|
||||
{ "[SiS 461] IBM PS/ValuePoint 433DX/Si", "valuepoint433", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_AT | MACHINE_BUS_PS2 | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_valuepoint433_init, NULL },
|
||||
{ "[SiS 471] AMI 486 Clone", "ami471", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_ami471_init, NULL },
|
||||
{ "[SiS 471] AMI WinBIOS 486 clone", "win471", MACHINE_TYPE_486, CPU_PKG_SOCKET3, 0, 0, 0, 0, 0, 0, 0, MACHINE_VLB | MACHINE_IDE, 1024, 65536, 1024, 127, machine_at_win471_init, NULL },
|
||||
@@ -236,19 +237,20 @@ const machine_t machines[] = {
|
||||
|
||||
/* Socket 4 machines */
|
||||
/* 430LX */
|
||||
{ "[i430LX] ASUS P/I-P5MP3", "p5mp3", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 2048, 196608, 2048, 127, machine_at_p5mp3_init, NULL },
|
||||
#if defined(DEV_BRANCH) && defined(USE_DELLS4)
|
||||
{ "[i430LX] Dell Dimension XPS P60", "dellxp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 2048, 131072, 2048, 127, machine_at_dellxp60_init, NULL },
|
||||
{ "[i430LX] Dell OptiPlex 560/L", "opti560l", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_opti560l_init, NULL },
|
||||
#endif
|
||||
{ "[i430LX] IBM Ambra DP60 PCI", "ambradp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_ambradp60_init, NULL },
|
||||
{ "[i430LX] IBM PS/ValuePoint P60", "valuepointp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_valuepointp60_init, NULL },
|
||||
{ "[i430LX] Intel Premiere/PCI", "revenge", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_batman_init, NULL },
|
||||
{ "[i430LX] Micro Star 586MC1", "586mc1", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_586mc1_init, NULL },
|
||||
{ "[i430LX] Packard Bell PB520R", "pb520r", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8192, 139264, 2048, 127, machine_at_pb520r_init, at_pb520r_get_device },
|
||||
{ "[i430LX] ASUS P/I-P5MP3", "p5mp3", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 2048, 196608, 2048, 127, machine_at_p5mp3_init, NULL },
|
||||
{ "[i430LX] Dell Dimension XPS P60", "dellxp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE, 2048, 131072, 2048, 127, machine_at_dellxp60_init, NULL },
|
||||
{ "[i430LX] Dell OptiPlex 560/L", "opti560l", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_opti560l_init, NULL },
|
||||
{ "[i430LX] IBM Ambra DP60 PCI", "ambradp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_ambradp60_init, NULL },
|
||||
{ "[i430LX] IBM PS/ValuePoint P60", "valuepointp60", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_valuepointp60_init, NULL },
|
||||
{ "[i430LX] Intel Premiere/PCI", "revenge", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_batman_init, NULL },
|
||||
{ "[i430LX] Micro Star 586MC1", "586mc1", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 2048, 131072, 2048, 127, machine_at_586mc1_init, NULL },
|
||||
{ "[i430LX] Packard Bell PB520R", "pb520r", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8192, 139264, 2048, 127, machine_at_pb520r_init, at_pb520r_get_device },
|
||||
|
||||
/* OPTi 596/597 */
|
||||
{ "[OPTi 597] AMI Excalibur VLB", "excalibur", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 0, 0, MACHINE_MULTIPLIER_FIXED, MACHINE_VLB | MACHINE_IDE, 2048, 65536, 2048, 127, machine_at_excalibur_init, NULL },
|
||||
{ "[OPTi 597] AMI Excalibur VLB", "excalibur", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_VLB | MACHINE_IDE, 2048, 65536, 2048, 127, machine_at_excalibur_init, NULL },
|
||||
|
||||
/* SiS 85C50x */
|
||||
{ "[SiS 85C50x] ASUS PCI/I-P5SP4", "p5sp4", MACHINE_TYPE_SOCKET4, CPU_PKG_SOCKET4, 0, 60000000, 66666667, 5000, 5000, MACHINE_MULTIPLIER_FIXED, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_p5sp4_init, NULL },
|
||||
|
||||
/* Socket 5 machines */
|
||||
/* 430NX */
|
||||
@@ -264,7 +266,11 @@ const machine_t machines[] = {
|
||||
{ "[i430FX] NEC PowerMate V", "powermate_v", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_powermate_v_init, NULL },
|
||||
{ "[i430FX] PC Partner MB500N", "mb500n", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_mb500n_init, NULL },
|
||||
|
||||
/* Socket 7 machines */
|
||||
/* SiS 85C50x */
|
||||
{ "[SiS 85C50x] ASUS PCI/I-P54SP4", "p54sp4", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, CPU_BLOCK(CPU_K5, CPU_5K86), 40000000, 66666667, 3380, 3520, 1.5, 1.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_p54sp4_init, NULL },
|
||||
{ "[SiS 85C50x] BCM SQ-588", "sq588", MACHINE_TYPE_SOCKET5, CPU_PKG_SOCKET5_7, CPU_BLOCK(CPU_PENTIUMMMX), 50000000, 66666667, 3520, 3520, 1.5, 1.5, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_sq588_init, NULL },
|
||||
|
||||
/* Socket 7 (Single Voltage) machines */
|
||||
/* 430FX */
|
||||
{ "[i430FX] ASUS P/I-P54TP4XE", "p54tp4xe", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3600, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_p54tp4xe_init, NULL },
|
||||
{ "[i430FX] ASUS P/I-P54TP4XE (MR BIOS)", "mr586", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3600, 1.5, 2.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_mr586_init, NULL },
|
||||
@@ -273,7 +279,7 @@ const machine_t machines[] = {
|
||||
{ "[i430FX] Intel Advanced/ATX (MR BIOS)", "mrthor", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8192, 131072, 8192, 127, machine_at_mrthor_init, NULL },
|
||||
{ "[i430FX] Intel Advanced/EV", "endeavor", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8192, 131072, 8192, 127, machine_at_endeavor_init, at_endeavor_get_device },
|
||||
{ "[i430FX] Packard Bell PB640", "pb640", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8192, 131072, 8192, 127, machine_at_pb640_init, at_pb640_get_device },
|
||||
{ "[i430FX] QDI Chariot", "chariot", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, CPU_WINCHIP|CPU_WINCHIP2|CPU_Cx6x86|CPU_Cx6x86L|CPU_Cx6x86MX, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_chariot_init, NULL },
|
||||
{ "[i430FX] QDI Chariot", "chariot", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, CPU_BLOCK(CPU_WINCHIP, CPU_WINCHIP2, CPU_Cx6x86, CPU_Cx6x86L, CPU_Cx6x86MX), 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_chariot_init, NULL },
|
||||
|
||||
/* 430HX */
|
||||
{ "[i430HX] Acer M3A", "acerm3a", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3300, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 196608, 8192, 127, machine_at_acerm3a_init, NULL },
|
||||
@@ -281,7 +287,12 @@ const machine_t machines[] = {
|
||||
{ "[i430HX] Biostar MB-8500TUC", "8500tuc", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 524288, 8192, 127, machine_at_8500tuc_init, NULL },
|
||||
{ "[i430HX] SuperMicro Super P55T2S", "p55t2s", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3300, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 786432, 8192, 127, machine_at_p55t2s_init, NULL },
|
||||
|
||||
{ "[i430HX] Acer V35N", "acerv35n", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, CPU_Cx6x86MX, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 196608, 8192, 127, machine_at_acerv35n_init, NULL },
|
||||
/* 430VX */
|
||||
{ "[i430VX] Gateway 2000 Tigereye", "gw2kte", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_gw2kte_init, NULL },
|
||||
|
||||
/* Socket 7 (Dual Voltage) machines */
|
||||
/* 430HX */
|
||||
{ "[i430HX] Acer V35N", "acerv35n", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, CPU_BLOCK(CPU_Cx6x86MX), 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 196608, 8192, 127, machine_at_acerv35n_init, NULL },
|
||||
{ "[i430HX] ASUS P/I-P55T2P4", "p55t2p4", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 83333333, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 262144, 8192, 127, machine_at_p55t2p4_init, NULL },
|
||||
{ "[i430HX] Micronics M7S-Hi", "m7shi", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 511, machine_at_m7shi_init, NULL },
|
||||
{ "[i430HX] Intel TC430HX", "tc430hx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 255, machine_at_tc430hx_init, NULL },
|
||||
@@ -294,7 +305,6 @@ const machine_t machines[] = {
|
||||
{ "[i430VX] Biostar MB-8500TVX-A", "8500tvxa", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2600, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_8500tvxa_init, NULL },
|
||||
{ "[i430VX] Compaq Presario 4500", "presario4500", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL | MACHINE_VIDEO, 8192, 131072, 8192, 127, machine_at_presario4500_init, NULL },
|
||||
{ "[i430VX] Epox P55-VA", "p55va", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_p55va_init, NULL },
|
||||
{ "[i430VX] Gateway 2000 Tigereye", "gw2kte", MACHINE_TYPE_SOCKET7_3V, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 3380, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_gw2kte_init, NULL },
|
||||
{ "[i430VX] HP Brio 80xx", "brio80xx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 66666667, 66666667, 2200, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_brio80xx_init, NULL },
|
||||
{ "[i430VX] Packard Bell PB680", "pb680", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2800, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_pb680_init, NULL },
|
||||
{ "[i430VX] Shuttle HOT-557", "430vx", MACHINE_TYPE_SOCKET7, CPU_PKG_SOCKET5_7, 0, 50000000, 66666667, 2500, 3520, 1.5, 3.0, MACHINE_PCI | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 131072, 8192, 127, machine_at_i430vx_init, NULL },
|
||||
@@ -364,6 +374,7 @@ const machine_t machines[] = {
|
||||
|
||||
/* VIA Apollo Pro */
|
||||
{ "[VIA Apollo Pro] FIC KA-6130", "ficka6130", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 100000000, 1800, 3500, 3.5, 5.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 524288, 8192, 255, machine_at_ficka6130_init, NULL },
|
||||
{ "[VIA Apollo Pro133] ASUS P3V133", "p3v133", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 150000000, 1300, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_p3v133_init, NULL },
|
||||
{ "[VIA Apollo Pro133A] ASUS P3V4X", "p3v4x", MACHINE_TYPE_SLOT1, CPU_PKG_SLOT1, 0, 66666667, 150000000, 1300, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,2097152, 8192, 255, machine_at_p3v4x_init, NULL },
|
||||
|
||||
/* Slot 2 machines */
|
||||
@@ -390,14 +401,14 @@ const machine_t machines[] = {
|
||||
|
||||
/* VIA Apollo Pro */
|
||||
{ "[VIA Apollo Pro] PC Partner APAS3", "apas3", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 100000000, 1800, 3500, 3.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192, 786432, 8192, 255, machine_at_apas3_init, NULL },
|
||||
{ "[VIA Apollo Pro133] ECS P6BAP", "p6bap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_p6bap_init, NULL },
|
||||
{ "[VIA Apollo Pro133A] AEWIN WCF-681", "wcf681", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 133333333, 1300, 3500, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 255, machine_at_wcf681_init, NULL },
|
||||
{ "[VIA Apollo Pro133A] ASUS CUV4X-LS", "cuv4xls", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 2.0, 8.0, (MACHINE_AGP & ~MACHINE_AT) | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 16384,1572864, 8192, 255, machine_at_cuv4xls_init, NULL },
|
||||
{ "[VIA Apollo Pro133A] Acorp 6VIA90AP", "6via90ap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, MACHINE_MULTIPLIER_FIXED, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_6via90ap_init, NULL },
|
||||
{ "[VIA Apollo Pro133A] ECS P6BAP", "p6bap", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1572864, 8192, 255, machine_at_p6bap_init, NULL },
|
||||
{ "[VIA Apollo ProMedia] Jetway 603TCF", "603tcf", MACHINE_TYPE_SOCKET370, CPU_PKG_SOCKET370, 0, 66666667, 150000000, 1300, 3500, 2.0, 8.0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 255, machine_at_603tcf_init, NULL },
|
||||
|
||||
/* Miscellaneous/Fake/Hypervisor machines */
|
||||
{ "[i440BX] Microsoft Virtual PC 2007", "vpc2007", MACHINE_TYPE_MISC, CPU_PKG_SLOT1, CPU_PENTIUM2 | CPU_CYRIX3S, 0, 0, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 255, machine_at_vpc2007_init, NULL },
|
||||
{ "[i440BX] Microsoft Virtual PC 2007", "vpc2007", MACHINE_TYPE_MISC, CPU_PKG_SLOT1, CPU_BLOCK(CPU_PENTIUM2, CPU_CYRIX3S), 0, 0, 0, 0, 0, 0, MACHINE_AGP | MACHINE_BUS_PS2 | MACHINE_IDE_DUAL, 8192,1048576, 8192, 255, machine_at_vpc2007_init, NULL },
|
||||
|
||||
{ NULL, NULL, MACHINE_TYPE_NONE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user