Manager: Show ISA RTC, memory and ROM cards in details pane
This commit is contained in:
@@ -59,6 +59,9 @@ extern "C" {
|
||||
#include <86box/fdc_ext.h>
|
||||
#include <86box/hdc.h>
|
||||
#include <86box/gameport.h>
|
||||
#include <86box/isartc.h>
|
||||
#include <86box/isamem.h>
|
||||
#include <86box/isarom.h>
|
||||
#include <86box/lpt.h>
|
||||
#include <86box/midi.h>
|
||||
#include <86box/network.h>
|
||||
@@ -532,6 +535,7 @@ VMManagerSystem::setupVars() {
|
||||
auto rdisk_mo_config = getCategory("Other removable devices");
|
||||
auto storage_config = getCategory("Storage controllers");
|
||||
auto ports_config = getCategory("Ports (COM & LPT)");
|
||||
auto other_config = getCategory("Other peripherals");
|
||||
// auto general_config = getCategory("General");
|
||||
// auto config_uuid = QString("Not set");
|
||||
// if(!general_config["uuid"].isEmpty()) {
|
||||
@@ -1017,6 +1021,47 @@ VMManagerSystem::setupVars() {
|
||||
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 : ", ")));
|
||||
|
||||
// ISA RTC
|
||||
if (other_config.contains("isartc_type")) {
|
||||
auto isartc_internal_name = other_config["isartc_type"];
|
||||
auto isartc_dev = isartc_get_from_internal_name(isartc_internal_name.toUtf8().data());
|
||||
auto 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;
|
||||
}
|
||||
|
||||
// ISA RAM
|
||||
QStringList IsaMemCards;
|
||||
static auto isamem_match = QRegularExpression("isamem\\d_type", QRegularExpression::CaseInsensitiveOption);
|
||||
for(const auto& key: other_config.keys()) {
|
||||
if(key.contains(isamem_match)) {
|
||||
auto device_number = QString(key.split("_").at(0).right(1).toInt() + 1);
|
||||
auto isamem_internal_name = QString(other_config[key]);
|
||||
auto isamem_id = isamem_get_from_internal_name(isamem_internal_name.toUtf8().data());
|
||||
auto isamem_device = isamem_get_device(isamem_id);
|
||||
auto isamem_name = DeviceConfig::DeviceName(isamem_device, isamem_get_internal_name(isamem_id), 0);
|
||||
if(!isamem_name.isEmpty()) {
|
||||
IsaMemCards.append(isamem_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
display_table[Display::Name::IsaMem] = IsaMemCards.join(VMManagerDetailSection::sectionSeparator);
|
||||
|
||||
// ISA ROM
|
||||
QStringList IsaRomCards;
|
||||
static auto isarom_match = QRegularExpression("isarom\\d_type", QRegularExpression::CaseInsensitiveOption);
|
||||
for(const auto& key: other_config.keys()) {
|
||||
if(key.contains(isarom_match)) {
|
||||
auto device_number = QString(key.split("_").at(0).right(1).toInt() + 1);
|
||||
auto isarom_internal_name = QString(other_config[key]);
|
||||
auto isarom_id = isarom_get_from_internal_name(isarom_internal_name.toUtf8().data());
|
||||
auto isarom_device = isarom_get_device(isarom_id);
|
||||
auto isarom_name = DeviceConfig::DeviceName(isarom_device, isarom_get_internal_name(isarom_id), 0);
|
||||
if(!isarom_name.isEmpty()) {
|
||||
IsaRomCards.append(isarom_name);
|
||||
}
|
||||
}
|
||||
}
|
||||
display_table[Display::Name::IsaRom] = IsaRomCards.join(VMManagerDetailSection::sectionSeparator);
|
||||
}
|
||||
|
||||
bool
|
||||
|
||||
Reference in New Issue
Block a user