Commit Graph

66 Commits

Author SHA1 Message Date
OBattler
3483cb02b3 Removed an unused variable from video/vid_svga_render.c. 2023-12-27 21:15:07 +01:00
TC1995
979198d592 More ATI changes plus one IBM 8514/A fix:
1. Made the 4 color mode (67h) work properly now, including its 4 schemes on all ATI cards that support said mode.
2. Shadow set now has a true purpose for 8514/A compatibility on ATI Mach8/32.
3. Non-ATI 8514/A used to not work before because of the dev->local variable was not being set to 0 in the ibm8514_init() function, now it's fixed.
2023-12-27 21:01:25 +01:00
TC1995
db45cb8c0b Forgot one file to commit in the branch. 2023-12-27 18:40:29 +01:00
Cacodemon345
1bd4bbdfa1 MGA: Implement gamma-correction for <= 16 bpp modes 2023-12-25 15:24:52 +06:00
Cacodemon345
0a55e75b06 MGA: Gamma-correct hardware cursor 2023-12-24 02:16:51 +06:00
Cacodemon345
70d6d5954b MGA: Implement gamma correction for 24+ bpp modes 2023-12-24 01:46:10 +06: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
TC1995
1df37c2440 Temporarily added the older 8bpp highres render for the Matrox Millennium. 2023-12-16 20:21:57 +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
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
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
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
GreaseMonkey
9903e12e69 (S)VGA: Update graphics mode blink behaviour to match something more feasible 2023-11-21 19:39:30 +13:00
GreaseMonkey
81b8150a6b (S)VGA: Increment CRTC address just before it needs to be used
This gives more likely behaviour when one loads more often than the address is incremented.
The behaviour matches an Intel GMA 4500MHD (2008) which is the earliest hardware I'm able to test right now.
2023-11-21 19:25:26 +13:00
GreaseMonkey
2166ae0fb7 Get S3 Trio working in mode 13h + Mode-X again
Outside of that, we're now using the remappers properly.
2023-11-21 16:55:54 +13:00
GreaseMonkey
cfda3e1cce Add 8bpp support to the 4bpp renderer (breaks S3 Trio)
It appears that the S3 Trio does something weird with its 8bpp modes.
Specifically, it seems to ignore some of the flags needed for dword mode.

I will keep looking into that and see if I can find a good solution.
2023-11-21 15:40:44 +13:00
GreaseMonkey
9703ccec45 Initial merge of VGA 2bpp/4bpp lo/hi res renderers
About half of it was taken from the EGA renderer.

