Commit Graph

236 Commits

Author SHA1 Message Date
OBattler
3e6b4aa9e1 S3 Trio64V+ VLB: Limit to a maximum of 2 MB video memory. 2024-03-06 22:51:24 +01:00
TC1995
c13272ec48 S3 80x cursor fixes:
1. The SPEA specific cards using the 801/5 chip apparently have an ID that's not 0xa0, rather, they either use 0xa2 or greater for the stepping. Fixes wrong colors in 800x600 modes and greater in 8bpp mode.
2. HWCursor addresses for 8bpp are now properly implemented if the 8bpp mode bit (CRTC3a bit 4) is checked, no longer relaying on GDCREG5 bit 6). Fixes garbage cursor in the SPEA 80x cards drivers (BigWin) using 8bpp mode.
2024-02-25 14:06:25 +01:00
cartifanwlr
c57dfed4e7 Fix the internal name of the S3 Trio64V+ VLB 2024-02-23 18:41:41 +03:00
OBattler
8cf8ccf3b3 Added the STB PowerGraph 64 Video (S3 Trio64V+ VLB). 2024-02-22 01:08:21 +01:00
TC1995
963b7eec04 Some temporary video changes regarding the horizontal display.
S3 side:
Temporary changes to match the release (due to tomorrow) of 86box. Said changes are about the horizontal display of the tvp3026-based S3 chips.

IBM/ATI 8514-based:
Temporarily commented out the hblank side of it due to htotal bugs.

