Commit Graph

166 Commits

Author SHA1 Message Date
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
TC1995
c4038f48f3 S3 changes part 5:
Rewritten non-threaded FIFO to be sure that it won't hang any OS (especially OS/2) and won't cause any more glitches on Windows 3.1 86x/96x drivers.
Fixed the decode mask of the Vision868 (8MB instead of 4MB).
Fixed 16bpp cursor using the MiroCRYSTAL 10SD specific drivers for OS/2 (including seamless Win-OS/2)
2021-09-18 00:36:54 +02:00
TC1995
20d7bb00b2 S3 changes part 4.
Fixed Chicago 73x (73f/g and 81)'s width/pitch in 15bpp mode using its built-in drivers at 800x600 using the 928.
Vastly improved implementation of the Short Stroke Vectors.
Removed threading for FIFO mode in the cards using the 964 chips and up.
Implementation of the non-threaded FIFO for cards using the 964 chips and up. Should fix most remaining wallpaper issues with those chips.
Improved recalctimings when 256+ mode Enhanced Mode is issued.
Added the MiroCRYSTAL 8S VLB card (805, SDAC).
2021-09-16 23:49:16 +02:00
Miran Grča
be2005dea4 Merge pull request #1690 from 86Box/master
Bring the branch up to par with master.
2021-09-14 22:34:42 +02:00
OBattler
a68b738308 Improved it a bit. 2021-09-14 02:33:52 +02:00
OBattler
3cd6518f11 Fixed it again. 2021-09-14 02:29:34 +02:00
OBattler
49b508caab And another fix. 2021-09-14 02:23:54 +02:00
OBattler
be22d67ed6 And another fix, to not break interlaced modes. 2021-09-14 02:17:57 +02:00
OBattler
b8bc115c7f Fixed said implementation. 2021-09-14 02:14:42 +02:00
OBattler
411a64553d Implemented S3 Cursor Right Addressing. 2021-09-14 02:08:11 +02:00
Miran Grča
c15a3fa841 Merge pull request #1687 from 86Box/master
Bring the branch up to part with master.
2021-09-13 23:30:02 +02:00
TC1995
04e48a071e S3 changes part 3:
Added the Phoenix S3 Vision968 (IBM RGB) and the MiroCRYSTAL 20SD VLB (864, SDAC) (alongside their BIOSes).
Added the vendor specific bits of CRTC5c used by the MiroVIDEO 40SV Ergo (968), Phoenix 868 and Phoenix 968.
Restored FIFO in the pre-964 cards, but without threading (Warning, code might be bloated for this).
Fixed horizontal issue with the SPEA Mercury P64V (968).
2021-09-11 22:02:31 +02:00
Miran Grča
c5864a46d8 Merge pull request #1676 from 86Box/master
Bring the branch up to par with master.
2021-09-08 00:08:23 +02:00
TC1995
293cb6a3cf My dword/byte mode fix doesn't apply to the Trio64V+ and up (Trio64V2/DX). 2021-09-06 22:11:09 +02:00
TC1995
4f5a78a8b9 Added a force byte mode variable to prevent dword mode from operating due to glitches in the S3 acceleration using said mode. 2021-09-06 13:03:50 +02:00
Miran Grča
88e4ad6055 Merge pull request #1665 from 86Box/master
Bring the branch up to par with master.
2021-09-06 02:06:48 +02:00
TC1995
b9cdf0521f Fix 3 for the dword mode for duke3d/lxpic/standard and miro drivers for win3.1 (I swear).
Re-added the byte swap bit in pix trans write word mode that was accidentally removed, fixes buttons in pifedit using the 968 in Win3.1.
2021-09-05 23:17:38 +02:00
Miran Grča
7145e3aa9a Merge pull request #1662 from 86Box/master
Bring the branch up to par with master.
2021-09-05 20:31:53 +02:00
TC1995
e37f477ebf S3 dword mode:
CRTC14 bit 6 (standard dword mode) has the highest priority over CRTC31 bit 3 (S3 dword mode), so if the latter is enabled while the former is disabled, it's byte mode. Fixes both Duke3D, LXPIC and Win3.1 running at the same time (once and for all).
2021-09-05 19:53:03 +02:00
TC1995
1c634759c5 Fix the dword mode fix in the S3 code. 2021-09-05 19:25:16 +02:00
TC1995
0ae17cbb3e S3 changes/improvements:
Overhauled the read portion of the PIX TRANS command (fixes white corruption in some instances while keeping everything already working fine).
Fixed Miro 10SD recalctimings issue about losing graphics mode.
DWORD mode SVGA CRTC bit fixed when S3 DWORD mode bit is enabled.
2021-09-05 18:10:54 +02:00
Miran Grča
b0ec4e1ece Merge pull request #1652 from 86Box/master
Brought the branch up to par with master.
2021-09-03 16:41:24 +02:00
OBattler
2415673c7a Some small S3 fixes (bugs found by clang). 2021-09-03 00:41:10 +02:00
TC1995
229e61b74d Minor pix trans fixes to the S3 code (R/W). 2021-09-03 00:27:08 +02:00