Commit Graph

1460 Commits

Author SHA1 Message Date
TC1995
8b4fb1b2ab TVP3026: remove excess logs.
See above.
2024-02-20 19:11:47 +01:00
TC1995
963b7eec04 Some temporary video changes regarding the horizontal display.
S3 side:
Temporary changes to match the release (due to tomorrow) of 86box. Said changes are about the horizontal display of the tvp3026-based S3 chips.

IBM/ATI 8514-based:
Temporarily commented out the hblank side of it due to htotal bugs.

TVP3026 side:
When the upper clock selection bits are 0 and when extended VGA modes are set, double the hdisp.
2024-02-20 18:41:51 +01:00
Cacodemon345
10c744d665 Remove frequency logging 2024-02-19 16:07:14 +06:00
Cacodemon345
6f22d58a4f C&T 69000: Fix pattern drawing in 16-bpp modes 2024-02-19 16:01:49 +06:00
Cacodemon345
91aa53d8a6 More correct linear mapping behaviour 2024-02-19 04:31:08 +06:00
Cacodemon345
cfebf4439b C&T 69000: avoid stale linear mappings 2024-02-19 04:19:55 +06:00
OBattler
873d8791e2 Override the (S)VGA blanking calculation for the S3 Trio32, Trio64, Trio64V+, and Trio64 V2/DX. 2024-02-18 21:34:13 +01:00
OBattler
4c3cceec69 Fixed off by one errors in (S)VGA horizontal blanking start calculation. 2024-02-18 17:54:14 +01:00
Alexander Babikov
0fa364dec3 MGA cleanup 2024-02-18 19:12:57 +05:00
Miran Grča
1e23813057 Merge pull request #4165 from Cacodemon345/chips_69000_rop_fix
C&T 69000: Fix ROP 0xFF `WHITENESS` on 16+ bpp modes
2024-02-18 12:28:18 +01:00
Cacodemon345
a0b984f79c Revert no-longer-needed horizontal blanking changes 2024-02-18 16:57:30 +06:00
OBattler
26dcf9cb73 Make the horizontal blanking loops no longer loop eternally. 2024-02-18 11:54:11 +01:00
Cacodemon345
2928e2cf79 C&T 69000: Make sure horizontal blank period does not exceed horizontal total
Fixes machine freezes in certain circumstances
2024-02-18 16:35:32 +06:00
Cacodemon345
4adb484184 C&T 69000: Fix ROP 0xFF WHITENESS on 16+ bpp modes
Fixes blue background on Write in Windows 3.11 drivers
2024-02-18 12:23:21 +06:00
Cacodemon345
575317fa08 ...and don't otherwise 2024-02-18 02:52:29 +06:00
Cacodemon345
29c7b80fcf Only skip hblank calculations when actually needed 2024-02-18 02:43:56 +06:00
Cacodemon345
451bc3d425 C&T 69000: Patterns are no longer horizontally reversed
Fixes mouse dragging glitches under Windows 2000 on 16+ bpp
2024-02-18 02:39:14 +06:00
Cacodemon345
cfa1e0d793 C&T: Implement clock select and LCD panning properly 2024-02-17 15:45:32 +06:00
Cacodemon345
996e365a8c Implement missing ROPs 2024-02-16 15:02:05 +06:00
Cacodemon345
9b070310a0 Disable logging 2024-02-16 14:40:29 +06:00
Cacodemon345
f9aa97e1d3 Fix text drawing on defined quadword aligned modes with CPU source 2024-02-16 14:05:50 +06:00
Cacodemon345
19b8dbb1d2 C&T: Clear bit 7 of CRTC register 0x40 on vertical blank start, fixes DirectDraw hangs 2024-02-16 12:32:58 +06:00
Miran Grča
8bf3751c98 Merge pull request #4158 from 86Box/tc1995
MGA updates for the vram detection and stuff.
2024-02-15 23:15:51 +01:00
Miran Grča
6d8f3340e8 Merge pull request #4155 from Cacodemon345/c&t_69000_vbios_size_fix
C&T 69000: Fix VBIOS size
2024-02-15 23:10:18 +01:00
TC1995
e9f0af21a0 MGA updates for the vram detection and stuff.
1. The Debian issue mystery lies around chain2_read/write being required when the LFB mapping is enabled too when MGA modes are set without blitting, however, when it is blitting, immediately tell chain2 to not interfere with the mapping. Fixes Debian once and for all as well as VRAM detection correctly while keeping existing compatibility fine.
2. Undev branch the G100 per above. (Revert if more bugs are revealed).
3. An AND with 0 is not tolerable as it nulls the LFB, fixes hang ups with Win2000 using the Millennium II and possibly the G100.
4. the Extended CRTCs now have a call for timing recalculation, fixes mode changes when blitting is going on.
2024-02-15 23:10:05 +01:00
Cacodemon345
d37b72e251 vid_tvp3026_ramdac: Implement warp-around for hardware cursor buffer32 drawing
Fixes crashes on Windows 2000
2024-02-16 01:24:35 +06:00
Cacodemon345
8166af1b77 C&T 69000: Fix VBIOS size 2024-02-16 00:59:25 +06:00
Miran Grča
0b8f02d702 Merge pull request #4153 from Cacodemon345/hwcursor-negative-y-val
vid_svga.c: Hardware cursors with negative Y values work properly now
2024-02-14 22:05:28 +01:00
TC1995
536f10c60e S3 Pre-ViRGE 32bpp fixes:
32-bit toggleable regs are now written properly, fixes OS/2 32-bit color using S3 Pre-ViRGE drivers while keeping existing compatibility fine.
2024-02-14 20:36:43 +01:00
Cacodemon345
f5995a4719 vid_svga.c: Hardware cursors with negative Y values work properly now
* Fixes cursor disappearing completely in Matrox cards in some cases.
* Allows emulated video adapters allowing negative Y values for hardware cursor to render those properly
2024-02-15 00:34:24 +06:00
TC1995
0240f11bbe Matrox MGA fixes:
1. When the 128K banking is activated, use a mask of 0xffff instead of 0x1ffff.
2. Debian uses standard VGA mapping when in chain4 mode and its lfb is adapted accordingly.
3. Fixed the decode VRAM mask on the Millennium II so that the vram is detected correctly and no more glitches.
4. Undev the Millennium II as well.
2024-02-14 17:05:28 +01:00
Alexander Babikov
9b87dbe7ba Fix warnings in vid_chips_69000.c 2024-02-14 14:57:10 +05:00
Alexander Babikov
e8406cdbc7 Rename vid_c&t_69000.c to avoid & in the filename
Apparently CMake chokes on it in a few cases
2024-02-14 14:56:16 +05:00
Miran Grča
93017fc3b3 Merge pull request #4145 from Cacodemon345/c&t_69000
Chips & Technologies B69000 emulation
2024-02-13 23:17:33 +01:00
Alexander Babikov
0e53b86d25 Move the Matrox Millennium II and G100 to the Dev branch 2024-02-13 22:28:27 +05:00
Cacodemon345
baac839d89 Unused variables cleanup 2024-02-13 17:04:53 +06:00
Cacodemon345
b95139033c Timing and name changes 2024-02-13 11:45:28 +06:00
Cacodemon345
fd33034915 1600x1200 resolution fixes
Fix source address behaviour properly
2024-02-13 11:42:15 +06:00
Cacodemon345
afa545ca25 Bit-depth fixes 2024-02-13 01:57:54 +06:00
Cacodemon345
6e35d00942 Gamma correction support 2024-02-13 01:49:43 +06:00
Cacodemon345
62135c5c8a Minor cleanup 2024-02-13 01:28:14 +06:00
Cacodemon345
40d7e626fc Fix monochrome blits for real 2024-02-13 01:15:53 +06:00
Cacodemon345
376b704cea Fix 16+ bpp text background drawing 2024-02-12 01:25:27 +06:00
Cacodemon345
9b4f98cb04 Rewritten monochrome source data handling, partially fixes text drawing under Windows 98 SE 2024-02-11 11:07:58 +06:00
TC1995
a330860b2e Fixed the Cirrus banking issue for good (really)
A bit controversial regarding extra_banks but this should be enough to fix everything in the banks of the CL-GD54xx (up to 5480).
2024-02-09 18:28:09 +01:00
OBattler
3f8952a558 More (S)VGA horizontal blanking fixes and CPU CR0 bit 4 fixes. 2024-02-09 18:02:33 +01:00
Cacodemon345
d646efc288 Fix hardware cursor in interlaced modes
Report 1280*1024 Dual Scan STN Color Panel for now
2024-02-09 12:44:43 +06:00
Cacodemon345
da3203a6c1 Force interlace to be off at 1280x1024 2024-02-09 00:20:59 +06:00
Cacodemon345
3e098b190e HW cursor position fixing 2024-02-08 16:08:05 +06:00
Cacodemon345
4a087b81c6 Fix RTL BitBlt on 16+ bpp 2024-02-08 15:51:15 +06:00