Commit Graph

188 Commits

Author SHA1 Message Date
Jasmine Iwanek
933f402cc9 Un-dev matrox mystique 2023-12-23 13:27:25 -05:00
TC1995
d38ad2eb23 ATI EGA Wonder 800+ fixes.
1. Reverted the migration from ATI 18800 as the EGA code had the proper palette.
2. Add support for the 800x600 resolution required by said card.
2023-12-19 19:03:54 +01:00
TC1995
6eb05e14d5 ATI EGA Wonder 800+ and 18800 refactoring:
1. Proper cleanup of the code.
2. Migrate the card in question to the VGA class list as it's actually a rebadged VGA Edge (thus 18800).
3. Some VGA only features are not supported on this card and are documented in the recalctimings.
2023-12-18 23:43:37 +01:00
Jasmine Iwanek
7d9b10d556 Correct undevbranching of the Matrox Millenium 2023-12-16 14:35:52 -05:00
TC1995
e4696aa2e9 Undev branch the Matrox Millennium since it is now mostly usable. 2023-12-16 20:17:55 +01:00
OBattler
7013949310 Made sure the dummy "None"/"Internal" devices never get initialized and fixed some PCI AGP bridge mess (including AGP-less 440BX/ZX/GX erroneously initializing the 440LX/EX AGP bridge), fixes #3696. 2023-10-14 06:45:45 +02:00
Jasmine Iwanek
506d548b38 More linting in src/video 2023-08-23 00:50:52 -04: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
Jasmine Iwanek
02e41927e3 Dribs and drabs which have escaped 2023-08-12 13:07:00 -04: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
Miran Grča
e55b06da4c Merge pull request #3534 from jriwanek-forks/sonarlint
Yet more Sonarlint and a few warning fixes.
2023-08-10 05:13:47 +02:00
OBattler
dbf9ef66fc Moved Voodoo initialization to the very end to minimize the likelihood of SCSI adapters ending up on the bridge. 2023-08-10 01:37:33 +02:00
Jasmine Iwanek
b8993e3282 sonarlint generic files in src/video 2023-08-09 16:52:11 -04:00
OBattler
88c12bf4b9 Made the secondary graphics card initialize before the primary one so that the primary one's memory mappings have precedence by virtue of coming last - fixes main output going to the wrong window on some 486 machines. 2023-08-07 03:35:23 +02:00
Jasmine Iwanek
879f707f19 sonarlint vid_table.c 2023-07-31 14:58:27 -04: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
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
Cacodemon345
03a578708c vid_mga: Make Matrox Millennium multi-monitor compatible 2023-03-07 22:03:04 +06: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
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Jasmine Iwanek
af9f1abf98 Code/Comments cleanup
Tabs to spaces
Whitespace
Normalize clang-format comments
2022-11-13 21:15:58 -05:00
Jasmine Iwanek
b6466ba266 Voodoo3 3500 SI 2022-11-10 18:10:17 -05:00
Jasmine Iwanek
7c2c1e985d Falcon Northwest Voodoo3 3500 SE 2022-11-10 18:10:10 -05:00
Jasmine Iwanek
5a462053fd Compaq Voodoo 3 3500 2022-11-10 18:10:10 -05:00
Jasmine Iwanek
7176d7c66c Velocity 200 AGP 2022-11-10 17:03:13 -05:00
Jasmine Iwanek
381f9d11fc Voodoo 3 3500 TV 2022-11-10 17:03:13 -05:00
Jasmine Iwanek
6f031c34df Voodoo 3 1000 2022-11-10 15:49:20 -05:00
Jasmine Iwanek
f99c161cfa Port Tseng Labs ET3000AX (ISA) from M&K 2022-11-05 23:23:11 -04:00
Jasmine Iwanek
aa2c07bed2 Random header cleanups I noticed while porting things 2022-11-05 22:12:35 -04:00
Lubomir Rintel
e902399035 vid_table: Fix build with logging enabled 2022-10-23 16:46:38 +02:00
OBattler
d963bf4237 The Pravetz keyboard and video are now properly implemented. 2022-10-20 00:33:30 +02:00
Cacodemon345
a6c9af3064 Add NEC SV9000 (Trident TVGA9000B) 2022-10-02 01:38:56 +06:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
Jasmine Iwanek
43339bd44a Add orchid varients of the GD5430 and 5434 2022-07-29 00:40:49 -04:00
Jasmine Iwanek
ac68a2e5ee Boca Reseach 4610 2022-07-27 19:09:42 -04:00
Cacodemon345
3d9f0b560c Add Reply Video Adapter for MCA (Cirrus CL-GD5426) 2022-07-26 01:06:40 +06:00
Cacodemon345
69280bbf91 Don't hardcode the secondary video card to Hercules 2022-07-10 13:35:48 +06:00
Cacodemon345
90ba53e4e8 Finish multi-monitor support 2022-07-07 14:34:59 +06:00
Cacodemon345
07663ceb7e Preparation for monochrome video selection 2022-07-06 17:44:43 +06:00
Cacodemon345
7ab71cafd3 Working multimonitor 2022-07-04 01:50:42 +06:00
Miran Grča
cc666e6cc4 Merge pull request #2281 from jriwanek-forks/named-initializers-3
Named initializers part 3
2022-04-12 23:38:32 +02:00
Jasmine Iwanek
d28cec126a src/video 2022-04-12 17:26:07 -04:00
OBattler
3cec306ecf Device config fix, phase 1. 2022-04-04 18:11:39 +02:00
Jasmine Iwanek
801f81fbda clean up device_config_t formatting 2022-02-26 23:31:28 -05:00
OBattler
09066358c4 Fixed the duplicate graphics cards. 2022-02-23 22:54:55 +01:00
Miran Grča
0c540ff29c Merge branch 'master' into master 2022-02-23 14:45:03 +01:00
TC1995
1037c048b4 Sort out the ET4000/w32p cards and add a VLB/PCI videomagic revision B card variant. 2022-02-23 13:50:47 +01:00
JustinJ553
cccc9db388 Sort the Creative Voodoo Banshee next to original Banshee. 2022-02-22 20:52:03 +08:00
TC1995
012046bd89 Added the Matrox Millennium card to dev branch and its respective bitblt additions and ROM. 2022-02-03 20:08:46 +01:00