Commit Graph

975 Commits

Author SHA1 Message Date
OBattler
95c900a5dc Fixed off-by-one error in video/vid_ics2494.c. 2023-06-19 00:12:19 +02:00
OBattler
eb677b3d5a Fixed array out of bound accesses in video/vid_herculesplus.c. 2023-06-19 00:11:03 +02:00
OBattler
e4d860c025 Replaced calls to flushmmucache_cr3() to direct calls to flushmmucache_nopc() and removed the #define. 2023-06-11 22:12:18 +02:00
OBattler
f4c59e907d Removed mmu_invalidate(). 2023-06-11 22:07:32 +02:00
GreaseMonkey
078651d273 (mostly) Fix EGA split screen - fix done by @cons-cinnabar
Closes: #3386
2023-06-11 13:28:13 +12:00
Jasmine Iwanek
3cc036b7cd Fix reports by CodeQL scanning 2023-06-05 00:41:00 -04:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
Jasmine Iwanek
ed1b369abd Yet more sonarlint fixes 2023-05-29 06:21:17 -04:00
TC1995
cf49686957 Accelerator fixes part 2: 8514/A.
Mix patterns are drawn at the correct position now instead of backwards.
Better handling of subsys/subcntl side.
As usual, better handling of the VGA on/off passthrough.
Better handling of the accelerator pitch (TODO: need a way to properly identify 640x480x256 in the pitch side).
2023-05-05 19:55:27 +02:00
TC1995
a77271cfa6 Accelerator fixes part 1:
XGA: Fix crash when (S)VGA cards not selected as the primary display (e.g.: EGA, CGA. etc).
Better handling of the VGA on/off passthrough (vga_on variable).
MCA side: to avoid lfb issues, bit 0 of POS4 will be always enabled regardless of the ram size (most software uses the >16MB memory method).
Better handling of the BIOS ROM mapping and Memory Mapped I/O during the MCA PS/2 POST and resets, fixes 40 25 hang (once and for all).
Re-organized the ROM loading in ISA mode.
2023-05-05 19:08:49 +02:00
Jasmine Iwanek
927c26f496 Fix some variant type comparisons 2023-05-02 02:18:17 -04:00
OBattler
c289872cd6 Allow 8 MB VRAM on the Number Nine 771 since it turns out it correctly supports that much. 2023-05-01 16:19:02 +02:00
OBattler
018c9ca39b Fixed the VRAM size on the Reply MCA Cirrus Logic card. 2023-04-16 23:44:45 +02:00
RichardG867
2e3b89fb85 vid_ddc: Upgrade to EDID 1.4 with proper physical size so that Xorg doesn't try to use the highest resolution 2023-04-11 13:00:15 -03:00
Ben Russell
8fe70b0a6e vid_ega: Make the read-write CRTC registers readable
This fixes a lockup that happens when returning from QBASIC under many screen modes, including SCREEN 0.
2023-03-24 21:50:06 +00:00
Ben Russell
9e758ca0b0 vid_ega: Implement graphics blinking required for 640x350 mono graphics modes 2023-03-23 20:09:13 +13:00
Ben Russell
935d49da6c vid_ega: Hoist out + name chip register flags in renderers; Tweak graphics char writing loop 2023-03-23 20:03:21 +13:00
Ben Russell
240ecdfe5f vid_ega: Mask ma correctly in the text renderer
It was already masked correctly in the 4bpp graphics renderers, but now we get to mask it correctly in the text renderer
2023-03-23 17:10:45 +13:00
Ben Russell
0bed201e87 vid_ega: Merge text renderers together 2023-03-23 17:06:12 +13:00
Ben Russell
69c18755a4 vid_ega: Extend 4bpp renderer to handle CGA 2bpp chunky graphics; Remove 2bpp renderer
This also lets planes 2 and 3 be used.
2023-03-23 15:28:25 +13:00
Ben Russell
212e494328 vid_ega: Merge 4bpp graphics renderers together 2023-03-23 14:51:35 +13:00
TC1995
247c5df801 ET4000w32/i (and non-i): Mouse cursor shape is now alright by being forced to be 128x128 and if the cursor regs (0xe2 and 0xe6) have a non-0 value in the non-i chip (or if on 15/16bpp, forcing it to 128x128 anyway).
Also fixed are the blitter patterns in 8/15/16bpp modes by re-ordering (if it's the right term) the pixels of the Y pattern coordinates (code lines are from 1165 to 1183).
And properly implemented X/Y Count control routing blitters, fixes anything that uses software Bresenham and/or polygon stuff.
2023-03-21 23:49:28 +01:00
Ben Russell
2a395efbc9 vid_ega: Fix address decoding for Odd/Even modes for the 4bpp gfx renderers
This, combined with the Odd/Even fixes from a previous commit, gets the 64KB 640x350 2bpp modes working correctly.
Relevant issue: #2944
2023-03-20 20:07:39 +00:00
Ben Russell
77ba033fd9 vid_ega: Fix CCLK/2 rendering in 4bpp graphics modes
Required for 64KB-variant 640x350 2bpp modes (BIOS modes 0x0F, 0x10).
This does need some address decoding fixes to break the 16K-word barrier, though - those are coming.
2023-03-20 19:36:38 +00:00
Miran Grča
1484a70ebb Merge pull request #3180 from Cacodemon345/banshee-filter-fix
vid_voodoo_banshee: Extend screen filter buffers to 2048 * 3 bytes
2023-03-07 20:18:18 +01:00
Cacodemon345
03a578708c vid_mga: Make Matrox Millennium multi-monitor compatible 2023-03-07 22:03:04 +06:00
Cacodemon345
8e54488f22 vid_voodoo_banshee: Extend screen filter buffers to 2048 * 3 bytes
Fixes crashes when screen filtering is enabled and AmigaSport V3.0 drivers for Windows XP are used.
2023-03-07 14:30:33 +06:00
Jasmine Iwanek
610401de7a Yet more clang-formatting 2023-02-28 23:53:57 -05:00
Marek Knápek
4248d80040 Port PR#199 from pcem to 86Box.
Source: https://github.com/sarah-walker-pcem/pcem/pull/199
2023-02-19 18:47:43 +01:00
Miran Grča
ad93741b89 Merge pull request #3115 from luennix/infinia7200
Add Toshiba Infinia 7200 (TC430HX OEM) and add TC430HX's on-board S3 ViRGE/DX
2023-02-18 04:44:28 +01:00
luennix
a0d853ff1f Actually implement on-board ViRGE/DX for Infinia 7200 and TC430HX 2023-02-17 22:09:17 +03:00
Cacodemon345
85f38ef7c0 vid_mga: Fix opaque pattern blits 2023-02-17 17:24:04 +06:00
Cacodemon345
68ac52c190 vid_mga: Pattern drawing now works correctly on OS/2 2023-02-17 16:10:06 +06:00
Cacodemon345
2ca0fb3dd2 vid_tvp3026_ramdac: Don't ignore CCR2 and CCR3 bits for Cursor RAM reads/writes
Fixes hardware cursor under Windows 95
2023-02-17 12:39:04 +06:00
Jasmine Iwanek
a7236a9022 Make dual video card code use array 2023-02-06 07:29:18 -05:00
OBattler
b67c3c41e1 Fixed (S)VGA timings, according to tests by Sergi. 2023-02-05 17:16:53 +01: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
Cacodemon345
104d21f806 vid_mga: Fix Matrox Mystique MGA modes
Clock selection now works properly
2023-01-12 14:00:10 +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
Miran Grča
82856fd4f3 Merge pull request #3001 from jriwanek-forks/CodeQL
Fix "Multiplication result converted to larger type" from CodeQL
2022-12-30 04:09:34 +01:00
OBattler
fd82e523a0 Fixed hercules video_process_8() width, fixes #2997. 2022-12-27 05:27:13 +01:00
Jasmine Iwanek
231cadb0a7 Fix Multiplication result converted to larger type from CodeQL 2022-12-23 14:22:17 -05:00
Cacodemon345
d4ed4a57df cl54xx: Device ID remains constant and read only 2022-12-21 15:41:11 +06:00
Cacodemon345
82c9ce1d21 CL-GD5436 leaves GR0 and GR1 untouched 2022-12-21 15:10:19 +06:00
Cacodemon345
261e20ba73 cl54xx: clear GR1 and GR0 when disabling enabled extensions 2022-12-21 14:35:56 +06:00
Cacodemon345
e6a87f3c3f cl54xx: clear only FLAG_EXT_WRITE and FLAG_ADDR_BY16 2022-12-21 11:21:48 +06:00
Jasmine Iwanek
dd3959587b Improve a couple of comments 2022-12-20 19:33:42 -05:00
TC1995
fee8970aab S3: Don't allow 16-bit I/O pixtrans blitting on the first port of the 8-bit I/O handling (e2e8 write), fixes fonts on Unix flavors where affected. 2022-12-04 21:42:34 +01:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00