Commit Graph

1471 Commits

Author SHA1 Message Date
TC1995
11d7afd578 Video changes part 3 (minor though)
1. Added an on-board S3 ViRGE DX (375) video card to the Intel AP440FX socket 8-based machine alongside its on-board CS4236B audio.
2. Sanity check for on-board S3 ViRGE devices.
2024-05-30 00:13:29 +02:00
TC1995
e9f19ec32b Fix compile warning.
See above.
2024-05-29 23:54:39 +02:00
TC1995
ff5d5273ed Video changes part 2
1. Added the Diamond Stealth 64 Video VRAM 968-based card.
2. Removed the useless VLB-based Phoenix 868 and 968 cards.
3. The Diamond Stealth 64 Video VRAM specific drivers apparently use 0x83ca-0x83cb as aliases of the RAMDAC ports 0x83c6-0x83c7 (New MMIO mode). This makes the hardware cursor visible in those drivers on win3.1 using the IBM RGB RAMDAC.
4. A few more logs and sanity checks around LFB access and MMIO as well.
2024-05-29 23:45:00 +02:00
TC1995
2ac3d289e6 Video changes part 1 for 4.2
1. Corrected the ATI 1881x clocks for use with the ATI Mach8/32 and VGA Wonder chips. The CPU slowdowns should now be gone.
2. Merged I/O ports common to both the ATI and IBM 8514/A compatible chips where they have identical code (extended behavior is still separate). Code duplication is now less than before.
3. Fixed a general polygon pattern issue in the Mach8/32 affecting calc.exe in Win3.x and other stuff.
4. Mode changes are, once again, changed (ATI and IBM), as close as possible to the real thing without destroying existing resolutions.
5. The 8514/A Vertical Counter has been extended to 0xfff so that it can take 1280x1024 resolutions well offered by the Mach32 as well as a better way to change the IBM/ATI modes through a callback swap where approprietate.
6. in 8514/A mode, reads from the 0x3c6-0x3c9 ramdac range is redirected to the 8514/A RAMDAC (0x2ea-0x2ed).
7. LFB access in the Mach32 now no longer takes account of the SVGA derived rops. Fixes Mach32 display on NeXTSTEP/OPENSTEP 3.x/4.x
8. Reworked the Display Sense Status and Subsystem Status ports so that they're not copycats from MAME and instead follow the datasheet.
2024-05-29 20:47:22 +02:00
TC1995
94c30b06f0 Fix Mach64 LFB in some cases.
These few cases where it gets corrupt fonts like in some builds of NT 4.0 and mode changes in Win95's driver.
Hopefully this keeps everything else intact.
2024-05-20 23:54:57 +02:00
TC1995
1baae350dc More S3 changes/fixes.
S3 928:
When the pitch is 1280, make sure the proper horizontal resolution is displayed right (in this case, 1280x1024).

