Commit Graph

1288 Commits

Author SHA1 Message Date
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
OBattler
356ac8acbe Fixed the two warnings in video/vid_s3.c. 2024-01-03 23:56:58 +01:00
TC1995
b7a4fa2a7c S3 refactoring:
1. Made the 924 BIOS use the AT&T 491 ramdac since it supports such (tested).
2. Tweaks to the 928 Brooktree ID detection to make sure the cursor is shown correctly in 16bpp+ modes (it uses the BT485 ID detection so that it knows what BT is using to accommodate the cursor model).
3. Refactored the mode (CRTC50) and pitch timing stuff (moved to recalctimings for example) so that drivers/games/operating systems and what not can be used normally. (Warning, more stuff is to be tested due to a gazillion of combinations used by said stuff).
4. VRAM wraparound is now working as it should, fixes Commander Keen games.
5. Indentation fixes.
6. Attempt to fix 15/16bpp mode acceleration used by the 911/924 chips (not perfect and still has bugs).
7. Added the remaining missing stuff of the Sierra SC1502x RAMDAC including its 8BIT setting.
8. Some drivers use FIFO bits in non-FIFO configurations, should fix hang ups in some instances (namely the 928 S3 2.3 NT 3.1 drivers and possibly more).
9. Separated the 911/924 acceleration from the 80x/928+ one though the use of a function pointer.
10. Fixed the inverted colors in some instances using the S3 Trio64 driver in Win9x (mainly on soft reboots).
11. CX/CY (non-Blits) and DX/DY (Blits) wraparound correctly during their respective operations, fixes OS/2 software cursor once again while keeping existing stuff working.
12. Added some comments to keep track of some anomalies.
13. Fixed some badly formatted if's and switches.
14. Limited the SPEA Mercury Lite VRAM to 1MB per real world configurations.
2024-01-03 22:58:18 +01:00
Miran Grča
72ff425fe0 Merge pull request #3981 from Cacodemon345/mga-g100
Make Matrox Productiva G100 usable as secondary display
2024-01-02 11:37:38 +01:00
Cacodemon345
64c930f95f G100 is now correctly added as AGP device 2024-01-02 14:34:12 +06:00
Cacodemon345
318403b133 Fix G100 VBIOS mapping 2024-01-02 14:12:02 +06:00
Cacodemon345
af5aafbc0e Make Matrox Productiva G100 usable as secondary display
Confirmed working in Windows 98 SE at least
2024-01-02 13:49:22 +06:00
Miran Grča
4324650a4e Merge pull request #3979 from Cacodemon345/mga-g100
MGA: Fix busmastering under Windows 2000
2023-12-31 17:54:00 +01:00