mirror of
https://github.com/86Box/86Box.git
synced 2026-02-23 09:58:19 -07:00
Merge remote-tracking branch 'upstream/master' into feature/mtrr
This commit is contained in:
@@ -20,7 +20,6 @@ cmake_policy(SET CMP0079 NEW)
|
||||
|
||||
if(HAIKU)
|
||||
set(OPENAL ON)
|
||||
set(RTMIDI OFF)
|
||||
endif()
|
||||
|
||||
if(NOT DEFINED QT OR QT)
|
||||
|
||||
@@ -359,10 +359,10 @@ sis_85c50x_reset(void *priv)
|
||||
dev->pci_conf_sb[0x09] = 0x00;
|
||||
dev->pci_conf_sb[0x0a] = 0x01;
|
||||
dev->pci_conf_sb[0x0b] = 0x06;
|
||||
sis_85c50x_write(0, 0x41, 0x80, dev);
|
||||
sis_85c50x_write(0, 0x42, 0x80, dev);
|
||||
sis_85c50x_write(0, 0x43, 0x80, dev);
|
||||
sis_85c50x_write(0, 0x44, 0x80, dev);
|
||||
sis_85c50x_sb_write(0, 0x41, 0x80, dev);
|
||||
sis_85c50x_sb_write(0, 0x42, 0x80, dev);
|
||||
sis_85c50x_sb_write(0, 0x43, 0x80, dev);
|
||||
sis_85c50x_sb_write(0, 0x44, 0x80, dev);
|
||||
}
|
||||
|
||||
static void
|
||||
|
||||
@@ -1066,6 +1066,22 @@ const cpu_family_t cpu_families[] = {
|
||||
{"450", CPU_PENTIUM2D, fpus_internal, 450000000, 4.5, 2050, 0x652, 0x652, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 41,41,14,14, 54},
|
||||
{"", 0}
|
||||
}
|
||||
}, {
|
||||
.package = CPU_PKG_SLOT1,
|
||||
.manufacturer = "Intel",
|
||||
.name = "Celeron (Covington)",
|
||||
.internal_name = "celeron_covington",
|
||||
.cpus = (const CPU[]) {
|
||||
{"66", CPU_PENTIUM2D, fpus_internal, 66666666, 1.0, 2050, 0x652, 0x652, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 6, 6, 6, 6, 8}, /* out of spec */
|
||||
{"100", CPU_PENTIUM2D, fpus_internal, 100000000, 1.5, 2050, 0x652, 0x652, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 9, 9, 9, 9, 12}, /* out of spec */
|
||||
{"133", CPU_PENTIUM2D, fpus_internal, 133333333, 2.0, 2050, 0x652, 0x652, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 12,12,12,12, 16}, /* out of spec */
|
||||
{"166", CPU_PENTIUM2D, fpus_internal, 166666666, 2.5, 2050, 0x652, 0x652, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 15,15,15,15, 20}, /* out of spec */
|
||||
{"200", CPU_PENTIUM2D, fpus_internal, 200000000, 3.0, 2050, 0x652, 0x652, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 18,18,18,18, 24}, /* out of spec */
|
||||
{"233", CPU_PENTIUM2D, fpus_internal, 233333333, 3.5, 2050, 0x652, 0x652, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 21,21,21,21, 28}, /* out of spec */
|
||||
{"266", CPU_PENTIUM2D, fpus_internal, 266666666, 4.0, 2050, 0x650, 0x650, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 24,24,24,24, 32},
|
||||
{"300", CPU_PENTIUM2D, fpus_internal, 300000000, 4.5, 2050, 0x651, 0x651, 0, CPU_SUPPORTS_DYNAREC | CPU_REQUIRES_DYNAREC, 25,25,25,25, 36},
|
||||
{"", 0}
|
||||
}
|
||||
}, {
|
||||
.package = CPU_PKG_SLOT2,
|
||||
.manufacturer = "Intel",
|
||||
|
||||
@@ -213,6 +213,9 @@ static char target_xml[] = /* QEMU gdb-xml/i386-32bit.xml with modificati
|
||||
"<reg name=\"fs\" bitsize=\"16\" type=\"int32\"/>"
|
||||
"<reg name=\"gs\" bitsize=\"16\" type=\"int32\"/>"
|
||||
""
|
||||
"<reg name=\"fs_base\" bitsize=\"32\" type=\"int32\"/>"
|
||||
"<reg name=\"gs_base\" bitsize=\"32\" type=\"int32\"/>"
|
||||
""
|
||||
"<flags id=\"i386_cr0\" size=\"4\">"
|
||||
"<field name=\"PG\" start=\"31\" end=\"31\"/>"
|
||||
"<field name=\"CD\" start=\"30\" end=\"30\"/>"
|
||||
|
||||
@@ -22,7 +22,7 @@ MCADeviceList::MCADeviceList(QWidget *parent)
|
||||
for (int i = 0; i < mca_get_nr_cards(); i++) {
|
||||
uint32_t deviceId = (mca_read_index(0x00, i) | (mca_read_index(0x01, i) << 8));
|
||||
if (deviceId != 0xFFFF) {
|
||||
QString hexRepresentation = QString::number(deviceId, 16).toUpper();
|
||||
QString hexRepresentation = QString::asprintf("%04X", deviceId);
|
||||
ui->listWidget->addItem(QString("Slot %1: 0x%2 (@%3.ADF)").arg(i + 1).arg(hexRepresentation, hexRepresentation));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -36,6 +36,8 @@ SettingsDisplay::SettingsDisplay(QWidget *parent)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
|
||||
videoCard = gfxcard;
|
||||
videoCard_2 = gfxcard_2;
|
||||
onCurrentMachineChanged(machine);
|
||||
}
|
||||
|
||||
@@ -59,6 +61,7 @@ SettingsDisplay::onCurrentMachineChanged(int machineId)
|
||||
{
|
||||
// win_settings_video_proc, WM_INITDIALOG
|
||||
this->machineId = machineId;
|
||||
auto curVideoCard = videoCard;
|
||||
|
||||
auto *model = ui->comboBoxVideo->model();
|
||||
auto removeRows = model->rowCount();
|
||||
@@ -80,7 +83,7 @@ SettingsDisplay::onCurrentMachineChanged(int machineId)
|
||||
|
||||
if (video_card_available(c) && device_is_valid(video_dev, machineId)) {
|
||||
int row = Models::AddEntry(model, name, c);
|
||||
if (c == gfxcard) {
|
||||
if (c == curVideoCard) {
|
||||
selectedRow = row - removeRows;
|
||||
}
|
||||
}
|
||||
@@ -133,7 +136,8 @@ SettingsDisplay::on_comboBoxVideo_currentIndexChanged(int index)
|
||||
if (index < 0) {
|
||||
return;
|
||||
}
|
||||
int videoCard = ui->comboBoxVideo->currentData().toInt();
|
||||
auto curVideoCard_2 = videoCard_2;
|
||||
videoCard = ui->comboBoxVideo->currentData().toInt();
|
||||
ui->pushButtonConfigure->setEnabled(video_card_has_config(videoCard) > 0);
|
||||
|
||||
bool machineHasPci = machine_has_bus(machineId, MACHINE_BUS_PCI) > 0;
|
||||
@@ -176,14 +180,14 @@ SettingsDisplay::on_comboBoxVideo_currentIndexChanged(int index)
|
||||
|
||||
if (video_card_available(c) && device_is_valid(video_dev, machineId) && !(video_card_get_flags(c) == video_card_get_flags(videoCard))) {
|
||||
ui->comboBoxVideoSecondary->addItem(name, c);
|
||||
if (c == gfxcard_2)
|
||||
if (c == curVideoCard_2)
|
||||
ui->comboBoxVideoSecondary->setCurrentIndex(ui->comboBoxVideoSecondary->count() - 1);
|
||||
}
|
||||
|
||||
c++;
|
||||
}
|
||||
|
||||
if (gfxcard_2 == 0 || (machine_has_flags(machineId, MACHINE_VIDEO_ONLY) > 0)) {
|
||||
if (videoCard_2 == 0 || (machine_has_flags(machineId, MACHINE_VIDEO_ONLY) > 0)) {
|
||||
ui->comboBoxVideoSecondary->setCurrentIndex(0);
|
||||
ui->pushButtonConfigureSecondary->setEnabled(false);
|
||||
}
|
||||
@@ -208,8 +212,8 @@ SettingsDisplay::on_comboBoxVideoSecondary_currentIndexChanged(int index)
|
||||
ui->pushButtonConfigureSecondary->setEnabled(false);
|
||||
return;
|
||||
}
|
||||
int videoCard = ui->comboBoxVideoSecondary->currentData().toInt();
|
||||
ui->pushButtonConfigureSecondary->setEnabled(index != 0 && video_card_has_config(videoCard) > 0);
|
||||
videoCard_2 = ui->comboBoxVideoSecondary->currentData().toInt();
|
||||
ui->pushButtonConfigureSecondary->setEnabled(index != 0 && video_card_has_config(videoCard_2) > 0);
|
||||
}
|
||||
|
||||
void
|
||||
|
||||
@@ -35,7 +35,9 @@ private slots:
|
||||
|
||||
private:
|
||||
Ui::SettingsDisplay *ui;
|
||||
int machineId = 0;
|
||||
int machineId = 0;
|
||||
int videoCard = 0;
|
||||
int videoCard_2 = 0;
|
||||
};
|
||||
|
||||
#endif // QT_SETTINGSDISPLAY_HPP
|
||||
|
||||
@@ -367,7 +367,7 @@ hercules_poll(void *priv)
|
||||
else
|
||||
x = dev->crtc[1] * 9;
|
||||
|
||||
video_process_8(x, dev->displine + 14);
|
||||
video_process_8(x + 16, dev->displine + 14);
|
||||
}
|
||||
dev->sc = oldsc;
|
||||
|
||||
|
||||
@@ -511,6 +511,10 @@ ifeq ($(DEV_BRANCH), y)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifeq ($(RTMIDI), y)
|
||||
OPTS += -DUSE_RTMIDI
|
||||
endif
|
||||
|
||||
|
||||
# Final versions of the toolchain flags.
|
||||
CFLAGS := $(OPTS) $(DFLAGS) $(COPTIM) $(AOPTIM) \
|
||||
@@ -765,6 +769,10 @@ else
|
||||
SNDOBJ += xaudio2.o
|
||||
endif
|
||||
|
||||
ifeq ($(RTMIDI), y)
|
||||
SNDOBJ += midi_rtmidi.o
|
||||
endif
|
||||
|
||||
OBJ := $(MAINOBJ) $(CPUOBJ) $(CHIPSETOBJ) $(MCHOBJ) $(DEVOBJ) $(MEMOBJ) \
|
||||
$(FDDOBJ) $(GAMEOBJ) $(CDROMOBJ) $(ZIPOBJ) $(MOOBJ) $(HDDOBJ) $(MINIVHDOBJ) \
|
||||
$(NETOBJ) $(PRINTOBJ) $(SCSIOBJ) $(SIOOBJ) $(SNDOBJ) $(VIDOBJ) $(VOODOOOBJ) \
|
||||
@@ -784,9 +792,7 @@ else
|
||||
endif
|
||||
|
||||
ifeq ($(RTMIDI), y)
|
||||
SNDOBJ += midi_rtmidi.o
|
||||
OPTS += -DUSE_RTMIDI
|
||||
LIBS += -lrtmidi
|
||||
LIBS += -lrtmidi -lwinmm
|
||||
endif
|
||||
|
||||
ifeq ($(VNC), y)
|
||||
|
||||
Reference in New Issue
Block a user