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)
target_include_directories(86Box PRIVATE PkgConfig::SNDFILE)
endif()
if(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
target_include_directories(cdrom PRIVATE /usr/local/include)
endif()
target_link_libraries(86Box PkgConfig::SNDFILE)
if(CDROM_MITSUMI)

View File

@@ -71,6 +71,9 @@ if(NETSWITCH)
endif()
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" )
if(HAS_VDE)
find_library(VDE_LIB vdeplug)

View File

@@ -37,6 +37,10 @@ endif()
find_package(PkgConfig REQUIRED)
pkg_check_modules(FREETYPE REQUIRED IMPORTED_TARGET freetype2)
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(QT)
# Qt provides its own version of harfbuzz which leads to duplicated symbols.

View File

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

View File

@@ -145,7 +145,7 @@ VMManagerDetailSection::setSectionName(const QString &name)
}
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};
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
QString cpu_name = "Unknown";
@@ -592,34 +592,34 @@ VMManagerSystem::setupVars() {
// int speed_display = machine_config["cpu_speed"].toInt() / 1000000;
// cpu_name.append(QString::number(speed_display).prepend(" / "));
// cpu_name.append(QCoreApplication::translate("", "MHz").prepend(' '));
display_table[Display::Name::CPU] = cpu_name;
display_table[VMManager::Display::Name::CPU] = cpu_name;
// Memory
int divisor = (ram_granularity < 1024) ? 1 : 1024;
QString display_unit = (divisor == 1) ? "KB" : "MB";
auto mem_display = QString::number(machine_config["mem_size"].toInt() / divisor);
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
int video_int = video_get_video_from_internal_name(video_config["gfxcard"].toUtf8().data());
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
if (video_config.contains("gfxcard_2")) {
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);
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
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))
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))
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
QString voodoo_name = "";
@@ -641,7 +641,7 @@ VMManagerSystem::setupVars() {
break;
}
}
display_table[Display::Name::Voodoo] = voodoo_name;
display_table[VMManager::Display::Name::Voodoo] = voodoo_name;
// Drives
// First the number of disks
@@ -666,7 +666,7 @@ VMManagerSystem::setupVars() {
if (disks.count()) {
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
QString new_disk_display;
@@ -699,7 +699,7 @@ VMManagerSystem::setupVars() {
if(new_disk_display.isEmpty()) {
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
QStringList floppyDevices;
@@ -748,8 +748,8 @@ VMManagerSystem::setupVars() {
}
}
display_table[Display::Name::Floppy] = floppyDevices.join(VMManagerDetailSection::sectionSeparator);
display_table[Display::Name::CD] = cdromDevices.join(VMManagerDetailSection::sectionSeparator);
display_table[VMManager::Display::Name::Floppy] = floppyDevices.join(VMManagerDetailSection::sectionSeparator);
display_table[VMManager::Display::Name::CD] = cdromDevices.join(VMManagerDetailSection::sectionSeparator);
// Removable disks & MO
QStringList rdiskDevices;
@@ -786,8 +786,8 @@ VMManagerSystem::setupVars() {
}
}
display_table[Display::Name::RDisk] = rdiskDevices.join(VMManagerDetailSection::sectionSeparator);
display_table[Display::Name::MO] = moDevices.join(VMManagerDetailSection::sectionSeparator);
display_table[VMManager::Display::Name::RDisk] = rdiskDevices.join(VMManagerDetailSection::sectionSeparator);
display_table[VMManager::Display::Name::MO] = moDevices.join(VMManagerDetailSection::sectionSeparator);
// 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
QStringList storageControllers;
@@ -864,7 +864,7 @@ VMManagerSystem::setupVars() {
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));
display_table[Display::Name::StorageController] = storageControllers.join(VMManagerDetailSection::sectionSeparator);
display_table[VMManager::Display::Name::StorageController] = storageControllers.join(VMManagerDetailSection::sectionSeparator);
// Audio
QStringList sndCards;
@@ -889,7 +889,7 @@ VMManagerSystem::setupVars() {
if(sndCards.isEmpty()) {
sndCards.append(tr("None"));
}
display_table[Display::Name::Audio] = sndCards.join(VMManagerDetailSection::sectionSeparator);
display_table[VMManager::Display::Name::Audio] = sndCards.join(VMManagerDetailSection::sectionSeparator);
// MIDI
QString midiOutDev;
@@ -901,7 +901,7 @@ VMManagerSystem::setupVars() {
midiOutDev = midiDevName;
}
}
display_table[Display::Name::MidiOut] = midiOutDev;
display_table[VMManager::Display::Name::MidiOut] = midiOutDev;
// midi_device = mt32 (output)
// mpu401_standalone = 1
@@ -940,21 +940,21 @@ VMManagerSystem::setupVars() {
if(nicList.isEmpty()) {
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)
if (input_config.contains("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_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)
auto mouse_internal_name = input_config["mouse_type"];
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);
display_table[Display::Name::Mouse] = mouse_dev_name;
display_table[VMManager::Display::Name::Mouse] = mouse_dev_name;
// Input (joystick)
QString joystickDevice;
@@ -965,7 +965,7 @@ VMManagerSystem::setupVars() {
joystickDevice = joystickName;
}
}
display_table[Display::Name::Joystick] = joystickDevice;
display_table[VMManager::Display::Name::Joystick] = joystickDevice;
// # Ports
// Serial
@@ -1026,8 +1026,8 @@ VMManagerSystem::setupVars() {
if (portIndex == PARALLEL_MAX)
break;
}
display_table[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::Serial] = (serialFinal.empty() ? tr("None") : serialFinal.join(", "));
display_table[VMManager::Display::Name::Parallel] = (lptFinal.empty() ? tr("None") : lptFinal.join((hasLptDevices ? VMManagerDetailSection::sectionSeparator : ", ")));
// ISA RTC
QString isartc_dev_name = "";
@@ -1036,7 +1036,7 @@ VMManagerSystem::setupVars() {
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);
}
display_table[Display::Name::IsaRtc] = isartc_dev_name;
display_table[VMManager::Display::Name::IsaRtc] = isartc_dev_name;
// ISA RAM
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
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
@@ -1120,7 +1120,7 @@ VMManagerSystem::windowStatusChangeReceived(int status)
processStatusChanged();
}
QString
VMManagerSystem::getDisplayValue(Display::Name key)
VMManagerSystem::getDisplayValue(VMManager::Display::Name 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)
target_compile_definitions(vid PRIVATE USE_G100)
endif()