TVP3026 side:
When the upper clock selection bits are 0 and when extended VGA modes are set, double the hdisp.
2024-02-20 18:41:51 +01:00
OBattler
873d8791e2 Override the (S)VGA blanking calculation for the S3 Trio32, Trio64, Trio64V+, and Trio64 V2/DX. 2024-02-18 21:34:13 +01:00
OBattler
4c3cceec69 Fixed off by one errors in (S)VGA horizontal blanking start calculation. 2024-02-18 17:54:14 +01:00
TC1995
536f10c60e S3 Pre-ViRGE 32bpp fixes:
32-bit toggleable regs are now written properly, fixes OS/2 32-bit color using S3 Pre-ViRGE drivers while keeping existing compatibility fine.
2024-02-14 20:36:43 +01:00
OBattler
3f8952a558 More (S)VGA horizontal blanking fixes and CPU CR0 bit 4 fixes. 2024-02-09 18:02:33 +01:00
OBattler
f3d585a1e1 Fix horizontal blanking calculation, fixes some S3 blanking excesses. 2024-02-07 00:11:02 +01:00
OBattler
3cfb9edb88 S3 Trio: Fix blanking calculation. 2024-02-03 22:52:41 +01:00
BurnedPinguin
fc834decb9 Merge branch '86Box:master' into machine_23 2024-01-27 09:34:42 +01:00
OBattler
6d3e9642ce SPEA Mercury P64V: Correctly caulculate the width at 1280x1024x24bpp. 2024-01-26 16:23:53 +01:00
BurnedPinguin
325c27de70 Merge branch '86Box:master' into machine_23 2024-01-18 11:51:46 +01:00
BurnedPinguin
5e59cb17cf Conflict resolution. 2024-01-18 11:45:21 +01:00
TC1995
e25fadc138 S3 true color update.
Reset bit 4 of the Misc Index register (from port 0xbee8) on mode changes.
2024-01-15 23:04:36 +01:00
OBattler
780f74bca0 S3: Fix 256-color modes on the Phoenix S3 Vision 968. 2024-01-14 01:40:24 +01:00
OBattler
b1c292a9e9 Sanitized the horizontal blanking adjustments a bit and fixed 640x480x8bpp on some S3 cards. 2024-01-13 22:04:20 +01:00
TC1995
de1e98d3ec Corrected S3 864 horizontal display. 2024-01-13 17:10:00 +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
ca4f5bad13 More horizontal blanking calculation fixes (and actually use blank start, not retrace start), fixes graphics cut-off on Voodoo on Windows 98 SE. 2024-01-13 00:41:45 +01:00
OBattler
cd0636ee04 Fixed horizontal retrace start and end extensions on almost every applicable card, fixes #4025. 2024-01-11 14:42:54 +01: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
d125caf776 Applied the blanking extensions to S3 Trio64V+ and V2/DX. 2024-01-10 09:27:07 +01:00
OBattler
0a8b4d061c Conflict resolution. 2024-01-10 08:59:46 +01:00
OBattler
67d8ebba51 S3: Correct line lengths and introduce s3_log(). 2024-01-07 20:54:48 +01:00
TC1995
c5e321ca92 S3 changes again:
1. Moved the wraparound fix to the respective recalctimings, makes Commander Keen still playable without flickering and, at the same time, making Solaris work right in 640x480x8bpp+ mode (including 1024x768x8bpp).
2. The multifunction index 0x0e bit that can be toggled in 32bpp mode is now initialized properly, should fix the pinkness on Solaris' 32bpp mode.
2024-01-07 20:36:50 +01:00
TC1995
6b1d0b9e88 S3 mode fixes 2 and one small accel cleanup:
1. Fixed 16bpp modes (including 15-bit) of the Trio32/64 that were doubling their horizontal resolution.
2. Made Bresenham Line easier to work with.
2024-01-05 21:11:49 +01:00
TC1995
4317155167 S3 mode fixes (1.5):
1. Actually fix the one in 32bpp mode (968 only).
2024-01-04 00:27:50 +01:00
TC1995
45df94c954 S3 mode fixes (1):
1. Fixed the Elsa Winner 2000 Pro-X/8 (964 and 968) 15/16/32bpp modes at 1280x1024+.
2024-01-04 00:22:47 +01:00
OBattler
356ac8acbe Fixed the two warnings in video/vid_s3.c. 2024-01-03 23:56:58 +01:00
TC1995
b7a4fa2a7c S3 refactoring:
1. Made the 924 BIOS use the AT&T 491 ramdac since it supports such (tested).
2. Tweaks to the 928 Brooktree ID detection to make sure the cursor is shown correctly in 16bpp+ modes (it uses the BT485 ID detection so that it knows what BT is using to accommodate the cursor model).
3. Refactored the mode (CRTC50) and pitch timing stuff (moved to recalctimings for example) so that drivers/games/operating systems and what not can be used normally. (Warning, more stuff is to be tested due to a gazillion of combinations used by said stuff).
4. VRAM wraparound is now working as it should, fixes Commander Keen games.
5. Indentation fixes.
6. Attempt to fix 15/16bpp mode acceleration used by the 911/924 chips (not perfect and still has bugs).
7. Added the remaining missing stuff of the Sierra SC1502x RAMDAC including its 8BIT setting.
8. Some drivers use FIFO bits in non-FIFO configurations, should fix hang ups in some instances (namely the 928 S3 2.3 NT 3.1 drivers and possibly more).
9. Separated the 911/924 acceleration from the 80x/928+ one though the use of a function pointer.
10. Fixed the inverted colors in some instances using the S3 Trio64 driver in Win9x (mainly on soft reboots).
11. CX/CY (non-Blits) and DX/DY (Blits) wraparound correctly during their respective operations, fixes OS/2 software cursor once again while keeping existing stuff working.
12. Added some comments to keep track of some anomalies.
13. Fixed some badly formatted if's and switches.
14. Limited the SPEA Mercury Lite VRAM to 1MB per real world configurations.
2024-01-03 22:58:18 +01:00
Miran Grča
7a63363a57 Merge pull request #3964 from Cacodemon345/mga-millennium-ii
TVP3026: Implement gamma correction for 15/16 bpp modes
2023-12-30 00:07:19 +01:00
Cacodemon345
dddf46f28a TVP3026: Implement gamma correction for 15/16 bpp modes 2023-12-30 02:31:56 +06:00
OBattler
b93b6d6f2b Added the Cardex S3 Trio64V+. 2023-12-29 11:12:45 +01:00
GreaseMonkey
0bd67a1bc4 Report correct S3 Trio64V2/DX revision ID
Doesn't seem to affect much, but we might as well fix it.
2023-12-19 13:11:01 +13:00
TC1995
552740b2bd S3 wraparound fix.
Just a quick fix for Commander Keen 4 EGA's flickering.
2023-12-18 14:01:38 +01:00
TC1995
53512a2510 More S3 blitting fixes:
Toggling the RSF bit is now applied to reads too. Fixes wrong colors on Solaris using true color mode and possibly other stuff too.
2023-11-01 21:59:49 +01:00
TC1995
5c9dabdc03 S3 accel command fixes:
X/Y coordinates are corrected for real even while wrapping. Fixes Trio64V+/Trio64V2 Win9x desktop icons as well as OS/2 software cursor madness.
2023-10-31 18:54:49 +01:00
TC1995
da5b93d980 S3 fixes:
Bit 11 of ports 0x82e8 and 0x86e8 (Current X and Current Y positions registers, respectively) are taken into account again without conflicting with OS/2 Warp 3/4's software cursor, fixes blitting issues with Neptune Build 5111.1's S3 driver and possibly some other builds and other stuff.
2023-10-17 19:33:07 +02:00
OBattler
5f83768d98 Fixed includes in video/vid_s3.c. 2023-08-24 01:13:39 +02:00
OBattler
46b086cf22 Missing header include in video/vid_s3.c. 2023-08-24 01:06:38 +02:00
OBattler
ca58764ac3 Unmarked fallthroughs: vid_s3.c. 2023-08-24 00:57:53 +02:00
Jasmine Iwanek
506d548b38 More linting in src/video 2023-08-23 00:50:52 -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
BurnedPinguin
e12ed7272c Merge branch '86Box:master' into machine_23 2023-07-26 12:27:53 +02:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
BurnedPinguin
c26327d9e2 Add the DEC Venturis 4xx 2023-07-22 23:06:43 +02:00
TC1995
ac762f6a86 S3 Pre-ViRGE changes:
Cosmetic cleanups and fixed the 512KB and 1MB settings of the 864/964+ chips, thus no longer thinking they were 2MB.
2023-07-14 23:57:50 +02:00