Commit Graph

1214 Commits

Author SHA1 Message Date
Cacodemon345
7a8fe414c5 MGA: 3D busmastering now works (albeit slowly) 2023-12-20 16:24:04 +06:00
Cacodemon345
bf30678d5f MGA: More Mystique busmastering fixes
* Use mutex locking when reporting SOFTRAPEN
* IEN register now correctly returns values it currently holds
* Restore VLINEPEN interrupt
2023-12-20 13:48:45 +06:00
Cacodemon345
1773ebfbf3 Mystique: SOFTRAP register writes correctly reset the primary DMA channel 2023-12-20 01:38:14 +06:00
OBattler
7495c2537b Fixed a warning in video/vid_ati18800.c. 2023-12-19 19:32:23 +01:00
TC1995
d38ad2eb23 ATI EGA Wonder 800+ fixes.
1. Reverted the migration from ATI 18800 as the EGA code had the proper palette.
2. Add support for the 800x600 resolution required by said card.
2023-12-19 19:03:54 +01:00
Miran Grča
3f498ea8e0 Merge pull request #3910 from 86Box/tc1995
More MGA fixes.
2023-12-19 18:51:46 +01:00
Miran Grča
06df42cacd Merge pull request #3909 from Cacodemon345/mga-busmastering-fixes
Matrox Mystique: Attempt fixing 3D busmastered drawing
2023-12-19 18:51:33 +01:00
Miran Grča
71d6a7ff23 Merge pull request #3906 from iamgreaser/gm/t64v2-revision-id
Report correct S3 Trio64V2/DX revision ID
2023-12-19 18:51:17 +01:00
TC1995
1e71efc5bb More MGA fixes.
Re-introduced the mystique read/write linear functions but with a check (!svga->fast) in the byte ones to make sure the generic svga linear functions are enabled when needed, this should keep compatibility stable while also fixing the amount of memory of NT 4.0's MGA Millennium drivers.
2023-12-19 18:48:49 +01:00
Cacodemon345
8226a5e39c Matrox Mystique: Attempt fixing 3D busmastered drawing
NT 4.0's OpenGL screensavers only display one frame before freezing the system
2023-12-19 16:27:05 +06:00
Miran Grča
3a0e75d6d7 Merge pull request #3908 from Cacodemon345/mga-busmastering-fixes
Matrox Mystique: Make it work under Windows NT 4.0 for real
2023-12-19 09:17:29 +01:00
Cacodemon345
3a5bbe9ad3 vid_mga: Busmastering works properly now 2023-12-19 13:46:27 +06:00
Cacodemon345
1f91c0e2ec More work on busmastering
NT 4.0 freezes as of now. No idea, although the data aren't filled with total nonsense anymore
2023-12-19 12:59:18 +06:00
Cacodemon345
3ba6e337c5 Revert "MGA: Count for cases where DMA header data is not immediately available"
This reverts commit efe9784aad.
2023-12-19 12:02:58 +06:00
Cacodemon345
efe9784aad MGA: Count for cases where DMA header data is not immediately available
Fixes crashes on NT 4.0
2023-12-19 11:42:01 +06:00
GreaseMonkey
0bd67a1bc4 Report correct S3 Trio64V2/DX revision ID
Doesn't seem to affect much, but we might as well fix it.
2023-12-19 13:11:01 +13:00
TC1995
6eb05e14d5 ATI EGA Wonder 800+ and 18800 refactoring:
1. Proper cleanup of the code.
2. Migrate the card in question to the VGA class list as it's actually a rebadged VGA Edge (thus 18800).
3. Some VGA only features are not supported on this card and are documented in the recalctimings.
2023-12-18 23:43:37 +01:00
Cacodemon345
111b623811 Fix logical error 2023-12-19 03:00:54 +06:00
Cacodemon345
12d5d6c260 Matrox Mystique: Bus-mastering fixes
* Make all bus-mastering-related variables atomic
* Do not, under any circumstances, attempt to read beyond PRIMEND and SECEND

