Display::Name -> VMManager::Display::Name + changes for FreeBSD

This commit is contained in:
Tiago Gasiba
2025-08-28 16:03:48 +02:00
parent 1343faadfb
commit 331278084d
7 changed files with 68 additions and 54 deletions

View File

@@ -28,6 +28,9 @@ add_library(cdrom OBJECT
if(NOT WIN32) if(NOT WIN32)
target_include_directories(86Box PRIVATE PkgConfig::SNDFILE) target_include_directories(86Box PRIVATE PkgConfig::SNDFILE)
endif() endif()
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
target_include_directories(cdrom PRIVATE /usr/local/include)
endif()
target_link_libraries(86Box PkgConfig::SNDFILE) target_link_libraries(86Box PkgConfig::SNDFILE)
if(CDROM_MITSUMI) if(CDROM_MITSUMI)

View File

@@ -71,6 +71,9 @@ if(NETSWITCH)
endif() endif()
if (UNIX) if (UNIX)
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
set_source_files_properties(net_slirp.c PROPERTIES COMPILE_FLAGS "-I/usr/local/include")
endif()
find_path(HAS_VDE "libvdeplug.h" PATHS ${VDE_INCLUDE_DIR} "/usr/include /usr/local/include" "/opt/homebrew/include" ) find_path(HAS_VDE "libvdeplug.h" PATHS ${VDE_INCLUDE_DIR} "/usr/include /usr/local/include" "/opt/homebrew/include" )
if(HAS_VDE) if(HAS_VDE)
find_library(VDE_LIB vdeplug) find_library(VDE_LIB vdeplug)

View File

@@ -37,6 +37,10 @@ endif()
find_package(PkgConfig REQUIRED) find_package(PkgConfig REQUIRED)
pkg_check_modules(FREETYPE REQUIRED IMPORTED_TARGET freetype2) pkg_check_modules(FREETYPE REQUIRED IMPORTED_TARGET freetype2)
target_link_libraries(86Box PkgConfig::FREETYPE) target_link_libraries(86Box PkgConfig::FREETYPE)
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
target_include_directories(print PRIVATE /usr/local/include)
target_include_directories(print PRIVATE /usr/local/include/freetype2)
endif()
if(STATIC_BUILD) if(STATIC_BUILD)
# if(QT) # if(QT)
# Qt provides its own version of harfbuzz which leads to duplicated symbols. # Qt provides its own version of harfbuzz which leads to duplicated symbols.

View File

@@ -248,52 +248,52 @@ VMManagerDetails::updateConfig(VMManagerSystem *passed_sysconfig) {
// System // System
systemSection->clear(); systemSection->clear();
systemSection->addSection("Machine", passed_sysconfig->getDisplayValue(Display::Name::Machine)); systemSection->addSection("Machine", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Machine));
systemSection->addSection("CPU", passed_sysconfig->getDisplayValue(Display::Name::CPU)); systemSection->addSection("CPU", passed_sysconfig->getDisplayValue(VMManager::Display::Name::CPU));
systemSection->addSection("Memory", passed_sysconfig->getDisplayValue(Display::Name::Memory)); systemSection->addSection("Memory", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Memory));
// Video // Video
videoSection->clear(); videoSection->clear();
videoSection->addSection("Video", passed_sysconfig->getDisplayValue(Display::Name::Video)); videoSection->addSection("Video", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Video));
if(!passed_sysconfig->getDisplayValue(Display::Name::Voodoo).isEmpty()) { if(!passed_sysconfig->getDisplayValue(VMManager::Display::Name::Voodoo).isEmpty()) {
videoSection->addSection("Voodoo", passed_sysconfig->getDisplayValue(Display::Name::Voodoo)); videoSection->addSection("Voodoo", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Voodoo));
} }
// Disks // Disks
storageSection->clear(); storageSection->clear();
storageSection->addSection("Disks", passed_sysconfig->getDisplayValue(Display::Name::Disks)); storageSection->addSection("Disks", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Disks));
storageSection->addSection("Floppy", passed_sysconfig->getDisplayValue(Display::Name::Floppy)); storageSection->addSection("Floppy", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Floppy));
storageSection->addSection("CD-ROM", passed_sysconfig->getDisplayValue(Display::Name::CD)); storageSection->addSection("CD-ROM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::CD));
storageSection->addSection("Removable disks", passed_sysconfig->getDisplayValue(Display::Name::RDisk)); storageSection->addSection("Removable disks", passed_sysconfig->getDisplayValue(VMManager::Display::Name::RDisk));
storageSection->addSection("MO", passed_sysconfig->getDisplayValue(Display::Name::MO)); storageSection->addSection("MO", passed_sysconfig->getDisplayValue(VMManager::Display::Name::MO));
storageSection->addSection("SCSI", passed_sysconfig->getDisplayValue(Display::Name::SCSIController)); storageSection->addSection("SCSI", passed_sysconfig->getDisplayValue(VMManager::Display::Name::SCSIController));
storageSection->addSection("Controllers", passed_sysconfig->getDisplayValue(Display::Name::StorageController)); storageSection->addSection("Controllers", passed_sysconfig->getDisplayValue(VMManager::Display::Name::StorageController));
// Audio // Audio
audioSection->clear(); audioSection->clear();
audioSection->addSection("Audio", passed_sysconfig->getDisplayValue(Display::Name::Audio)); audioSection->addSection("Audio", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Audio));
audioSection->addSection("MIDI Out", passed_sysconfig->getDisplayValue(Display::Name::MidiOut)); audioSection->addSection("MIDI Out", passed_sysconfig->getDisplayValue(VMManager::Display::Name::MidiOut));
// Network // Network
networkSection->clear(); networkSection->clear();
networkSection->addSection("NIC", passed_sysconfig->getDisplayValue(Display::Name::NIC)); networkSection->addSection("NIC", passed_sysconfig->getDisplayValue(VMManager::Display::Name::NIC));
// Input // Input
inputSection->clear(); inputSection->clear();
inputSection->addSection("Keyboard", passed_sysconfig->getDisplayValue(Display::Name::Keyboard)); inputSection->addSection("Keyboard", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Keyboard));
inputSection->addSection("Mouse", passed_sysconfig->getDisplayValue(Display::Name::Mouse)); inputSection->addSection("Mouse", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Mouse));
inputSection->addSection("Joystick", passed_sysconfig->getDisplayValue(Display::Name::Joystick)); inputSection->addSection("Joystick", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Joystick));
// Ports // Ports
portsSection->clear(); portsSection->clear();
portsSection->addSection("Serial ports", passed_sysconfig->getDisplayValue(Display::Name::Serial)); portsSection->addSection("Serial ports", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Serial));
portsSection->addSection("Parallel ports", passed_sysconfig->getDisplayValue(Display::Name::Parallel)); portsSection->addSection("Parallel ports", passed_sysconfig->getDisplayValue(VMManager::Display::Name::Parallel));
// Other devices // Other devices
otherSection->clear(); otherSection->clear();
otherSection->addSection("ISA RTC", passed_sysconfig->getDisplayValue(Display::Name::IsaRtc)); otherSection->addSection("ISA RTC", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaRtc));
otherSection->addSection("ISA RAM", passed_sysconfig->getDisplayValue(Display::Name::IsaMem)); otherSection->addSection("ISA RAM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaMem));
otherSection->addSection("ISA ROM", passed_sysconfig->getDisplayValue(Display::Name::IsaRom)); otherSection->addSection("ISA ROM", passed_sysconfig->getDisplayValue(VMManager::Display::Name::IsaRom));
systemSection->setSections(); systemSection->setSections();
videoSection->setSections(); videoSection->setSections();

View File

@@ -145,7 +145,7 @@ VMManagerDetailSection::setSectionName(const QString &name)
} }
void void
VMManagerDetailSection::addSection(const QString &name, const QString &value, Display::Name displayField) VMManagerDetailSection::addSection(const QString &name, const QString &value, VMManager::Display::Name displayField)
{ {
const auto new_section = DetailSection { name, value}; const auto new_section = DetailSection { name, value};
sections.push_back(new_section); sections.push_back(new_section);

View File

@@ -557,7 +557,7 @@ VMManagerSystem::setupVars() {
} }
} }
} }
display_table[Display::Name::Machine] = machine_name; display_table[VMManager::Display::Name::Machine] = machine_name;
// CPU: Combine name with speed and FPU // CPU: Combine name with speed and FPU
QString cpu_name = "Unknown"; QString cpu_name = "Unknown";
@@ -592,34 +592,34 @@ VMManagerSystem::setupVars() {
// int speed_display = machine_config["cpu_speed"].toInt() / 1000000; // int speed_display = machine_config["cpu_speed"].toInt() / 1000000;
// cpu_name.append(QString::number(speed_display).prepend(" / ")); // cpu_name.append(QString::number(speed_display).prepend(" / "));
// cpu_name.append(QCoreApplication::translate("", "MHz").prepend(' ')); // cpu_name.append(QCoreApplication::translate("", "MHz").prepend(' '));
display_table[Display::Name::CPU] = cpu_name; display_table[VMManager::Display::Name::CPU] = cpu_name;
// Memory // Memory
int divisor = (ram_granularity < 1024) ? 1 : 1024; int divisor = (ram_granularity < 1024) ? 1 : 1024;
QString display_unit = (divisor == 1) ? "KB" : "MB"; QString display_unit = (divisor == 1) ? "KB" : "MB";
auto mem_display = QString::number(machine_config["mem_size"].toInt() / divisor); auto mem_display = QString::number(machine_config["mem_size"].toInt() / divisor);
mem_display.append(QCoreApplication::translate("", display_unit.toUtf8().constData()).prepend(' ')); mem_display.append(QCoreApplication::translate("", display_unit.toUtf8().constData()).prepend(' '));
display_table[Display::Name::Memory] = mem_display; display_table[VMManager::Display::Name::Memory] = mem_display;
// Video card // Video card
int video_int = video_get_video_from_internal_name(video_config["gfxcard"].toUtf8().data()); int video_int = video_get_video_from_internal_name(video_config["gfxcard"].toUtf8().data());
const device_t* video_dev = video_card_getdevice(video_int); const device_t* video_dev = video_card_getdevice(video_int);
display_table[Display::Name::Video] = DeviceConfig::DeviceName(video_dev, video_get_internal_name(video_int), 1); display_table[VMManager::Display::Name::Video] = DeviceConfig::DeviceName(video_dev, video_get_internal_name(video_int), 1);
// Secondary video // Secondary video
if (video_config.contains("gfxcard_2")) { if (video_config.contains("gfxcard_2")) {
int video2_int = video_get_video_from_internal_name(video_config["gfxcard_2"].toUtf8().data()); int video2_int = video_get_video_from_internal_name(video_config["gfxcard_2"].toUtf8().data());
const device_t* video2_dev = video_card_getdevice(video2_int); const device_t* video2_dev = video_card_getdevice(video2_int);
display_table[Display::Name::Video].append(DeviceConfig::DeviceName(video2_dev, video_get_internal_name(video2_int), 1).prepend(VMManagerDetailSection::sectionSeparator)); display_table[VMManager::Display::Name::Video].append(DeviceConfig::DeviceName(video2_dev, video_get_internal_name(video2_int), 1).prepend(VMManagerDetailSection::sectionSeparator));
} }
// Add-on video that's not Voodoo // Add-on video that's not Voodoo
if (video_config.contains("8514a") && (video_config["8514a"].toInt() != 0)) if (video_config.contains("8514a") && (video_config["8514a"].toInt() != 0))
display_table[Display::Name::Video].append(tr("IBM 8514/A Graphics").prepend(VMManagerDetailSection::sectionSeparator)); display_table[VMManager::Display::Name::Video].append(tr("IBM 8514/A Graphics").prepend(VMManagerDetailSection::sectionSeparator));
if (video_config.contains("xga") && (video_config["xga"].toInt() != 0)) if (video_config.contains("xga") && (video_config["xga"].toInt() != 0))
display_table[Display::Name::Video].append(tr("XGA Graphics").prepend(VMManagerDetailSection::sectionSeparator)); display_table[VMManager::Display::Name::Video].append(tr("XGA Graphics").prepend(VMManagerDetailSection::sectionSeparator));
if (video_config.contains("da2") && (video_config["da2"].toInt() != 0)) if (video_config.contains("da2") && (video_config["da2"].toInt() != 0))
display_table[Display::Name::Video].append(tr("IBM PS/55 Display Adapter Graphics").prepend(VMManagerDetailSection::sectionSeparator)); display_table[VMManager::Display::Name::Video].append(tr("IBM PS/55 Display Adapter Graphics").prepend(VMManagerDetailSection::sectionSeparator));
// Voodoo // Voodoo
QString voodoo_name = ""; QString voodoo_name = "";
@@ -641,7 +641,7 @@ VMManagerSystem::setupVars() {
break; break;
} }
} }
display_table[Display::Name::Voodoo] = voodoo_name; display_table[VMManager::Display::Name::Voodoo] = voodoo_name;
// Drives // Drives
// First the number of disks // First the number of disks
@@ -666,7 +666,7 @@ VMManagerSystem::setupVars() {
if (disks.count()) { if (disks.count()) {
disks_display.append(" / ").append(bus_types.keys().join(", ").toUpper()); disks_display.append(" / ").append(bus_types.keys().join(", ").toUpper());
} }
// display_table[Display::Name::Disks] = disks_display; // display_table[VMManager::Display::Name::Disks] = disks_display;
// Drives // Drives
QString new_disk_display; QString new_disk_display;
@@ -699,7 +699,7 @@ VMManagerSystem::setupVars() {
if(new_disk_display.isEmpty()) { if(new_disk_display.isEmpty()) {
new_disk_display = tr("No disks"); new_disk_display = tr("No disks");
} }
display_table[Display::Name::Disks] = new_disk_display; display_table[VMManager::Display::Name::Disks] = new_disk_display;
// Floppy & CD-ROM // Floppy & CD-ROM
QStringList floppyDevices; QStringList floppyDevices;
@@ -748,8 +748,8 @@ VMManagerSystem::setupVars() {
} }
} }
display_table[Display::Name::Floppy] = floppyDevices.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::Floppy] = floppyDevices.join(VMManagerDetailSection::sectionSeparator);
display_table[Display::Name::CD] = cdromDevices.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::CD] = cdromDevices.join(VMManagerDetailSection::sectionSeparator);
// Removable disks & MO // Removable disks & MO
QStringList rdiskDevices; QStringList rdiskDevices;
@@ -786,8 +786,8 @@ VMManagerSystem::setupVars() {
} }
} }
display_table[Display::Name::RDisk] = rdiskDevices.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::RDisk] = rdiskDevices.join(VMManagerDetailSection::sectionSeparator);
display_table[Display::Name::MO] = moDevices.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::MO] = moDevices.join(VMManagerDetailSection::sectionSeparator);
// SCSI controllers // SCSI controllers
@@ -805,7 +805,7 @@ VMManagerSystem::setupVars() {
} }
} }
} }
display_table[Display::Name::SCSIController] = scsiControllers.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::SCSIController] = scsiControllers.join(VMManagerDetailSection::sectionSeparator);
// Hard and floppy disk controllers // Hard and floppy disk controllers
QStringList storageControllers; QStringList storageControllers;
@@ -864,7 +864,7 @@ VMManagerSystem::setupVars() {
if (storage_config.contains(ide_qua_internal_name) && (storage_config[ide_qua_internal_name].toInt() != 0)) if (storage_config.contains(ide_qua_internal_name) && (storage_config[ide_qua_internal_name].toInt() != 0))
storageControllers.append(DeviceConfig::DeviceName(hdc_get_device(hdc_get_from_internal_name(ide_qua_internal_name.toUtf8().data())), ide_qua_internal_name.toUtf8().constData(), 1)); storageControllers.append(DeviceConfig::DeviceName(hdc_get_device(hdc_get_from_internal_name(ide_qua_internal_name.toUtf8().data())), ide_qua_internal_name.toUtf8().constData(), 1));
display_table[Display::Name::StorageController] = storageControllers.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::StorageController] = storageControllers.join(VMManagerDetailSection::sectionSeparator);
// Audio // Audio
QStringList sndCards; QStringList sndCards;
@@ -889,7 +889,7 @@ VMManagerSystem::setupVars() {
if(sndCards.isEmpty()) { if(sndCards.isEmpty()) {
sndCards.append(tr("None")); sndCards.append(tr("None"));
} }
display_table[Display::Name::Audio] = sndCards.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::Audio] = sndCards.join(VMManagerDetailSection::sectionSeparator);
// MIDI // MIDI
QString midiOutDev; QString midiOutDev;
@@ -901,7 +901,7 @@ VMManagerSystem::setupVars() {
midiOutDev = midiDevName; midiOutDev = midiDevName;
} }
} }
display_table[Display::Name::MidiOut] = midiOutDev; display_table[VMManager::Display::Name::MidiOut] = midiOutDev;
// midi_device = mt32 (output) // midi_device = mt32 (output)
// mpu401_standalone = 1 // mpu401_standalone = 1
@@ -940,21 +940,21 @@ VMManagerSystem::setupVars() {
if(nicList.isEmpty()) { if(nicList.isEmpty()) {
nicList.append(tr("None")); nicList.append(tr("None"));
} }
display_table[Display::Name::NIC] = nicList.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::NIC] = nicList.join(VMManagerDetailSection::sectionSeparator);
// Input (Keyboard) // Input (Keyboard)
if (input_config.contains("keyboard_type")) { if (input_config.contains("keyboard_type")) {
auto keyboard_internal_name = input_config["keyboard_type"]; auto keyboard_internal_name = input_config["keyboard_type"];
auto keyboard_dev = keyboard_get_from_internal_name(keyboard_internal_name.toUtf8().data()); auto keyboard_dev = keyboard_get_from_internal_name(keyboard_internal_name.toUtf8().data());
auto keyboard_dev_name = DeviceConfig::DeviceName(keyboard_get_device(keyboard_dev), keyboard_get_internal_name(keyboard_dev), 0); auto keyboard_dev_name = DeviceConfig::DeviceName(keyboard_get_device(keyboard_dev), keyboard_get_internal_name(keyboard_dev), 0);
display_table[Display::Name::Keyboard] = keyboard_dev_name; display_table[VMManager::Display::Name::Keyboard] = keyboard_dev_name;
} }
// Input (Mouse) // Input (Mouse)
auto mouse_internal_name = input_config["mouse_type"]; auto mouse_internal_name = input_config["mouse_type"];
auto mouse_dev = mouse_get_from_internal_name(mouse_internal_name.toUtf8().data()); auto mouse_dev = mouse_get_from_internal_name(mouse_internal_name.toUtf8().data());
auto mouse_dev_name = DeviceConfig::DeviceName(mouse_get_device(mouse_dev), mouse_get_internal_name(mouse_dev), 0); auto mouse_dev_name = DeviceConfig::DeviceName(mouse_get_device(mouse_dev), mouse_get_internal_name(mouse_dev), 0);
display_table[Display::Name::Mouse] = mouse_dev_name; display_table[VMManager::Display::Name::Mouse] = mouse_dev_name;
// Input (joystick) // Input (joystick)
QString joystickDevice; QString joystickDevice;
@@ -965,7 +965,7 @@ VMManagerSystem::setupVars() {
joystickDevice = joystickName; joystickDevice = joystickName;
} }
} }
display_table[Display::Name::Joystick] = joystickDevice; display_table[VMManager::Display::Name::Joystick] = joystickDevice;
// # Ports // # Ports
// Serial // Serial
@@ -1026,8 +1026,8 @@ VMManagerSystem::setupVars() {
if (portIndex == PARALLEL_MAX) if (portIndex == PARALLEL_MAX)
break; break;
} }
display_table[Display::Name::Serial] = (serialFinal.empty() ? tr("None") : serialFinal.join(", ")); display_table[VMManager::Display::Name::Serial] = (serialFinal.empty() ? tr("None") : serialFinal.join(", "));
display_table[Display::Name::Parallel] = (lptFinal.empty() ? tr("None") : lptFinal.join((hasLptDevices ? VMManagerDetailSection::sectionSeparator : ", "))); display_table[VMManager::Display::Name::Parallel] = (lptFinal.empty() ? tr("None") : lptFinal.join((hasLptDevices ? VMManagerDetailSection::sectionSeparator : ", ")));
// ISA RTC // ISA RTC
QString isartc_dev_name = ""; QString isartc_dev_name = "";
@@ -1036,7 +1036,7 @@ VMManagerSystem::setupVars() {
auto isartc_dev = isartc_get_from_internal_name(isartc_internal_name.toUtf8().data()); auto isartc_dev = isartc_get_from_internal_name(isartc_internal_name.toUtf8().data());
isartc_dev_name = DeviceConfig::DeviceName(isartc_get_device(isartc_dev), isartc_get_internal_name(isartc_dev), 0); isartc_dev_name = DeviceConfig::DeviceName(isartc_get_device(isartc_dev), isartc_get_internal_name(isartc_dev), 0);
} }
display_table[Display::Name::IsaRtc] = isartc_dev_name; display_table[VMManager::Display::Name::IsaRtc] = isartc_dev_name;
// ISA RAM // ISA RAM
QStringList IsaMemCards; QStringList IsaMemCards;
@@ -1053,7 +1053,7 @@ VMManagerSystem::setupVars() {
} }
} }
} }
display_table[Display::Name::IsaMem] = IsaMemCards.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::IsaMem] = IsaMemCards.join(VMManagerDetailSection::sectionSeparator);
// ISA ROM // ISA ROM
QStringList IsaRomCards; QStringList IsaRomCards;
@@ -1070,7 +1070,7 @@ VMManagerSystem::setupVars() {
} }
} }
} }
display_table[Display::Name::IsaRom] = IsaRomCards.join(VMManagerDetailSection::sectionSeparator); display_table[VMManager::Display::Name::IsaRom] = IsaRomCards.join(VMManagerDetailSection::sectionSeparator);
} }
bool bool
@@ -1120,7 +1120,7 @@ VMManagerSystem::windowStatusChangeReceived(int status)
processStatusChanged(); processStatusChanged();
} }
QString QString
VMManagerSystem::getDisplayValue(Display::Name key) VMManagerSystem::getDisplayValue(VMManager::Display::Name key)
{ {
return (display_table.contains(key)) ? display_table[key] : ""; return (display_table.contains(key)) ? display_table[key] : "";
} }

View File

@@ -143,6 +143,10 @@ add_library(vid OBJECT
) )
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
target_include_directories(vid PRIVATE /usr/local/include)
endif()
if(G100) if(G100)
target_compile_definitions(vid PRIVATE USE_G100) target_compile_definitions(vid PRIVATE USE_G100)
endif() endif()