Commit Graph

666 Commits

Author SHA1 Message Date
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
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
TC1995
bae38e23a7 Corrected SUBSYS information of the Velocity 100, now it displays fine. 2021-09-08 18:40:37 +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
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
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
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
David Hrdlička
69a8c63c33 cmake: no SSE2 flag on non-x86 targets 2021-08-29 04:55:05 +02:00
OBattler
ecc54b1717 Fixed the indentation of blit_thread(). 2021-08-26 13:54:32 +02:00
OBattler
d9ac4ea75f Fixed a small typo. 2021-08-25 14:05:41 +02:00
OBattler
4ad78598ea Fixed IBM RGB28 RAMDAC hardware cursor position calculation. 2021-08-25 13:58:01 +02:00
TC1995
ded00ef3c0 Improvements to the Paradise VGA cards (mainly c30) using the DOSBox-x code as a base (while making the banks unchanged) and some horrible tweaks as shown in the code (pardon...). 2021-08-17 18:58:37 +02:00
TC1995
9673cc8f9c Fixed pitch bugs on NT 4.0 using the TGUI9440/96x0 cards, should work fine by now (tested on my end though). 2021-08-17 14:08:42 +02:00
TC1995
74d88ec6bb Fixed display start address on S3 pre-ViRGE and ViRGE cards upon recalculation of its timings plus when the banking register is enabled, this also fixes the flickering of Quake while having Commander Keen working without glitches. 2021-08-08 13:24:11 +02:00
OBattler
07e7c1dd9e More Hercules fixes. 2021-08-02 04:24:23 +02:00
OBattler
3c64da96bd More Hercules fixes, closes #1566. 2021-07-30 03:41:32 +02:00
OBattler
f52a688713 Hercules fixes (and implemented undocumented behavior where with page 1 set in text mode, characters are read from page 1 and attributes from page 0), closes #1562. 2021-07-28 05:12:35 +02:00
TC1995
fc832333fc Fixed S3 Trio32 PCI ID. 2021-07-19 00:11:45 +02:00
OBattler
7047517408 Video threads are now woken before the wait for termination, fixes the hangs. 2021-07-16 19:22:58 +02:00
OBattler
78c3f6759f Removed all usage of TerminateThread()/thread_kill(), thread_wait() is used instead now. 2021-07-16 06:45:32 +02:00
TC1995
49d86a5004 Removed code that is not ready yet. 2021-07-12 22:19:20 +02:00
TC1995
b04811df5e Restored the dithersub option on Voodoo Banshee (it was removed by accident). 2021-07-12 22:15:33 +02:00
TC1995
fd5ac14f26 Fixed scrolling anomalies in the EGA and SVGA card cores for Commander Keen to work right without glitches. 2021-07-12 22:12:27 +02:00