This allows NT 4.0's Mystique drivers to work with busmastering enabled.
2023-12-19 02:18:08 +06:00
TC1995
552740b2bd S3 wraparound fix.
Just a quick fix for Commander Keen 4 EGA's flickering.
2023-12-18 14:01:38 +01:00
Miran Grča
394a62d880 Merge pull request #3901 from 86Box/tc1995
MGA fixes 2:
2023-12-18 13:57:54 +01:00
OBattler
c7f4e59e49 Restoring the old changes. 2023-12-18 13:57:33 +01:00
TC1995
718fb759af There, log excess disabled. 2023-12-18 13:47:23 +01:00
TC1995
f5642ab1c3 MGA fixes 2:
1. Reverted the packed chain4 and fb_only sides to 1 when extended mode is set, but with the call to svga_recalctimings removed from port 0x3df due to mode issues, this should fix all the MGA mode issues I know.
2. Cleaned up the rendering order in svga_recalctimings, especially 4bpp and 8bpp.
2023-12-18 13:42:32 +01:00
OBattler
80e5c4f5ac Temporarily reverted all the Matrox mode changes since they broke even standard SVGA modes. 2023-12-18 10:02:18 +01:00
TC1995
9573d37364 And warning fixes. 2023-12-18 00:41:51 +01:00
TC1995
c1ba150e3c Oops, they actually can mix together, but not with plain (non-packed) chain4 stuff enabled, should fix more mode issues in the MGA Millennium card. 2023-12-18 00:40:31 +01:00
TC1995
c62182cd2e MGA Fixes:
1. LFB access is now done properly through the right svga_read/write linear calls.
2. Lowres 8bpp mode and Packed/Extended 8bpp+ mode don't mix together, fixes Debian Woody matroxfb module when testing the modes while keeping other compatibility intact (basically enable packed stuff only when gdcreg5 bits 5-6 are 0 when extended mode is set).
3. Small cleanup in the line accel stuff.
2023-12-18 00:08:51 +01:00
RichardG867
4b402c22cd vid_mga: Implement DDC on the Millennium 2023-12-16 18:26:39 -03:00
GreaseMonkey
0848f4a38e Disable blink in 8bpp modes on MGA; Re-instate main 8bpp hires renderer
I don't actually know if 8bpp blink is a thing on a Matrox Millennium, but the video BIOS seems to act like it's not.
2023-12-17 08:46:12 +13:00
Miran Grča
f900bdb63c Merge pull request #3892 from 86Box/tc1995
Fixed warning in vid_mga.c.
2023-12-16 20:40:47 +01:00
TC1995
d3fbd93848 Fixed warning in vid_mga.c. 2023-12-16 20:36:34 +01:00
Jasmine Iwanek
7d9b10d556 Correct undevbranching of the Matrox Millenium 2023-12-16 14:35:52 -05:00
TC1995
1df37c2440 Temporarily added the older 8bpp highres render for the Matrox Millennium. 2023-12-16 20:21:57 +01:00
TC1995
e4696aa2e9 Undev branch the Matrox Millennium since it is now mostly usable. 2023-12-16 20:17:55 +01:00
Jasmine Iwanek
86e07aa598 Fix compile error with logging enabled in vid_compaq_cga 2023-12-15 16:21:29 -05:00
TC1995
3c654af286 dang it... 2023-12-14 21:57:48 +01:00
TC1995
ea9348d104 Actually initialize the cursor color regs of the ATI Mach32 card. 2023-12-14 21:56:17 +01:00
TC1995
15c6d9e5fa Mach8/32 fixes (again):
1. Fixed wrong setting of highres and lowres mode of 8bpp, makes Transport Tycoon run properly on these ATI cards again.
2. 32-bit (RGBA) True Color is actually supported on the Mach32, but barely used, and the original code was wrong. This fix makes 32-bit True Color render the right colors.
2023-12-14 21:47:10 +01:00
TC1995
ce0b6e1da1 Cirrus, ATI Mach8/32 and XGA fixes.
1. Update svga->fast to account for packed chain mode toggles, fixes issues on Descent II for DOS using the Cirrus cards.
2. Re-organized ATI Mach8/32 LFB access as well as 8514/A/ATI mode toggles, should end the video mode issues once and for all.
3. Fixed a small but major pattern issue with IBM OS/2 1.30.1's XGA driver (not .2, which is fine as is).
2023-12-06 15:00:31 +01:00
GreaseMonkey
44d70ab943 Rework (S)VGA renderer to be internally chunky + attempt to optimise for speed 2023-12-06 15:25:17 +13:00
OBattler
6871e279dd Merge branch 'master' of https://github.com/86Box/86Box 2023-11-26 22:15:36 +01:00
OBattler
7b4a6a3388 Clean-ups and made the ET4000AX use the old way to check for 8 bpp modes, fixes the Windows 3.0 driver. 2023-11-26 22:15:28 +01:00
RichardG867
8497e33559 Voodoo: Attempt fix for a rare FIFO deadlock on hard reset 2023-11-25 22:49:27 -03:00
GreaseMonkey
d3897b57e8 Handle SVGA 8bit RAMDAC for Voodoo Banshee cards 2023-11-26 11:54:01 +13:00
GreaseMonkey
c8c9fa2f91 Implement 4bpp graphics mode blink properly on VGA
Closes #3447
2023-11-23 13:12:09 +13:00
GreaseMonkey
7de7ea3fe1 Clean up unused variable 2023-11-23 10:08:52 +13:00
GreaseMonkey
81d285b883 Force 8bpp highres SVGA modes to "bypass" the shifter entirely
The current implementation still uses the shifter forced to Shift 256 mode to keep things generic, but we can always opt for a separate scanline renderer.
2023-11-23 10:04:04 +13:00
GreaseMonkey
d19fe700f5 Use 8bpp renderer when attrregs.0x10.6 is set instead of when gdcreg.0x05.6 is set
This allows correct emulation of the 4bpp chunky mode which is supported by many but not all chipsets.
See discussion #3840 on GitHub.
2023-11-23 09:58:16 +13:00
TC1995
a3fa181b01 8-bit renderer fix about the Tseng cards:
Seems the Tseng cards are as incompatible as the S3 cards in terms of pure IBM VGA emulation, especially the chain4 stuff, so accomodate the fix to the renderer. Fixes 8bpp rendering on Tseng cards when invoked.
2023-11-21 20:06:12 +01:00