Video and emulator GUI changes of the day (October 28th, 2024)

IBM 8514/A (MCA/ISA).
Added a configure button to the QT frontend for the amount of memory used by said add-on chips.

XGA:
Forgot a change about the 4mb aperture.
This commit is contained in:
TC1995
2024-10-28 22:14:58 +01:00
parent b170886599
commit 4f472445f2
6 changed files with 59 additions and 6 deletions

View File

@@ -24,6 +24,7 @@ extern "C" {
#include <86box/device.h>
#include <86box/machine.h>
#include <86box/video.h>
#include <86box/vid_8514a_device.h>
#include <86box/vid_xga_device.h>
}
@@ -53,6 +54,7 @@ SettingsDisplay::save()
// TODO
for (uint8_t i = 1; i < GFXCARD_MAX; i ++)
gfxcard[i] = ui->comboBoxVideoSecondary->currentData().toInt();
voodoo_enabled = ui->checkBoxVoodoo->isChecked() ? 1 : 0;
ibm8514_standalone_enabled = ui->checkBox8514->isChecked() ? 1 : 0;
xga_standalone_enabled = ui->checkBoxXga->isChecked() ? 1 : 0;
@@ -127,6 +129,16 @@ SettingsDisplay::on_pushButtonConfigureVoodoo_clicked()
DeviceConfig::ConfigureDevice(&voodoo_device, 0, qobject_cast<Settings *>(Settings::settings));
}
void
SettingsDisplay::on_pushButtonConfigure8514_clicked()
{
if (machine_has_bus(machineId, MACHINE_BUS_MCA) > 0) {
DeviceConfig::ConfigureDevice(&ibm8514_mca_device, 0, qobject_cast<Settings *>(Settings::settings));
} else {
DeviceConfig::ConfigureDevice(&gen8514_isa_device, 0, qobject_cast<Settings *>(Settings::settings));
}
}
void
SettingsDisplay::on_pushButtonConfigureXga_clicked()
{
@@ -166,6 +178,8 @@ SettingsDisplay::on_comboBoxVideo_currentIndexChanged(int index)
ui->checkBox8514->setEnabled(machineSupports8514);
ui->checkBox8514->setChecked(ibm8514_standalone_enabled && machineSupports8514);
ui->pushButtonConfigure8514->setEnabled(ui->checkBox8514->isEnabled() && ui->checkBox8514->isChecked());
ui->checkBoxXga->setEnabled(machineSupportsXga);
ui->checkBoxXga->setChecked(xga_standalone_enabled && machineSupportsXga);
@@ -238,6 +252,12 @@ SettingsDisplay::on_checkBoxVoodoo_stateChanged(int state)
ui->pushButtonConfigureVoodoo->setEnabled(state == Qt::Checked);
}
void
SettingsDisplay::on_checkBox8514_stateChanged(int state)
{
ui->pushButtonConfigure8514->setEnabled(state == Qt::Checked);
}
void
SettingsDisplay::on_checkBoxXga_stateChanged(int state)
{