Commit Graph

26 Commits

Author SHA1 Message Date
Jasmine Iwanek
322adf1c2b Initial underlying code support for more than 2 video cards 2024-07-19 23:27:21 -04:00
cold-brewed
85c3eae1ee qt: Make sure voodoo is only enabled for pci machines 2024-04-11 10:20:21 -04:00
cold-brewed
3cf3865980 ui: Disable add-on voodoo when main voodoo is selected 2024-04-02 10:28:49 -04:00
Alexander Babikov
8f9f5b2efb Disable the XGA checkbox when ROMs aren't available 2024-03-11 19:25:45 +05:00
OBattler
6d05e8d358 Phase 3 (make the Configure buttons actually work). 2023-10-06 05:41:15 +02:00
OBattler
79e5a1dfbb Proper UI support for internal devices, phase 1. 2023-10-06 05:28:26 +02:00
Alexander Babikov
ef631a8133 8514/A and XGA handling refactor:
* separate (ibm8514|xga)_enabled into (ibm8514|xga)_standalone_enabled
  and (ibm8514|xga)_active, the former being enabled only for standalone
  8514/A or XGA cards, the latter for all 8514/A and XGA-capable cards
  and not saved into the config file;
* remove (ibm8514|xga)_has_vga and replace all uses of it with
  (ibm8514|xga)_standalone_enabled;
* Qt UI: the checkboxes for standalone 8514/A and XGA are now correctly
  grayed out if an (S)VGA card with 8514/A or XGA capability is selected,
  including cases when the card is an internal/onboard one; said cards are
  now no longer appear as SVGA multi-monitor compatible.
2023-08-22 23:48:32 +05:00
TC1995
f240e8cb0c Video changes:
1. The passthrough from VGA to 8514/A and/or 8514/A to VGA no longer relies on hackish places where to switch from/to, instead, relying on port 0x3c3 of VGA doing so (though the Mach8/32 still needs some places where to manually switch from/to, mainly the MCA one when configuring the EEPROM).
2. Implemented the MCA behalf of the Mach32 and its corresponding reset function.
3. Properly implemented (more or less) true color, including 24-bit BGR rendering
4. Other fixes such as color patterns and mono patterns being more correct than before in various operating systems and in 24-bit true color.
5. Implemented the onboard Mach32 video of the IBM PS/ValuePoint P60 machine.
6. Made the onboard internal video detect when it's 8514/A compatible or not (CGA/EGA/MDA/VGA/etc.). If the former is selected, then the video monitor flag is used instead (for QT).
7. The TGUI9400 and 9440, if on VLB, now detect the right amount of memory if on 2MB.
8. Initial implementation of the ATI 68875 ramdac used by the Mach32 and made the ATI 68860 8514/A aware when selected with the Mach32AX PCI.
9. Separated the 8514/A ramdac ports from the VGA ramdac ports, allowing seamless transition from/to 8514/A/VGA.
10. Fixed a hdisp problem in the ET4000/W32 cards, where it was doubling the horizontal display in 15bpp+ graphics mode.
11. Removed the 0x3da/0x3ba port hack that was on the Mach8/32 code, relying on the (S)VGA core instead.
12. Reworked and simplified the TGUI9440 pitch register based on logging due to no documentation at all.
2023-08-12 00:00:46 +02:00
TC1995
cb06b9e78f Video features and fixes:
Added the Mach8 and Mach32 ISA/VLB/PCI cards (initial implementation and MCA coming soon for the Mach32) and their corresponding EEPROM's.
Added INMOS XGA ISA card and updated the SVGA core to reflect its mapping as well as the Mach8/32 mapping when in 8514 monitor mode.
Mark the XGA button as already checked and locked when a standalone XGA BIOS card is present like the INMOS one. (QT only)
Same concept as above, but applies to the Mach8 and 32 for the 8514 option as well. (QT only)
2023-07-14 23:38:04 +02:00
Jasmine Iwanek
a7236a9022 Make dual video card code use array 2023-02-06 07:29:18 -05:00
Cacodemon345
7898109b66 Add SVGA multi-monitor support
Cirrus Logic CL-GD5436/CL-GD5446 works as secondary video adapters
2023-01-22 16:50:21 +06:00
Jasmine Iwanek
a40630ba63 Even more tabs to spaces 2023-01-07 14:09:51 -05:00
Cacodemon345
a2dcf9e12f qt_settingsdisplay: Changes are not lost on machine switch anymore 2022-12-23 20:49:13 +06:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Cacodemon345
3a57c8dc31 Make sure configure button is disabled always when None is selected 2022-07-08 14:21:41 +06:00
Cacodemon345
4ac9bd1ba0 Don't make non-MDA cards available for selection at all if a MDA card is selected
They currently show total garbage.
2022-07-07 18:16:22 +06:00
Cacodemon345
a886194382 qt: Actually save secondary video card settings
This also rounds off the new video monitor API with a instanced set_screen_size API
2022-07-07 17:56:36 +06:00
Cacodemon345
90ba53e4e8 Finish multi-monitor support 2022-07-07 14:34:59 +06:00
TC1995
f0a78c7642 Initial XGA-2 implementation, (same as XGA-1 internally, but able to do 800x600 officially), selection is possible only on QT at the moment.
Refactored the ROP/MIX of the XGA accelerator.
Bus type variable added to make sure the device is an ISA-16 device or MCA in its dedicated register.
2022-07-03 23:01:46 +02:00
TC1995
9e44719f13 Added initial (and a bit buggy on OS/2, so use 8514/A on it instead) emulation of XGA for both MCA and ISA buses. 2022-06-17 21:26:26 +02:00
Alexander Babikov
8baf1e3a78 Fix 8514/A and GUS checkboxes not being grayed out with 8-bit ISA-only machines as intended (#2364) 2022-05-24 14:27:26 -03:00
TC1995
d0335e9679 Initial emulation of the IBM 8514/A coprocessor for both the MCA and ISA buses.
Currently the GUI option is on the QT frontend.
2022-05-14 18:55:00 +02:00
Cacodemon345
dd83bdb0f6 * Fix fixed size window sizing
* Fix device config windows not appearing centered and modal under Wayland
2022-02-09 00:29:19 +06:00
Cacodemon345
a637f61d4f Add missing copyright notices 2022-02-07 15:00:02 +06:00
Joakim L. Gilje
61ab0e60ca merged in machine flags/bus refactoring started in 6661ff5dcc 2021-12-14 13:53:56 +01:00
Joakim L. Gilje
c587a02b1a Initial Qt Commit 2021-11-25 10:20:56 +01:00