Commit Graph

1500 Commits

Author SHA1 Message Date
GreaseMonkey
257cf0d1a2 Remove the "reset horizontal fine scroll on split screen" VGAism from EGA 2024-01-23 17:07:27 +13:00
GreaseMonkey
e5000f7419 Fix fine scroll wobbling in EGA when calling ega_recalctimings
Closes: GH-4072
2024-01-23 17:03:33 +13:00
GreaseMonkey
9844cbc245 Add 8-dot hscroll compensation to EGA graphics modes
This is in lieu of whatever the correct emulation would be (as per the text modes).
Somehow I forgot to add this when reworking the fine scroll implementations.
2024-01-23 16:03:42 +13:00
BurnedPinguin
325c27de70 Merge branch '86Box:master' into machine_23 2024-01-18 11:51:46 +01:00
BurnedPinguin
5e59cb17cf Conflict resolution. 2024-01-18 11:45:21 +01:00
OBattler
19af46a8c2 Some more mouse helper functions and fixed the video warnings. 2024-01-17 03:59:56 +01:00
TC1995
958c2be839 Added a proper VLB variant to the TGUI9440AGi
See above.
2024-01-16 23:42:12 +01:00
TC1995
56631fac30 More fixes to the RTG series:
1. Make the RTG VGA series work on XT's.
2. The RTG3105 is limited to up to 512K of memory, not 1M.
3. Fixed rowoffset in 8bpp mode used by the RTG3105.
2024-01-16 19:03:54 +01:00
TC1995
e25fadc138 S3 true color update.
Reset bit 4 of the Misc Index register (from port 0xbee8) on mode changes.
2024-01-15 23:04:36 +01:00
TC1995
82311551d2 XGA changes:
Cleanup the area fill side.
2024-01-15 22:35:41 +01:00
TC1995
a74c1e907d Added the RTG3105 video card and fixed some wrong stuff in the RTG3106 as well. 2024-01-15 22:10:07 +01:00
TC1995
69572283f3 TGUI9440AGi/96xx changes:
If the chips are PCI-based, assume linear addressing is always enabled when the linear base is on valid value (e.g.: not 0). Should fix a regression when linear addressing is used by almost everything in the PCI world (e.g.: Win95's drivers).
2024-01-15 21:52:39 +01:00
TC1995
d17d13e3b8 ATI Mach8/32 mode changes and cleanup:
1. Cleanups and moving the mach8/32 struct to a dedicated header so that would allow for future 8514/A add-on clones (in paper).
2. Mach8/32's port 0x4ae8/9 and shadow set ports (0x5aee and 0x46ee) now account to the mode changes seriously, should fix most of the horizontal/vertical coordinates while entering GUI modes of various stuff.
3. Horizontal/Vertical window coordinates can only be modified if the display enable bit of port 0x22e8 is set as well as bit 0 of port 0x4aee, fixes most problems noted above.
4. Implemented horizontal blanking stuff a la VGA but actually for 8514/A and clones (like ATI).
5. Added some comments regarding the current situation.
6. The Mach8 was actually a 8514/A clone co-processor, not a single solution card of its own. The ATI Graphics Ultra was a single solution card that is actually a Mach8 + ATI 28800-6 in one, so renaming it accordingly.
7. Fixed garbled/distorted acceleration when device bitmap acceleration is enabled in the ATI Mach8 3.0 Win3.1 drivers.
2024-01-15 21:43:33 +01:00
OBattler
481b8c8b22 Tseng improvements. 2024-01-15 18:42:32 +01:00
OBattler
2354a25231 Voodoo 3/Banshee: Disable SVGA line doubling in video processing modes, fixes #2629. 2024-01-15 03:55:06 +01:00
OBattler
780f74bca0 S3: Fix 256-color modes on the Phoenix S3 Vision 968. 2024-01-14 01:40:24 +01:00
OBattler
b1c292a9e9 Sanitized the horizontal blanking adjustments a bit and fixed 640x480x8bpp on some S3 cards. 2024-01-13 22:04:20 +01:00
TC1995
de1e98d3ec Corrected S3 864 horizontal display. 2024-01-13 17:10:00 +01:00
Cacodemon345
2390d2d2ae MGA: Do not reset DWORD expected counter while SOFTRAP read is still pending
Fixes Matrox Simple Interface games without breaking Windows 2000 drivers
2024-01-13 13:38:19 +06:00
OBattler
996530a94e Horizontal blanking calculation now takes into account horizontal timings multiplications and divisions, fixes a lot of S3 (and ViRGE) modes. 2024-01-13 03:54:56 +01:00
OBattler
ca4f5bad13 More horizontal blanking calculation fixes (and actually use blank start, not retrace start), fixes graphics cut-off on Voodoo on Windows 98 SE. 2024-01-13 00:41:45 +01:00
OBattler
38ef7fa1c3 CL-GD 54xx: Actually use display start and end for horizontal blanking timings in the special blanking mode. 2024-01-12 23:20:01 +01:00
OBattler
d2674c8dbb Fixed the Cirrus horizontal blanking calculation, fixes #4029. 2024-01-12 21:07:21 +01:00
OBattler
2042764bee Merge branch 'master' of https://github.com/86Box/86Box 2024-01-11 14:43:01 +01:00
OBattler
cd0636ee04 Fixed horizontal retrace start and end extensions on almost every applicable card, fixes #4025. 2024-01-11 14:42:54 +01:00
Cacodemon345
2b3ebf9101 vid_cl54xx: Revert changes made to special blanking mode 2024-01-11 11:08:11 +06:00
OBattler
553e58f8ef Remove an unnecessary subtraction proven to be wrong by the S3 and IBM documentation and that was a result of VGADOC being vague. 2024-01-11 02:11:23 +01:00
OBattler
3010ce4f8a Minor ATi fixes. 2024-01-11 02:07:21 +01:00
OBattler
c4aa4e8889 A minor change to video/vid_svga.c. 2024-01-11 01:56:32 +01:00
OBattler
fe52ecc3da GreaseMonkey's comments in vid_svga.c. 2024-01-10 23:44:27 +01:00
OBattler
d00dafcf16 Apply it to ATi 28800 and Mach 8 as well. 2024-01-10 23:30:48 +01:00
OBattler
0090000f85 HT216-32: Apply the blanking calculation. 2024-01-10 23:25:16 +01:00
OBattler
03a1f783f2 ATi Mach64: Override (S)VGA horizontal blanking calculation in accelerator CRTC mode. 2024-01-10 22:41:13 +01:00
Cacodemon345
8e9a2e0b79 Apply blanking extensions to more SVGA cards.
* Fix duplicated logic in vid_svga.c
* Voodoo 3/Banshee emulation now has blanking extensions applied
* S3 ViRGE and Matrox video cards as well
* Tseng ET4000-series cards as well
* Fix off-by-one error in vid_cl54xx.c

Trident cards are yet to be investigated. XGA and 8514/A are yet to be made blanking extensions compliant. Mach64, Paradise/WDC and OAK OTI cards remain as-is for now.
2024-01-11 01:48:49 +06:00
OBattler
d125caf776 Applied the blanking extensions to S3 Trio64V+ and V2/DX. 2024-01-10 09:27:07 +01:00
OBattler
0a8b4d061c Conflict resolution. 2024-01-10 08:59:46 +01:00
OBattler
79874ad3d5 EGA and (S)VGA: Removed a leftover if block around overscan Y, fixes garbage overscan Y values causing crashes. 2024-01-09 17:38:54 +01:00
GreaseMonkey
bad7c6490e Rework EGA overscan to be compatible with the unit tester
By the way, text mode scrolling at least seems to be correct now
2024-01-09 17:32:38 +13:00
GreaseMonkey
22ead81b80 Fixes for EGA scrolling 2024-01-09 17:20:31 +13:00
OBattler
39258ecdeb And added even more sanity checks. 2024-01-08 13:27:24 +01:00
OBattler
1e5aa13529 Default the previous pixel to black if prev < 0. 2024-01-08 13:23:48 +01:00
OBattler
354c537469 Added 3 CGA line doubling types, in order from the lowest to the highest quality, and the IBM 5153 monitor (per VileR's colors) which is now default, closes #3105. 2024-01-08 00:07:00 +01:00
OBattler
67d8ebba51 S3: Correct line lengths and introduce s3_log(). 2024-01-07 20:54:48 +01:00
TC1995
c5e321ca92 S3 changes again:
1. Moved the wraparound fix to the respective recalctimings, makes Commander Keen still playable without flickering and, at the same time, making Solaris work right in 640x480x8bpp+ mode (including 1024x768x8bpp).
2. The multifunction index 0x0e bit that can be toggled in 32bpp mode is now initialized properly, should fix the pinkness on Solaris' 32bpp mode.
2024-01-07 20:36:50 +01:00
GreaseMonkey
258c55dcd3 EGA, (S)VGA: Fix vertical fine scroll behaviour
Ref: GH-4001
2024-01-07 09:04:25 +13:00
OBattler
a1ef3c47fc 8514/a and ATi Mach 8: Fix the recently introduced warnings. 2024-01-06 00:05:43 +01:00
TC1995
4b52a514bd Huge fixes to 8514/A compatibles:
1. Properly implemented polygon filling in the BitBLT side of the ATI 8514/A compatibles (Mach8/32), this allows games like Mj8514 and demos like HDIDEMO from IBM to run under ATI's hdiload 1.1 properly.
2. Finally figured out the polygon filling command in the IBM one about read and write masks (Command 5 and Command 2 with polygon filling bits on, currently only for the read mask one), this allows the above samples to render properly with IBM's original hdiload 1.0 from 1987.
2024-01-05 21:22:01 +01:00
TC1995
6b1d0b9e88 S3 mode fixes 2 and one small accel cleanup:
1. Fixed 16bpp modes (including 15-bit) of the Trio32/64 that were doubling their horizontal resolution.
2. Made Bresenham Line easier to work with.
2024-01-05 21:11:49 +01:00
TC1995
4317155167 S3 mode fixes (1.5):
1. Actually fix the one in 32bpp mode (968 only).
2024-01-04 00:27:50 +01:00
TC1995
45df94c954 S3 mode fixes (1):
1. Fixed the Elsa Winner 2000 Pro-X/8 (964 and 968) 15/16/32bpp modes at 1280x1024+.
2024-01-04 00:22:47 +01:00