Commit Graph

1482 Commits

Author SHA1 Message Date
OBattler
499a4e1d77 MGA: Implement linestyles. 2024-06-22 23:54:14 +02:00
OBattler
8a90de40bc Matrox: Fix MSITUTOR, fixes #4554. 2024-06-22 17:44:45 +02:00
Miran Grča
7664ca1b62 Merge pull request #4537 from 86Box/tc1995
Fix warning.
2024-06-12 20:58:13 +02:00
TC1995
df8830c219 Fix warning. 2024-06-12 20:57:39 +02:00
OBattler
a369bc2d05 Reimplement S3 ViRGE reset and move PCI TRC CPU reset to outside the recompiled block, fixes #2903. 2024-06-12 20:46:27 +02:00
TC1995
9a9d73c159 More fixes to the Paradise/WD VGA cards
Banking no longer goes beyond 0xfffff thanks to masking, fixes possible and in-coming glitches on said cards.
2024-06-12 20:06:29 +02:00
TC1995
eaed7643c0 ET4000 RAMDAC break fix.
This should fix the black screens when returning to text mode after the GUI.
2024-06-11 01:29:00 +02:00
OBattler
27248397d2 ATi Mach 8: Fix a warning. 2024-06-03 04:01:00 +02:00
Jose Phillips
066f153dee Added Machine Motherboard Acer100T 2024-06-01 18:39:40 -05:00
TC1995
eff32906c5 Fix onboard flag for actual onboard ViRGE BIOSes.
So that ViRGE cards can work again without black screening.
2024-05-30 16:35:32 +02:00
TC1995
0897eea7df Plus a compile fix. 2024-05-30 00:43:00 +02:00
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