Commit Graph

144 Commits

Author SHA1 Message Date
OBattler
b1c292a9e9 Sanitized the horizontal blanking adjustments a bit and fixed 640x480x8bpp on some S3 cards. 2024-01-13 22:04:20 +01:00
OBattler
996530a94e Horizontal blanking calculation now takes into account horizontal timings multiplications and divisions, fixes a lot of S3 (and ViRGE) modes. 2024-01-13 03:54:56 +01:00
OBattler
38ef7fa1c3 CL-GD 54xx: Actually use display start and end for horizontal blanking timings in the special blanking mode. 2024-01-12 23:20:01 +01:00
OBattler
d2674c8dbb Fixed the Cirrus horizontal blanking calculation, fixes #4029. 2024-01-12 21:07:21 +01:00
Cacodemon345
2b3ebf9101 vid_cl54xx: Revert changes made to special blanking mode 2024-01-11 11:08:11 +06:00
Cacodemon345
8e9a2e0b79 Apply blanking extensions to more SVGA cards.
* Fix duplicated logic in vid_svga.c
* Voodoo 3/Banshee emulation now has blanking extensions applied
* S3 ViRGE and Matrox video cards as well
* Tseng ET4000-series cards as well
* Fix off-by-one error in vid_cl54xx.c

Trident cards are yet to be investigated. XGA and 8514/A are yet to be made blanking extensions compliant. Mach64, Paradise/WDC and OAK OTI cards remain as-is for now.
2024-01-11 01:48:49 +06:00
OBattler
0a8b4d061c Conflict resolution. 2024-01-10 08:59:46 +01:00
OBattler
7701174b39 CL-GD 5446/5480: Implement missing byte swap behavior, fixes fonts with the Windows 3.1 CL-GD 5446 driver when cache is enabled. 2023-12-30 00:04:57 +01:00
TC1995
ce0b6e1da1 Cirrus, ATI Mach8/32 and XGA fixes.
1. Update svga->fast to account for packed chain mode toggles, fixes issues on Descent II for DOS using the Cirrus cards.
2. Re-organized ATI Mach8/32 LFB access as well as 8514/A/ATI mode toggles, should end the video mode issues once and for all.
3. Fixed a small but major pattern issue with IBM OS/2 1.30.1's XGA driver (not .2, which is fine as is).
2023-12-06 15:00:31 +01:00
OBattler
8464401886 Fixed a small CL-GD 5480 bug. 2023-10-17 05:39:17 +02:00
TC1995
6802c0593b Video, Storage and MCA changes/fixes.
1. Cirrus Logic GD54xx, Paradise/WD VGA now reset the interlace once a text mode is issued if not done automatically.
2. Paradise/WD's 15/16bpp modes using the 800x600 resolution now have the correct ma_latch, should fix most operating systems drivers using this combo.
3. More fixes (hopefully) to the accelerated pitch and rowoffset of the Trident TGUI cards (9440AGi and 96x0XGi), should fix issues with delayed displays mode changes under various operating systems (e.g.: Win3.1x).
4. Preliminary implementation of the Area Fill command of XGA, which is issued while using various painting and/or calc utilities on Win3.1x (IBM XGA updated drivers, e.g.: 2.12).
5. Preliminary (and incomplete) 4bpp XGA mode.
6. The XGA memory test for the 0xa5 using writes (used by various operating systems) no longer conflicts with DOS' XGAKIT's memory detection.
7. Small ROP fixes to both XGA and 8514/A.
8. Re-organized the mapping of the Mach32 chipset, especially when to enable the ATI mode or switching back to IBM mode, should fix LFB conflicts with various operating systems.
9. According to The OS/2 Museum, the Adaptec AHA-154xB series of SCSI cards fail the ASPI4DOS.SYS 3.36 signature check, so now make the changes accordingly.
10. Remove useless and crashy bios-less option of the Trantor T128.
11. The Image Manager 1024 card can also be used on a XT (although only if it has a V20/V30).
12. Re-organized the IBM PS/2 model 60 initialization as well as its right POS machine ID (though an update to sc.exe is still required for the POST memory amount to work normally).
2023-09-30 22:08:08 +02:00
Miran Grča
7f06e697cb Merge pull request #3623 from jriwanek-forks/cleaning
Latest round of sonarlint work
2023-08-23 20:42:39 +02:00
OBattler
ae231add5c The on-board CL-GD 5430's now have a NULL avilable() function. 2023-08-23 20:41:54 +02:00
OBattler
2bff7c3910 The IBM PC330 on-board CL-GD 5430 is now correctly VLB and not PCI. 2023-08-23 18:05:58 +02:00
Jasmine Iwanek
506d548b38 More linting in src/video 2023-08-23 00:50:52 -04:00
TC1995
63b5e7e052 MCA Cirrus 2401 fix.
Eliminate the 2401 display error on MCA machines using the Cirrus cards.
2023-08-17 17:50:36 +02:00
OBattler
f7b5a566cb Added the OPTi 82c602, on-board CL-GD 5430, and also gave the PC87306 Super I/O chip its full NVR capabilities, fixes #2877. 2023-08-15 06:45:02 +02:00
Jasmine Iwanek
02e41927e3 Dribs and drabs which have escaped 2023-08-12 13:07:00 -04:00
Jasmine Iwanek
81bb5e564b Better fallthrough annotation macro. 2023-08-09 20:09:36 -04:00
Jasmine Iwanek
167146a5c4 sonarlint vid_cl54xx.c 2023-08-09 16:41:54 -04:00
OBattler
c30d5d90b7 PCI and IRQ rework, pci.c rewritten from ground up, fixes numerous issues such as the bridge being added when the number of normal PCI devices equals the number of normal PCI slots, Windows 95 PCI operation on Intel 430NX, sharing of PCI IRQ's with non-PCI level-triggered devices, having both configuration mechanisms operating at the same time (ALi M1435), etc., and makes the code much more readable. 2023-08-07 03:04:52 +02:00
Jasmine Iwanek
01ffb60df8 SVGA hskew 2023-08-06 20:29:39 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
OBattler
018c9ca39b Fixed the VRAM size on the Reply MCA Cirrus Logic card. 2023-04-16 23:44:45 +02: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
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Cacodemon345
d4ed4a57df cl54xx: Device ID remains constant and read only 2022-12-21 15:41:11 +06:00
Cacodemon345
82c9ce1d21 CL-GD5436 leaves GR0 and GR1 untouched 2022-12-21 15:10:19 +06:00
Cacodemon345
261e20ba73 cl54xx: clear GR1 and GR0 when disabling enabled extensions 2022-12-21 14:35:56 +06:00
Cacodemon345
e6a87f3c3f cl54xx: clear only FLAG_EXT_WRITE and FLAG_ADDR_BY16 2022-12-21 11:21:48 +06:00
Jasmine Iwanek
aa2c07bed2 Random header cleanups I noticed while porting things 2022-11-05 22:12:35 -04:00
OBattler
8b63f5995e Correctly clear all extensions when extended write modes are disabled, fixes #2800. 2022-11-06 00:15:30 +01:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
TC1995
fc48e5a284 Fixed the rom loading of the boca cirrus 5428 bios. 2022-07-30 21:55:41 +02: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
OBattler
1d0177289a PCI graphics cards initialization fixes. 2022-07-19 00:15:25 +02:00
Cacodemon345
8a3367ff6f Multi-monitor support (backend preparation part) 2022-07-03 01:18:23 +06:00
Alexander Babikov
710d34db97 Remove unused variables and functions 2022-04-14 07:13:50 +05:00
Jasmine Iwanek
d28cec126a src/video 2022-04-12 17:26:07 -04:00
Jasmine Iwanek
3b73ce330c src/video 2022-03-18 18:07:09 -04:00
Jasmine Iwanek
801f81fbda clean up device_config_t formatting 2022-02-26 23:31:28 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
6f2b93923c A lot of fixes - everything now seems to work properly. 2022-02-03 03:10:06 +01:00
Jess Lovelace
8d962bef15 yet another fix commit 2022-02-02 16:31:23 -05:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
RichardG867
5af0db8075 Fix ROM filename casing 2021-11-21 13:33:22 -03:00
RichardG867
447269eb39 Machine table and ROM fixes and cleanups 2021-11-21 13:17:30 -03:00