Also, the "force_old_addr" hack is kept here for now.
2023-11-21 11:33:04 +13:00
Jasmine Iwanek
bc7cc2c14a sonarlint vid_svga_render.c 2023-07-31 14:53:40 -04:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
Cacodemon345
7898109b66 Add SVGA multi-monitor support
Cirrus Logic CL-GD5436/CL-GD5446 works as secondary video adapters
2023-01-22 16:50:21 +06:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
a40630ba63 Even more tabs to spaces 2023-01-07 14:09:51 -05:00
Jasmine Iwanek
231cadb0a7 Fix Multiplication result converted to larger type from CodeQL 2022-12-23 14:22:17 -05:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
Adrien Moulin
d3e6d13a84 Fix stupid mistake in svga_render_blank 2022-08-09 01:37:29 +02:00
Adrien Moulin
ce95d2e7bd Optimize svga_render_overscan 2022-08-09 00:29:04 +02:00
Adrien Moulin
4cb84a3a80 Optimize svga_render_blank 2022-08-08 23:55:58 +02:00
OBattler
33c5f9397e (S)VGA renderer fixes. 2022-07-19 00:14:29 +02:00
OBattler
3bcb9f6310 Cleaned up the (S)VGA render code of excess CRTC checks. 2022-07-18 23:56:21 +02:00
Alexander Babikov
eba088c692 Remove trailing whitespace + indentation consistency fixes 2022-04-14 07:10:18 +05:00
TC1995
c3c7864bd6 Added a legacy way to address some issues with the SVGA scrolling and such (such as Pinball Illusions on S3 cards, including the ViRGE). 2022-03-02 16:18:58 +01:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
TC1995
fee0ea1d24 Ported the x87 fix from the other emulator as well as the GUS one.
Fixed 15bpp mode in all cards.
2021-05-30 22:07:22 +02:00
TC1995
d63ce5ab82 Port of the reworked svga memory addressing, normal chain4 mapping and ma13/14 mapping for non-CGA modes.
Fixed ET4000/W32 (without letters) hardware cursor.
Fixed non-interlaced 1280x1024x8bpp Cirrus mode in the 5434.
Added a note regarding the Radius (HT209) 8bpp render.
Reworked the TGUI9440, but still WIP.
2021-05-30 01:52:43 +02:00
OBattler
2758f3e4f5 Reverted the 256 color renderers back to normal. 2021-04-29 04:35:14 +02:00
OBattler
e045df2b50 (S)VGA clean-ups and fixes (some parts of the COPPER demo should now work), and fixed the graphics modes on the ICS5341. 2021-03-24 19:35:07 +01:00
TC1995
7bb51b4c7a Ported the latest Voodoo patches from PCem. 2020-11-18 00:21:07 +01:00
OBattler
43b6056d84 EGA and (S)VGA cards now correctly disable the display when CRTC 0x17 bit 7 is clear, also reduces resizes even further. 2020-07-20 04:34:47 +02:00
OBattler
de1cae40f7 The EGA and (S)VGA renders no longer draw a line's left and right overscan borders if the line is < 0. 2020-06-07 21:32:10 +02:00
TC1995
f317bf3690 Ported the Goldstar 286 machine from PCem alongside video fixes
and enhancements from greatpsycho.
2020-05-12 00:37:30 +02:00
OBattler
3027422e88 PCI graphics cards now correctly use PCI timings instead of VLB timings. 2020-05-06 00:23:07 +02:00
David Hrdlička
a505894a10 Move all include files to src/include
- 86Box's own headers go to /86box
- munt's public interface goes to /mt32emu
- all slirp headers go to /slirp (might want to consider using only its public inteface)
- single file headers from other projects go in include root
2020-03-29 19:53:29 +02:00
Daniel Gurney
0c509fd551 Remove version tree-wide 2020-03-25 00:46:02 +02:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00
OBattler
ac0a1ee327 Fixed EGA and (S)VGA pel panning, fixes games like Supaplex. 2019-11-19 19:18:44 +01:00
OBattler
9c42abf2bf Fixed EGA graphics modes and ported EGA 2bpp/4bpp word mode and 4bpp odd/even functionality to (S)VGA which should also support it. 2019-10-20 17:25:30 +02:00
OBattler
a495faec59 Direct3D in full-screen mode now transfers control of input to the full screen window, fixes #429;
Unified screenshot code and moved it to video.c, it is now independent of both renderer and platform;
The EGA/(S)VGA overscan now also works for CGA, PCjr, Tandy, and CGA-using Amstrads;
Fixed EGA/(S)VGA overscan operation so it works correctly with scrolling and panning;
Fixed 320x200x32K and 320x200x64K modes on the ET4000/W32p;
Fixed the Video 7 1024i chip ID and video memory options, fixes #431;
Fixed a banking bug in the S3 cards, fixes Windows 9x and NeoPaint.
2019-10-20 15:09:38 +02:00
OBattler
591cd2e019 The Cirrus Logic graphics cards now support the 8-byte latches, fixes 16 colors drivers;
The Cirrus Logic graphics cards now support the 15 bpp/palette mix, 8 bpp grayscale, and 8 bpp 3:3:2 RGB modes;
The makefiles now do -funroll_loops.
2019-10-01 15:14:51 +02:00