S3 Vision864:
Exclude it from the horizontal blank bits due to more issues that are TBD (like the Trio32 and 64 and up), this works around the mode issues under Windows 9x and more as well as fix 32bpp horizontal rendering in said chip.
2024-05-20 02:26:10 +02:00
TC1995
fb6b0458a6 ATI Mach32/64 changes for the better:
1. On both Mach'es: direct linear video memory access is now the default for LFB mapping: fixes Mach64 drivers on NeXTSTEP/OPENSTEP and keeps everything else intact.
2. Mach8/32: minor cleanup to mode change code.
2024-05-16 22:33:50 +02:00
TC1995
a3d5f8e867 XGA 1-2: Pattern and cursor/sprite fixes.
1. Text is no longer glitchy under win95 using XGA.
2. Now there's a better way to handle the cursor/sprite X/Y offsets, should fix remaining Win3.x cursor blackness and other stuff using said cursor.
2024-05-15 21:18:40 +02:00
OBattler
404def23e8 Voodoo 3 1000 and Velocity 200: Hardcoded to 16 MB because our BIOS'es are 16 MB-only BIOS'es with the RAM amount check gutted out, closes #4406. 2024-05-08 03:35:51 +02:00
OBattler
656591d385 The forgotten changes to video/vid_svga.c. 2024-05-03 11:18:28 +02:00
OBattler
3f6126f72d Bochs VBE fixes, fixes #4410. 2024-05-03 01:45:22 +02:00
OBattler
2e4366de8b And the PCI device ID. 2024-04-29 00:06:47 +02:00
OBattler
dde745d878 Some Bochs VBE fixes. 2024-04-29 00:01:14 +02:00
OBattler
f4d2102734 Bochs VBE graphics card, originally by Cacodemon345, then extensively cleaned-up and improved. 2024-04-28 16:47:32 +02:00
TC1995
4325c78fa8 Just shut up the warning.
See above.
2024-04-26 23:59:17 +02:00
TC1995
738446fea6 Cleanup of the XGA mapping to be less messed up.
As well as the cursor/sprite being finally fixed when the xoff goes from 0x20 onwards. This makes Win3.x' XGA cursor look normal and everything else as well. (as in, intact).
2024-04-26 22:52:58 +02:00
TC1995
c931e4d460 Further fixes to the code related to the Mach8/32 mode changes.
And 0x6e9 is an alias to 0x2e8 per the Mach32 manual (H_TOTAL).
2024-04-26 19:28:03 +02:00
OBattler
0aa695c070 Matrox FIFO status fix. 2024-04-25 10:55:07 +02:00
OBattler
0f71a56edb Some checks around a recalctimings check to fix some crashes. 2024-04-24 06:47:03 +02:00
TC1995
50ca61dfd4 ATI/IBM mode changes in the Mach8/32.
Reworked the way the mode changes work in said chips (and way less hacky than before).
2024-04-20 23:43:27 +02:00
Miran Grča
22441a2302 Add sanity check to Voodoo 3/Banshee hardware cursor drawing
Fixes #4351.
2024-04-16 19:18:50 +02:00
The Dax
880abcb582 Fix capitalization of VideoMagic-BioS-HXIRTW32PWSRL.BIN to VideoMagic-BioS-HXIRTW32PWSRL.bin 2024-04-16 02:57:17 -04:00
TC1995
b674619894 Video7/Radius fixes.
And cleanups as well.
Htotal/hblankstart are now applicable to the HT216-32 card only.
Re-apply the Radius ISA SVGA extensions port workaround until a proper ISA bios is found/dumped (warning: the HT209 may not work properly on the PS/1 2121 machine).
2024-04-05 14:11:49 +02:00
OBattler
fcbbae181f MGA: fixes pitch mask to be correct according to the docs (it incorrectly stripped bit 11 of the pitch before).
Reference: Page 3-74 (PDF page number 87), https://www.vgamuseum.info/images/doc/matrox/mga-2164w_dev_spec.pdf.
2024-04-03 14:09:27 +02:00
OBattler
48718eb169 MGA: Fixes hard freezes when using DynaView 3D on non-16-bpp modes on Windows 3.x. 2024-04-03 14:08:05 +02:00
TC1995
38e044ca34 Tseng Labs fixes and bug-compatible fixes too.
ET3000AX: the chip in question should not support 1MB of video memory.
ET4000AX: the early TC6058AF revision can support 1MB of video memory (e.g.: Diamond Speedstar BIOS D3.10, undumped anyway), and actually don't update the rowoffset to 256 when using such chip in 320x200x256 mode. Fixes the copper demo in said chip revision.
2024-04-02 15:09:18 +02:00
TC1995
42be0ab641 Voodoo: vertical display programming fix.
Apparently some software reprograms the vertical display wrong sometimes (in this case, vdisp + 2).
This should fix software titles that use such techniques...
2024-04-02 00:20:27 +02:00
OBattler
ee7df06168 Voodoo: Honor monitor overscan. 2024-04-02 00:08:40 +02:00
OBattler
46840b239d MGA: Implement hardware dithering modes by Cacodemon345, fixes Windows 3.1 dynamic resolution switching. 2024-04-01 12:57:48 +02:00
OBattler
97ba1cd8e0 Moved the ATi VGA Wonder 18800 out of the Dev branch. 2024-03-28 00:18:30 +01:00
OBattler
7a4a44d1d1 Matrox: Apply DirectDraw transparency fixes by Cacodemon345. 2024-03-27 17:24:06 +01:00
Alexander Babikov
8e06b5449f Overhaul plat_get_string()
Now takes constants with human-readable names instead of
Win32 string table IDs, language.h is no longer needed

