This commit is contained in:
OBattler
2024-07-14 01:33:13 +02:00
7 changed files with 270 additions and 247 deletions

View File

@@ -431,6 +431,10 @@ load_video(void)
strcpy(p, "none");
}
free_p = 1;
} else if (!strcmp(p, "c&t_69000")) {
p = (char *) malloc((strlen("chips_69000") + 1) * sizeof(char));
strcpy(p, "chips_69000");
free_p = 1;
}
gfxcard[0] = video_get_video_from_internal_name(p);
if (free_p) {
@@ -554,36 +558,24 @@ load_sound(void)
char *p;
p = ini_section_get_string(cat, "sndcard", NULL);
/* FIXME: Hack to not break configs with the Sound Blaster 128 PCI set. */
if ((p != NULL) && (!strcmp(p, "sbpci128") || !strcmp(p, "sb128pci")))
p = "es1371";
if (p != NULL)
sound_card_current[0] = sound_card_get_from_internal_name(p);
else
sound_card_current[0] = 0;
p = ini_section_get_string(cat, "sndcard2", NULL);
/* FIXME: Hack to not break configs with the Sound Blaster 128 PCI set. */
if ((p != NULL) && (!strcmp(p, "sbpci128") || !strcmp(p, "sb128pci")))
p = "es1371";
if (p != NULL)
sound_card_current[1] = sound_card_get_from_internal_name(p);
else
sound_card_current[1] = 0;
p = ini_section_get_string(cat, "sndcard3", NULL);
/* FIXME: Hack to not break configs with the Sound Blaster 128 PCI set. */
if ((p != NULL) && (!strcmp(p, "sbpci128") || !strcmp(p, "sb128pci")))
p = "es1371";
if (p != NULL)
sound_card_current[2] = sound_card_get_from_internal_name(p);
else
sound_card_current[2] = 0;
p = ini_section_get_string(cat, "sndcard4", NULL);
/* FIXME: Hack to not break configs with the Sound Blaster 128 PCI set. */
if ((p != NULL) && (!strcmp(p, "sbpci128") || !strcmp(p, "sb128pci")))
p = "es1371";
if (p != NULL)
sound_card_current[3] = sound_card_get_from_internal_name(p);
else

View File

@@ -365,13 +365,7 @@ gdbstub_break(void)
static void
gdbstub_jump(uint32_t new_pc)
{
/* Nasty hack; qemu always uses the full 32-bit EIP internally... */
if (cpu_state.op32 || ((new_pc >= cs) && (new_pc < (cs + 65536)))) {
cpu_state.pc = new_pc - cs;
} else {
loadseg((new_pc >> 4) & 0xf000, &cpu_state.seg_cs);
cpu_state.pc = new_pc & 0xffff;
}
cpu_state.pc = new_pc - cs;
flushmmucache();
}

View File

@@ -50,6 +50,7 @@ public:
SettingsModel(QObject *parent)
: QAbstractListModel(parent)
{
fontHeight = QApplication::fontMetrics().height();
}
QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
@@ -82,6 +83,7 @@ private:
"other_removable_devices",
"other_peripherals",
};
int fontHeight;
};
QVariant
@@ -94,6 +96,8 @@ SettingsModel::data(const QModelIndex &index, int role) const
return tr(pages.at(index.row()).toUtf8().data());
case Qt::DecorationRole:
return QIcon(QString("%1/%2.ico").arg(ProgSettings::getIconSetPath(), page_icons[index.row()]));
case Qt::SizeHintRole:
return QSize(-1, fontHeight * 2);
default:
return {};
}
@@ -182,9 +186,6 @@ Settings::Settings(QWidget *parent)
[this](const QModelIndex &current, const QModelIndex &previous) {
ui->stackedWidget->setCurrentIndex(current.row()); });
ui->listView->resizeColumnsToContents();
ui->listView->horizontalHeader()->setSectionResizeMode(0, QHeaderView::Stretch);
ui->listView->setCurrentIndex(model->index(0, 0));
Settings::settings = this;

View File

