Commit Graph

82 Commits

Author SHA1 Message Date
TC1995
1037c048b4 Sort out the ET4000/w32p cards and add a VLB/PCI videomagic revision B card variant. 2022-02-23 13:50:47 +01:00
Jasmine Iwanek
7fc893bdb0 Include guards on our headers 2022-02-18 19:42:21 -05:00
Alexander Babikov
1a7a93010d Remove the obsolete logging and defunct VRAM dumping options from the Win32 UI 2022-02-07 18:09:21 +05:00
TC1995
012046bd89 Added the Matrox Millennium card to dev branch and its respective bitblt additions and ROM. 2022-02-03 20:08: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
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
RichardG867
0de137daf7 Merge branch 'master' of https://github.com/86Box/86Box into cleanup30
# Conflicts:
#	src/include/86box/machine.h
#	src/machine/m_at_socket7.c
#	src/machine/machine_table.c
#	src/video/vid_tgui9440.c
#	src/win/win.c
2021-11-14 13:45:37 -03:00
RichardG867
724accd167 Add AGP GART implementation 2021-11-10 21:14:54 -03:00
OBattler
d3540b7dc5 Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-07 01:15:45 +02:00
OBattler
fc9ae687a1 Fixed video.h. 2021-10-06 23:41:36 +02:00
OBattler
6ee1fb490a Made the video_copy stuff Unix-friendly. 2021-10-06 23:18:33 +02:00
OBattler
f30577255f Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-10-06 02:27:19 +02:00
OBattler
46807540ed Rewritten renderer blitting, fixes flickering when inversion or grayscale is used. 2021-10-06 02:26:30 +02:00
OBattler
5231ab4e44 Merge remote-tracking branch 'origin/master' into feature/machine_and_kb 2021-09-26 22:52:33 +02:00
TC1995
3bfcfc01a3 S3 ViRGE changes:
Added a timer to improve perfomance of the 3D engine.
Made the Trio3D/2X available for all.
Reserved bit 2 of CR33 is now always set to make sure Win95's Trio3d/2X drivers work along with a workaround for the memory size.
Added preliminary DMA bus master capabilities.
2021-09-26 21:13:47 +02:00
OBattler
73404e1b92 Conflict resolution. 2021-09-18 00:51:49 +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
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
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
c5864a46d8 Merge pull request #1676 from 86Box/master
Bring the branch up to par with master.
2021-09-08 00:08:23 +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
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
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
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
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
OBattler
67367798a7 Merged various SMC FDC67C6xx Super I/O chips into one file, re-added the UMC88xx 486 chipsets (and four machines for it) based on work by tiseno100 and my own work, various other fixes, and added quite a few machines (including the AOpen AP5VM which now works), also added the remaining ALi M6117 machine (Protech SBC with Award BIOS), and made the Intel Advanced/ATX's on-board S3 Trio64V+ work, as well as the on-board S3 Trio64/V2 of the two Compaq Presarios. 2021-08-21 18:19:10 +02:00
Miran Grča
920b9b417d Merge pull request #1544 from 86Box/master
Bring the branch up to par with master.
2021-07-12 05:58:47 +02:00
TC1995
40b593d3ad Added the TGUI9660 and fixed a compile bug (technically a 32-bit color bug) in said card and the 9680.
Added I2C/DDC support to the 9660 and 9680 as well as PCI IRQ support.
Extended the MMIO base addressing to 4MB for the 9660/9680.
2021-07-11 15:06:23 +02:00
OBattler
4f6df76f10 Revert "Revert "Merge branch 'feature/machine_and_kb' into master""
This reverts commit f2cd3756dd.
2021-07-04 17:40:39 +02:00
Daniel Gurney
f2cd3756dd Revert "Merge branch 'feature/machine_and_kb' into master"
This reverts commit 6604a29d7e, reversing
changes made to 1d7fca0abd.
2021-07-04 18:22:52 +03:00
Miran Grča
737093117d Merge pull request #1521 from 86Box/master
Bring this feature branch up to part with master.
2021-07-04 00:32:50 +02:00
TC1995
d7a9a4f1f3 Properly fixed the Bresenham line draw command on TGUI9440.
Added the TGUI9680 card and its corresponding 32bit mode and clipping.
Patterns on bitblt are more properly emulated.
2021-07-03 23:16:49 +02:00
OBattler
fd4817a87b All the current WIP work (warning: the PIT is currently using some temporary test rewrite that is going to be undone). 2021-06-29 19:11:19 +02:00
TC1995
d2c6452ff5 Reworked the HTVGA/Video7 clocks. Fixes the HT209 2401 error on MCA.
Fixed 16 color in the Realtek 3106 card.
Reworked the Sierra 1148x for the second time.
Registers that only exist on 928/80x and up are not used by the 911/924 anymore.
2021-05-20 20:57:54 +02:00
TC1995
1b642b4aba Port 0x105 on the ISA-based HT209 is only initialized from port 0x46e8 to avoid conflicts with the IBM PS/1 2011 and 2121's already existing initialization of the ports.
Reworked the Sierra SC1148x and AT&T49x ramdacs to use the RS2 signal when available.
Added the Realtek RTG3106 video card.
2021-05-12 18:51:02 +02:00
TC1995
94daad1887 Add the HT209/D-based Radius SVGA Multiview card and its "quirks". 2021-04-27 23:54:33 +02:00
Alexander Babikov
e7fb536ab7 Miscellaneous cosmetic changes to the makefile and header files 2021-04-26 01:10:50 +05:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
OBattler
586a72c2bb Fixed the Video 7/Headland hardware cursor with the Windows 3.1 drivers, and added the standalone HT216-32. 2021-03-26 23:06:42 +01:00
F10Setup
590ab0983a Added the ValuePoint's on-board video 2021-03-25 11:01:57 +02:00
OBattler
7b22fa60d1 Cleaned up the ET4000/W32, fixed the ICS 53xx/GENDAC/SDAC RAMDAC's, and readded the Cardex ET4000/W32p Rev. C with ICS 5341 RAMDAC. 2021-03-25 06:32:10 +01:00
OBattler
be8c03b3c0 Upated some machine files to no longer use the egareads and egawrites variables, should fix compilation. 2021-03-24 19:42:47 +01:00
TC1995
1763b2fcb2 Disabled defective ics5341-based bioses (16bpp would appear purprlish even on 16bpp and on 15bpp, though their roms won't be removed) and re-enabled the stg170x-based bioses with appropriate skew fixes (for real).
Replaced the ET4000/W32 (without letters) bios with a newer one.
Added ET4000/W32i VLB.
2021-03-24 19:06:38 +01:00
RichardG867
31331b08d1 Merge branch 'master' of https://github.com/86Box/86Box 2021-03-16 17:31:24 -03:00
RichardG867
0716e6e46b Add on-board AGP Voodoo 3 2021-03-16 15:34:20 -03:00
TC1995
9d700ce8d2 Fixed 1280x1024x8bpp mode in the 928.
Added the Tseng ET4000/W32 and its blitter.
Brought back the Tseng ET4000/W32i from the old days of being unused.
2021-03-16 16:48:24 +01:00
RichardG867
27115d80d3 Add AGP video card support and Voodoo 3 AGP 2021-03-14 21:31:02 -03:00