ui_msgbox*() no longer accepts string IDs as arguments directly,
plat_get_string() must be explicitly called to retrieve the string
2024-03-20 20:33:28 +05:00
RichardG867
a3b8e0f1b2 DDC: Clarify some comments 2024-03-10 18:17:32 -03:00
RichardG867
e0c5eb49f1 DDC: EDID data improvements, hopefully fixes 1600x1200 on older OSes 2024-03-10 18:01:09 -03:00
OBattler
f4a7fd7190 Added two more ET4000AX BIOS'es. 2024-03-09 19:07:54 +01:00
OBattler
cb8b6b68a7 And made them on par with the Tseng ET4000AX, as the available data suggests. 2024-03-09 13:31:42 +01:00
OBattler
3061e9343c Give the TVGA 8900D-R faster timings. 2024-03-09 13:30:13 +01:00
OBattler
ca2492e893 Added the Trident TVGA 8900 D-R. 2024-03-09 13:18:31 +01:00
OBattler
3e6b4aa9e1 S3 Trio64V+ VLB: Limit to a maximum of 2 MB video memory. 2024-03-06 22:51:24 +01:00
TC1995
929fa7328d Mach8/32 horizontal display changes.
Make sure for the 9001st time to display correctly the horizontal side of the display (looking at you, ATI 1992 set for win3.1x and Mach8/32 drivers for OS/2 1.2x).
2024-03-01 19:50:23 +01:00
Cacodemon345
fd31aba2a1 MGA: Implement X11 hardware cursor 2024-02-29 13:58:05 +06:00
OBattler
5af0ccd145 Assorted Voodoo and warning fixes. 2024-02-29 06:48:16 +01:00
Cacodemon345
9d4f4f0a70 MGA: Move BPLAN handling to the right place 2024-02-28 14:08:55 +06:00
Cacodemon345
0275ff3523 MGA: Implement BPLAN for BITBLT operations 2024-02-27 16:16:06 +06:00
TC1995
c13272ec48 S3 80x cursor fixes:
1. The SPEA specific cards using the 801/5 chip apparently have an ID that's not 0xa0, rather, they either use 0xa2 or greater for the stepping. Fixes wrong colors in 800x600 modes and greater in 8bpp mode.
2. HWCursor addresses for 8bpp are now properly implemented if the 8bpp mode bit (CRTC3a bit 4) is checked, no longer relaying on GDCREG5 bit 6). Fixes garbage cursor in the SPEA 80x cards drivers (BigWin) using 8bpp mode.
2024-02-25 14:06:25 +01:00
Cacodemon345
a0ef980a2c S3 ViRGE/GX2: Fix frozen display when stream processors are enabled 2024-02-25 14:33:17 +06:00
TC1995
c00e854fce Fix compile.
See above.
2024-02-24 21:52:06 +01:00
TC1995
21230f933e Temporary solution to a 24bpp issue and hblank.
So that 24bpp color is not discolored anymore as well as hblank bugs being nulled.
2024-02-24 21:50:01 +01:00
Cacodemon345
b49cd0baf4 S3 ViRGE: Buffer flips no longer trigger recalctimings 2024-02-24 02:51:42 +06:00
OBattler
2e482bf560 Merge branch 'master' of https://github.com/86Box/86Box 2024-02-23 17:02:50 +01:00