@@ -36,25 +36,31 @@
<number>0</number>
</property>
<item>
<widget class="QTableView" name="listView">
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
<widget class="QListView" name="listView">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="selectionMode">
<enum>QAbstractItemView::SingleSelection</enum>
<property name="minimumSize">
<size>
<width>200</width>
<height>0</height>
</size>
</property>
<property name="selectionBehavior">
<enum>QAbstractItemView::SelectRows</enum>
<property name="maximumSize">
<size>
<width>200</width>
<height>16777215</height>
</size>
</property>
<property name="showGrid">
<bool>false</bool>
<property name="viewMode">
<enum>QListView::ListMode</enum>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
<attribute name="horizontalHeaderVisible">
<bool>false</bool>
</attribute>
<attribute name="verticalHeaderVisible">
<bool>false</bool>
</attribute>
</widget>
</item>
<item>

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>544</width>
<height>617</height>
<height>363</height>
</rect>
</property>
<property name="windowTitle">
@@ -35,6 +35,18 @@
</item>
<item>
<widget class="QTableView" name="tableViewFloppy">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>150</height>
</size>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
@@ -53,49 +65,38 @@
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxFloppyType">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxTurboTimings">
<property name="text">
<string>Turbo timings</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxCheckBPB">
<property name="text">
<string>Check BPB</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
<widget class="QWidget" name="floppyControls" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxFloppyType">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxTurboTimings">
<property name="text">
<string>Turbo timings</string>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxCheckBPB">
<property name="text">
<string>Check BPB</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
@@ -106,6 +107,18 @@
</item>
<item>
<widget class="QTableView" name="tableViewCDROM">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>150</height>
</size>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
@@ -124,64 +137,66 @@
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Bus:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Channel:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Speed:</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxBus">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QComboBox" name="comboBoxChannel">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="comboBoxSpeed">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="2" column="1" colspan="3">
<widget class="QComboBox" name="comboBoxCDROMType">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
</layout>
<widget class="QWidget" name="cdControls" native="true">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Bus:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Channel:</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Speed:</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxBus">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QComboBox" name="comboBoxChannel">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QComboBox" name="comboBoxSpeed">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="2" column="1" colspan="3">
<widget class="QComboBox" name="comboBoxCDROMType">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>

View File

@@ -7,7 +7,7 @@
<x>0</x>
<y>0</y>
<width>418</width>
<height>433</height>
<height>368</height>
</rect>
</property>
<property name="windowTitle">
@@ -35,6 +35,18 @@
</item>
<item>
<widget class="QTableView" name="tableViewMO">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>150</height>
</size>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
@@ -53,63 +65,52 @@
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Bus:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Channel:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxMOBus">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QComboBox" name="comboBoxMOChannel">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="3">
<widget class="QComboBox" name="comboBoxMOType">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
<widget class="QWidget" name="moControls" native="true">
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QLabel" name="label_2">
<property name="text">
<string>Bus:</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="label_7">
<property name="text">
<string>Channel:</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QComboBox" name="comboBoxMOBus">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="0" column="3">
<widget class="QComboBox" name="comboBoxMOChannel">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Type:</string>
</property>
</widget>
</item>
<item row="1" column="1" colspan="3">
<widget class="QComboBox" name="comboBoxMOType">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QLabel" name="label_6">
@@ -120,6 +121,18 @@
</item>
<item>
<widget class="QTableView" name="tableViewZIP">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="maximumSize">
<size>
<width>16777215</width>
<height>150</height>
</size>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
@@ -138,43 +151,45 @@
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Bus:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxZIPBus">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Channel:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxZIPChannel">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxZIP250">
<property name="text">
<string>ZIP 250</string>
</property>
</widget>
</item>
</layout>
<widget class="QWidget" name="zipControls" native="true">
<layout class="QHBoxLayout" name="horizontalLayout">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>Bus:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxZIPBus">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_5">
<property name="text">
<string>Channel:</string>
</property>
</widget>
</item>
<item>
<widget class="QComboBox" name="comboBoxZIPChannel">
<property name="maxVisibleItems">
<number>30</number>
</property>
</widget>
</item>
<item>
<widget class="QCheckBox" name="checkBoxZIP250">
<property name="text">
<string>ZIP 250</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>

