@@ -1399,6 +1399,119 @@ machine_at_p3v133_init(const machine_t *model)
13991399 return ret ;
14001400}
14011401
1402+ static const device_config_t ms6199va_config [] = {
1403+ // clang-format off
1404+ {
1405+ .name = "bios" ,
1406+ .description = "BIOS Version" ,
1407+ .type = CONFIG_BIOS ,
1408+ .default_string = "ms6199va" ,
1409+ .default_int = 0 ,
1410+ .file_filter = NULL ,
1411+ .spinner = { 0 },
1412+ .selection = { { 0 } },
1413+ .bios = {
1414+ {
1415+ .name = "Award Modular BIOS v4.51PG - Revision 3.5" ,
1416+ .internal_name = "ms6199va" ,
1417+ .bios_type = BIOS_NORMAL ,
1418+ .files_no = 1 ,
1419+ .local = 0 ,
1420+ .size = 262144 ,
1421+ .files = { "roms/machines/ms6199va/w6199vms.350" , "" }
1422+ },
1423+ {
1424+ .name = "Award Modular BIOS v4.51PG - Revision 2.0 (Compaq OEM)" ,
1425+ .internal_name = "ms6199va_200" ,
1426+ .bios_type = BIOS_NORMAL ,
1427+ .files_no = 1 ,
1428+ .local = 0 ,
1429+ .size = 262144 ,
1430+ .files = { "roms/machines/ms6199va/W6199VC8.BIN" , "" }
1431+ },
1432+ {
1433+ .name = "Award Modular BIOS v4.51PG - Revision 2.0 (Compaq OEM) [patched for large drives]" ,
1434+ .internal_name = "ms6199va_200p" ,
1435+ .bios_type = BIOS_NORMAL ,
1436+ .files_no = 1 ,
1437+ .local = 0 ,
1438+ .size = 262144 ,
1439+ .files = { "roms/machines/ms6199va/W6199VC8.PCD" , "" }
1440+ },
1441+ {
1442+ .name = "Award Modular BIOS v4.51PG - Revision 3.7 (Packard Bell OEM)" ,
1443+ .internal_name = "ms6199va_370" ,
1444+ .bios_type = BIOS_NORMAL ,
1445+ .files_no = 1 ,
1446+ .local = 0 ,
1447+ .size = 262144 ,
1448+ .files = { "roms/machines/ms6199va/w6199VP2.370" , "" }
1449+ },
1450+ { .files_no = 0 }
1451+ }
1452+ },
1453+ { .name = "" , .description = "" , .type = CONFIG_END }
1454+ // clang-format on
1455+ };
1456+
1457+ const device_t ms6199va_device = {
1458+ .name = "MSI MS-6199VA" ,
1459+ .internal_name = "ms6199va_device" ,
1460+ .flags = 0 ,
1461+ .local = 0 ,
1462+ .init = NULL ,
1463+ .close = NULL ,
1464+ .reset = NULL ,
1465+ .available = NULL ,
1466+ .speed_changed = NULL ,
1467+ .force_redraw = NULL ,
1468+ .config = ms6199va_config
1469+ };
1470+
1471+ int
1472+ machine_at_ms6199va_init (const machine_t * model )
1473+ {
1474+ int ret = 0 ;
1475+ const char * fn ;
1476+
1477+ /* No ROMs available */
1478+ if (!device_available (model -> device ))
1479+ return ret ;
1480+
1481+ device_context (model -> device );
1482+ fn = device_get_bios_file (machine_get_device (machine ), device_get_config_bios ("bios" ), 0 );
1483+ ret = bios_load_linear (fn , 0x000c0000 , 262144 , 0 );
1484+ device_context_restore ();
1485+
1486+ machine_at_common_init_ex (model , 2 );
1487+
1488+ pci_init (PCI_CONFIG_TYPE_1 );
1489+ pci_register_slot (0x00 , PCI_CARD_NORTHBRIDGE , 0 , 0 , 0 , 0 );
1490+ pci_register_slot (0x07 , PCI_CARD_SOUTHBRIDGE , 0 , 0 , 3 , 4 );
1491+ pci_register_slot (0x0C , PCI_CARD_SOUND , 3 , 4 , 1 , 2 );
1492+ pci_register_slot (0x0E , PCI_CARD_NORMAL , 1 , 2 , 3 , 4 );
1493+ pci_register_slot (0x10 , PCI_CARD_NORMAL , 2 , 3 , 4 , 1 );
1494+ pci_register_slot (0x12 , PCI_CARD_NORMAL , 3 , 4 , 1 , 2 );
1495+ pci_register_slot (0x13 , PCI_CARD_NORMAL , 2 , 1 , 4 , 3 );
1496+ pci_register_slot (0x14 , PCI_CARD_NORMAL , 2 , 1 , 4 , 3 );
1497+ pci_register_slot (0x01 , PCI_CARD_AGPBRIDGE , 1 , 2 , 3 , 4 );
1498+
1499+ device_add (& via_apro133a_device );
1500+ device_add (& via_vt82c596b_device );
1501+ device_add_params (& w83977_device , (void * ) (W83977EF | W83977_AMI | W83977_NO_NVR ));
1502+ device_add (& winbond_flash_w29c020_device );
1503+ spd_register (SPD_TYPE_SDRAM , 0x7 , 512 );
1504+ device_add (& w83782d_device ); /* fans: Chassis, Power, CPU; temperatures: System, CPU, unused */
1505+ hwm_values .temperatures [2 ] = 0 ; /* unused */
1506+
1507+ if (sound_card_current [0 ] == SOUND_INTERNAL ) {
1508+ device_add (machine_get_snd_device (machine ));
1509+ device_add (& w83971d_device );
1510+ }
1511+
1512+ return ret ;
1513+ }
1514+
14021515/* VIA Apollo Pro 133A */
14031516int
14041517machine_at_p3v4x_init (const machine_t * model )
0 commit comments