Commit Graph

1045 Commits

Author SHA1 Message Date
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
0e8348f0e2 Fixed the red and blue swap in screenshots. 2021-09-14 21:24:12 +02:00
OBattler
fa960bec55 Changed the F82C425's colors so that the darker ones are more blue, like on the real V86P. 2021-09-14 15:35:40 +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
OBattler
f27fec1740 Removed EGA/(S)VGA render wake-up on zero-sized blit and fixed the last compile-breaking mistake in the Unix SDL code. 2021-09-13 23:28:00 +02:00
OBattler
96faa28eeb Removed the useless y1 and y2 parameters from the renderers' blit functions (and other places). 2021-09-13 23:19:10 +02:00
OBattler
13dc05cfd2 Removed the useless double-buffering in video/video.c, improves performance and reduces RAM usage. 2021-09-13 21:02:15 +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
60e9eb4aca Merge pull request #1682 from 86Box/master
Bring the branch up to par with master.
2021-09-08 19:09:59 +02:00
TC1995
bae38e23a7 Corrected SUBSYS information of the Velocity 100, now it displays fine. 2021-09-08 18:40:37 +02:00
OBattler
d5f656e866 And back. 2021-09-08 00:10:13 +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
OBattler
901c274119 Committed three files to make the merger possible. 2021-09-08 00:08:10 +02:00
OBattler
e9615fc167 Added support for JVERNET's V86P ROM's, and fixed the bugs reported by lemondrops. 2021-09-07 23:57:26 +02:00
Lubomir Rintel
a05f5d493f Add Chips & Technologies 82C425 CGA LCD/CRT controller emulation
The 82C425 is a CGA-compatible display controller chip. On top of being
able to drive a regular CRT display like an ordinary CGA card, it can
be configured to drive a monochrome 640x200 LCD panel instead.

The chip along with a LCD panel are notably used in the Victor V86P
laptop comupter.

When driving a monochrome LCD, the controller is able to employ some clever
tricks to compensate for he lack of color: by alternately turning dots on
and off with various duty cycles it can achieve displaying 4 or 8 shades
of gray. It can also enhance contrast between the text glyphs and their
background when it's less than the configured minimum (with "SMARTMAP"
algorithm).

The emulation is fairly complete. The 320x200 graphical mode uses 4 gray
shades along with stretching the pixels horziontally much like the real
hardware would. SMARTMAP is implemented for text mode and also matches
the real hardware pretty closely.

The missing bits are:

 * Configurable blink rates
 * Mapping the character map into host address space

The code is based on the T1000 display controller emulation and
still bears strong resemblance to it.
2021-09-07 21:34:18 +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
OBattler
680f0e2294 Fixed Hercules overscan in graphics mode, fixes #1666. 2021-09-06 13:48:07 +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
Miran Grča
ca4f66c7a9 Merge pull request #1664 from 86Box/tc1995
Fix 3 for the dword mode for duke3d/lxpic/standard and miro drivers f…
2021-09-05 23:50:18 +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
Miran Grča
0de3c10341 Merge pull request #1661 from 86Box/tc1995
Fix the dword mode fix in the S3 code.
2021-09-05 20:31:03 +02:00
OBattler
6536a04590 Implemented Hercules overscan, closes #1638. 2021-09-05 20:30:43 +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
OBattler
b834365f30 Fixed CRTC register readout on the Hercules, fixes #1656. 2021-09-05 19:03:32 +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
TC1995
16996ab2a2 Added the 3dfx Velocity 100 per request, alongside its BIOS. 2021-09-05 01:16:56 +02:00
OBattler
b75d9a2001 And back. 2021-09-03 16:42:39 +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
81db8ea205 I have to do this, apparently. 2021-09-03 16:41:11 +02:00
OBattler
03253ec93c Trident changes to make merging easier. 2021-09-03 16:40:07 +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
TC1995
391c6a3571 S3 & TVP3026: Part 2.
Reworked the pix tranfer register to allow a word in a byte transfer.
Added an alternative bios selection for the SPEA Mirage 801 card (3.05I and 4.01, the latter being the default now.
Added the MiroCrystal 10SD 805 VLB, Phoenix 801 ISA, MiroVideo 40SV 968 VLB/PCI, SPEA Mercury P64V 968 PCI , SPEA Mirage P64 Trio64 VLB cards.
Removed some non-working S3 cards like the Trio64V+ VLB and Elsa Winner 2000 Pro X VLB (only PCI variants of these cards are now in)
2021-09-03 00:05:43 +02:00
Miran Grča
2d6194aecc Merge pull request #1644 from 86Box/tc1995
S3 & TVP3026: Part 1.
2021-09-02 20:17:06 +02:00
OBattler
84f4b8cac7 Added a bunch of parameters (including one to specify custom ROM path), fixed a warnings, removed excess commented out code from video/vid_voodoo.c, and made Makefile.mingw quiet again. 2021-09-02 20:15:46 +02:00
TC1995
296df745ed S3 & TVP3026: Part 1.
Initial implementation of the tvp3026 ramdac, (clock still missing, will be added later).
2021-09-02 16:04:58 +02:00
TC1995
87abf37e2f Added Short Vector accel command to the TGUI cards and some cleanups and fixes. 2021-09-02 15:21:20 +02:00
Miran Grča
a505a6a910 Merge pull request #1640 from 86Box/master
Brought the branch up to par with master.
2021-09-01 15:03:15 +02:00
David Hrdlička
69a8c63c33 cmake: no SSE2 flag on non-x86 targets 2021-08-29 04:55:05 +02:00