Commit Graph

206 Commits

Author SHA1 Message Date
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
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04: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
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
OBattler
c289872cd6 Allow 8 MB VRAM on the Number Nine 771 since it turns out it correctly supports that much. 2023-05-01 16:19:02 +02:00
Jasmine Iwanek
610401de7a Yet more clang-formatting 2023-02-28 23:53:57 -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
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
TC1995
fee8970aab S3: Don't allow 16-bit I/O pixtrans blitting on the first port of the 8-bit I/O handling (e2e8 write), fixes fonts on Unix flavors where affected. 2022-12-04 21:42:34 +01:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
TC1995
25fdf51637 S3 80x: added 0xe2e8/0xe2e9 ports in MMIO mode, fixes garbled fonts when using MMIO in those chips.
S3 (all): Fixes to the commonly used accel commands (0, 1, 2, 6, 7) to make the OS/2 software cursor to not bug on the left edge of the screen.
TGUI: Reworked the non-bitblt commands as well as the accel pitch and bpp modes.
2022-11-17 17:37:11 +01:00
Cacodemon345
9c775510df video: Make the rest of the FIFO variables atomic 2022-11-07 13:03:19 +06:00
Jasmine Iwanek
aa2c07bed2 Random header cleanups I noticed while porting things 2022-11-05 22:12:35 -04:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
OBattler
87cf281035 DECpc LPV fixes and implementation of the on-board S3 805 with the AT&T 490 RAMDAC, fixes #2349. 2022-07-26 22:32:01 +02:00
OBattler
ef869d7a3d S3: Disable (S)VGA split screen functionality in enhanced modes, fixes 1600x1200 modes. 2022-07-11 18:32:19 +02:00
OBattler
c202a065ec Fixed 1280x1024x16bpp and 1600x1200x16bpp on the Elsa S3 Vision 964 and 968 cards. 2022-07-11 18:24:11 +02:00
Cacodemon345
8a3367ff6f Multi-monitor support (backend preparation part) 2022-07-03 01:18:23 +06:00
TC1995
30e0201174 When linear framebuffer base is mapped, it's fb_only time, fixes gibberish fonts and corrupt mouse cursor on BeOS releases using the S3 Trio/Virge cards.
Slight cleanup of the XGA card and fixed more possible cursor issues.
2022-07-01 17:58:56 +02:00
OBattler
1955def798 Fixed 1280x1024x8bpp modes on the Elsa S3 Vision 964 and 968. 2022-06-04 02:21:59 +02:00
David Hrdlička
e60af6c29d Clean up plat.h a bit 2022-04-20 01:03:39 +02:00
Alexander Babikov
eba088c692 Remove trailing whitespace + indentation consistency fixes 2022-04-14 07:10:18 +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
TC1995
c3c7864bd6 Added a legacy way to address some issues with the SVGA scrolling and such (such as Pinball Illusions on S3 cards, including the ViRGE). 2022-03-02 16:18:58 +01: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
5ed5d73cee more upstream devices 2022-02-02 16:31:24 -05:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
TC1995
8471ab40e4 MMIO writes to 0xe2e8 are no longer redirected to the FIFO functions twice (word) or four times (long) but going to the respective pixtrans functions respectively. Fixes software cursor and fonts under early releases of XFree86 using its S3 928 MMIO drivers. 2022-01-31 22:51:46 +01:00
TC1995
a2be64dcb1 Added TVP3026 clock emulation and hooked up to the corresponding S3 cards needing it.
Added the SPEA Mercury Lite 928PCI-based card and its corresponding accel changes.
Restored the S3 ViRGE threaded-FIFO but with small changes.
2022-01-28 17:45:03 +01:00
TC1995
2194592f93 Re-added the threaded FIFO in place of the non-threaded one, but with an additional fix to eliminate the Visionx68 video engine wallpaper glitches as well as potential Trio64V+/V2 bugs. 2021-12-25 13:54:00 +01:00