View File

@@ -156,7 +156,7 @@ typedef struct chips_69000_t {
rom_t bios_rom;
void* i2c_ddc, *ddc;
void *i2c, *ddc;
uint8_t st01;
} chips_69000_t;
@@ -1497,10 +1497,10 @@ chips_69000_read_ext_reg(chips_69000_t* chips)
{
val = chips->ext_regs[index];
if (!(chips->ext_regs[0x62] & 0x8))
val = (val & ~8) | (i2c_gpio_get_scl(chips->i2c_ddc) << 3);
val = (val & ~8) | (i2c_gpio_get_scl(chips->i2c) << 3);
if (!(chips->ext_regs[0x62] & 0x4))
val = (val & ~4) | (i2c_gpio_get_sda(chips->i2c_ddc) << 2);
val = (val & ~4) | (i2c_gpio_get_sda(chips->i2c) << 2);
break;
}
@@ -1560,14 +1560,14 @@ chips_69000_write_ext_reg(chips_69000_t* chips, uint8_t val)
if (chips->ext_regs[0x62] & 0x8)
scl = !!(val & 8);
else
scl = i2c_gpio_get_scl(chips->i2c_ddc);
scl = i2c_gpio_get_scl(chips->i2c);
if (chips->ext_regs[0x62] & 0x4)
sda = !!(val & 4);
else
scl = i2c_gpio_get_sda(chips->i2c_ddc);
scl = i2c_gpio_get_sda(chips->i2c);
i2c_gpio_set(chips->i2c_ddc, scl, sda);
i2c_gpio_set(chips->i2c, scl, sda);
chips->ext_regs[chips->ext_index] = val & 0x9F;
break;
@@ -2455,7 +2455,7 @@ chips_69000_init(const device_t *info)
io_sethandler(0x03c0, 0x0020, chips_69000_in, NULL, NULL, chips_69000_out, NULL, NULL, chips);
pci_add_card(PCI_ADD_VIDEO, chips_69000_pci_read, chips_69000_pci_write, chips, &chips->slot);
pci_add_card(info->local ? PCI_ADD_VIDEO : PCI_ADD_NORMAL, chips_69000_pci_read, chips_69000_pci_write, chips, &chips->slot);
chips->svga.bpp = 8;
chips->svga.miscout = 1;
@@ -2477,8 +2477,8 @@ chips_69000_init(const device_t *info)
timer_add(&chips->decrement_timer, chips_69000_decrement_timer, chips, 0);
timer_on_auto(&chips->decrement_timer, 1000000. / 2000.);
chips->i2c_ddc = i2c_gpio_init("c&t_69000_mga");
chips->ddc = ddc_init(i2c_gpio_get_bus(chips->i2c_ddc));
chips->i2c = i2c_gpio_init("chips_69000_ddc");
chips->ddc = ddc_init(i2c_gpio_get_bus(chips->i2c));
chips->flat_panel_regs[0x01] = 1;
@@ -2500,7 +2500,7 @@ chips_69000_close(void *p)
// thread_set_event(chips->fifo_event);
// thread_wait(chips->accel_thread);
ddc_close(chips->ddc);
i2c_gpio_close(chips->i2c_ddc);
i2c_gpio_close(chips->i2c);
svga_close(&chips->svga);
free(chips);
@@ -2524,7 +2524,7 @@ chips_69000_force_redraw(void *p)
const device_t chips_69000_device = {
.name = "Chips & Technologies B69000",
.internal_name = "c&t_69000",
.internal_name = "chips_69000",
.flags = DEVICE_PCI,
.local = 0,
.init = chips_69000_init,
@@ -2537,8 +2537,8 @@ const device_t chips_69000_device = {
};
const device_t chips_69000_onboard_device = {
.name = "Chips & Technologies B69000 (onboard)",
.internal_name = "c&t_69000_onboard",
.name = "Chips & Technologies B69000 On-Board",
.internal_name = "chips_69000_onboard",
.flags = DEVICE_PCI,
.local = 1,
.init = chips_69000_init,