Commit Graph

189 Commits

Author SHA1 Message Date
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
RichardG867
5af0db8075 Fix ROM filename casing 2021-11-21 13:33:22 -03:00
TC1995
e29dafa17a Changes list 5:
Added the AT&T 2xc498 Precision RAMDAC.
Added 1MB configurations to the Cirrus Logic GD5434 as well as re-organized the memory size options of the other Cirrus cards.
Separated the et4000w32/i blitter from the standard et4000w32p blitter and properly implemented the X/Y Count route.
Added several Diamond Cirrus cards.
Added Number Nine S3 cards (868 and 968-based).
Fixed the WD90c30 1MB modes.
Re-organized the video card names.
2021-11-18 23:58:04 +01:00
OBattler
11431213ed Also reverted all the video changes. 2021-11-13 23:25:07 +01:00
OBattler
b905dc2b7e Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-26 03:09:45 +02:00
OBattler
355c26efa8 S3 fixes. 2021-10-26 03:09:20 +02:00
OBattler
bad67c4f4d Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-26 01:59:08 +02:00
TC1995
61273f5c1f Video changes:
Improved the banking of the ATI 28800-5 cards (VGA Charger and VGA Wonder XL).
Improved the skew and horizontal display of some of the ET4000W32P cards as well as the cursor.
Made the Oak OTI 077 and PVGA WD90c30 cards use the Sierra 11487 (actually a clone is used in the real cards).
For the WD90c30, changed the way the hack is involved.
Reverted some changes of the S3 Vision/Trio that originally made glitches, now the glitches are gone and the accelerator renders fine.
Re-organized the Sierra 1148x RAMDAC's and added the 11486 (Mark 1).
MCA SVGA cards use the full 32-bit mapping.
2021-10-24 19:06:05 +02:00
OBattler
d3540b7dc5 Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-07 01:15:45 +02:00
OBattler
66db0f11a4 Implemented reset handlers for Cirrus, S3, and S3 ViRGE cards. 2021-10-07 01:15:02 +02:00
OBattler
f1e6668086 Conflict resolution. 2021-10-05 23:15:41 +02:00
TC1995
8572739a55 S3 changes part 8:
Properly fixed text/graphics mode of the S3 pre-ViRGE cards.
PIX TRANS cleanups.
Added a sanity check to banking, per bit 0 of CRTC31.
Initial implementation of Enhanced 4-bit mode.
911/924 chips use CRTC43 bit 3 for enabling 15/16bpp mode.
fb_only variable used correctly as of now (depending if on 4bit or 8bit+ modes).

S3 ViRGE changes part 2:
Made the Trio3D/2X AGP use the PCI_ADD_AGP part accordingly

RAMDAC changes:
Sierra 11483 and 11487 don't have an RS2 signal so the four times reading scheme of 0x3c6 is used instead, per documentation.
Fixed AT&T 49x bpp selection.

Other changes:
Fixed remaining rendering issues with the Radius SVGA HT209 card.
2021-10-05 22:24:26 +02:00
TC1995
23083b48e8 S3 changes part 7:
Added dword addressing to pix trans reads.
Added VRAM masking to the hardware cursor.
Properly fixed the FIFO slots.
Width set to 1024 by default in the 911 and 924 chips.
2021-09-26 21:29:51 +02:00
OBattler
b5f7e9bec3 Conflict resolution. 2021-09-25 14:24:29 +02:00
OBattler
52e7b9b772 Fixed S3 and ViRGE hardware cursor clipping, fixes #1733. 2021-09-25 14:21:43 +02:00
OBattler
e42fdbfcdd Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-09-18 15:25:37 +02:00
TC1995
1ae65f25e2 S3 changes part 6:
Reintroduced dword mode for chips before Trio64V+.
The Trio64V+ and Trio64V2 chips now have svga->fb_only (which is strongly required by the mapping and the modes) and packed_chain4 set, just like the ViRGE.
2021-09-18 14:11:30 +02:00
OBattler
73404e1b92 Conflict resolution. 2021-09-18 00:51:49 +02:00