Commit Graph

1104 Commits

Author SHA1 Message Date
TC1995
53512a2510 More S3 blitting fixes:
Toggling the RSF bit is now applied to reads too. Fixes wrong colors on Solaris using true color mode and possibly other stuff too.
2023-11-01 21:59:49 +01:00
TC1995
5c9dabdc03 S3 accel command fixes:
X/Y coordinates are corrected for real even while wrapping. Fixes Trio64V+/Trio64V2 Win9x desktop icons as well as OS/2 software cursor madness.
2023-10-31 18:54:49 +01:00
TC1995
38a6c0f1e1 Trident TGUI9440/96x0 Bresenham update:
1. Its execution is exactly (actually 99%) the same as the S3 Bresenham procedure, so I thought of making the Bresenham command of the TGUI9440/96x0 behave like the s3 one but adapted to use Trident's ports and meanings and now OS/2 and Windows lines in certain programs work fine.
2023-10-24 23:08:17 +02:00
OBattler
8184d71aa6 Removing the remaining unnecessary files that should not have been committed. 2023-10-21 08:13:22 +02:00
OBattler
28e2eb3ce5 More Sound Blaster 16+ / ViBRA 16 fixes, added optional PC speaker control via the Sound Blaster 16+ / ViBRA 16, and removed some left-over temporary code from device.c. 2023-10-21 06:53:11 +02:00
TC1995
00edd8cfbc Mach64 (both GX and VT2) 24bpp mono pattern fix placed in.
Fixes wrong colors in patterns on various operating systems and possibly other stuff too.
2023-10-20 20:41:57 +02:00
TC1995
0440d37387 Small mach32/svga mapping fix (actually fixes font rendering on win3.1x using the Mach32 2.6 drivers) 2023-10-19 01:32:52 +02:00
TC1995
da5b93d980 S3 fixes:
Bit 11 of ports 0x82e8 and 0x86e8 (Current X and Current Y positions registers, respectively) are taken into account again without conflicting with OS/2 Warp 3/4's software cursor, fixes blitting issues with Neptune Build 5111.1's S3 driver and possibly some other builds and other stuff.
2023-10-17 19:33:07 +02:00
OBattler
8464401886 Fixed a small CL-GD 5480 bug. 2023-10-17 05:39:17 +02:00
TC1995
85bdf40a1c VGA/XGA memory fix.
the XGA memory test takes account of Win3.x' XGA memory test again without conflicting XGAKIT's test, fixes DOS-based boxes using Win3.x XGA drivers in 386 mode.
2023-10-15 19:27:33 +02:00
TC1995
38e63ec9c6 Compaq Plasma fixes:
Fixed the blinking/test cursor of said built-in video on Portable III/386.
2023-10-14 20:15:04 +02:00
OBattler
7013949310 Made sure the dummy "None"/"Internal" devices never get initialized and fixed some PCI AGP bridge mess (including AGP-less 440BX/ZX/GX erroneously initializing the 440LX/EX AGP bridge), fixes #3696. 2023-10-14 06:45:45 +02:00
OBattler
531bb61146 Fxied the last warnings. 2023-10-14 00:27:33 +02:00
OBattler
dc44e37f62 Fixed the warnings reported by lemondrops. 2023-10-13 23:03:37 +02:00
OBattler
d80effddd1 Removed an unused variable. 2023-10-11 18:51:50 +02:00
TC1995
6913de32c5 More video fixes:
ATI Mach64 is temporarily unthreaded because of blitter desyncing.
ATI Mach32 now returns to ATI mode from IBM mode and vice versa more correctly.
Make the IBM 8514/A compatible poll not run if a 3D add-on card (Voodoo1/2) takes precedence (seen on a Mach32 PCI and Voodoo2 3D combo).
Finally ended the mess ups of the TGUI9440/96x0 pitch, it actually was the CRTC offset reg (SVGA CRTC 0x13) that defined it with some shifting based on the BPP.
2023-10-11 18:46:15 +02:00
OBattler
9fd8fc14ef Added sanity checks to the ATi 68860 RAM DAC code. 2023-10-11 17:52:47 +02:00
OBattler
881844dd32 Do not call 8514/A or XGA recalculate timings functions until the function pointer is non-NULL. 2023-10-10 00:49:44 +02:00
OBattler
39d10899ac Sanitized some video code to avoid #include's inside headers, and added guards to include/86box/thread.h. 2023-10-09 20:14:03 +02:00
Jasmine Iwanek
197e817ea3 Remove several unused variables 2023-10-08 13:32:43 -04:00
TC1995
097fa229bd Fix compilation. 2023-09-30 22:21:09 +02:00
TC1995
6802c0593b Video, Storage and MCA changes/fixes.
1. Cirrus Logic GD54xx, Paradise/WD VGA now reset the interlace once a text mode is issued if not done automatically.
2. Paradise/WD's 15/16bpp modes using the 800x600 resolution now have the correct ma_latch, should fix most operating systems drivers using this combo.
3. More fixes (hopefully) to the accelerated pitch and rowoffset of the Trident TGUI cards (9440AGi and 96x0XGi), should fix issues with delayed displays mode changes under various operating systems (e.g.: Win3.1x).
4. Preliminary implementation of the Area Fill command of XGA, which is issued while using various painting and/or calc utilities on Win3.1x (IBM XGA updated drivers, e.g.: 2.12).
5. Preliminary (and incomplete) 4bpp XGA mode.
6. The XGA memory test for the 0xa5 using writes (used by various operating systems) no longer conflicts with DOS' XGAKIT's memory detection.
7. Small ROP fixes to both XGA and 8514/A.
8. Re-organized the mapping of the Mach32 chipset, especially when to enable the ATI mode or switching back to IBM mode, should fix LFB conflicts with various operating systems.
9. According to The OS/2 Museum, the Adaptec AHA-154xB series of SCSI cards fail the ASPI4DOS.SYS 3.36 signature check, so now make the changes accordingly.
10. Remove useless and crashy bios-less option of the Trantor T128.
11. The Image Manager 1024 card can also be used on a XT (although only if it has a V20/V30).
12. Re-organized the IBM PS/2 model 60 initialization as well as its right POS machine ID (though an update to sc.exe is still required for the POST memory amount to work normally).
2023-09-30 22:08:08 +02:00
OBattler
5f83768d98 Fixed includes in video/vid_s3.c. 2023-08-24 01:13:39 +02:00
OBattler
46b086cf22 Missing header include in video/vid_s3.c. 2023-08-24 01:06:38 +02:00
OBattler
ca58764ac3 Unmarked fallthroughs: vid_s3.c. 2023-08-24 00:57:53 +02:00
TC1995
498bc6aa8c More 8514/A related fixes:
Replaced svga->bpp == 24 with dev->accel_bpp == 24 as well as proper ATI graphics engine offsets added to 24bpp mode in the 8514/A rectangle fill commands (cmd 2, 3, 4) as well as on a command val of 8514/A bitblt (mainly 0xc2b5, actual cmd 6). This should fix 24bpp mode under Windows/NT and other operating systems, like OS/2 2.x/Warp.
2023-08-24 00:47:26 +02:00
TC1995
23a2923724 More XGA fixes:
These make XGAKIT report 1MB of VRAM (from DOS).
2023-08-24 00:30:21 +02:00
Jasmine Iwanek
28db0d37df Merge branch 'master' into tc1995 2023-08-23 14:46:28 -04:00
Miran Grča
7f06e697cb Merge pull request #3623 from jriwanek-forks/cleaning
Latest round of sonarlint work
2023-08-23 20:42:39 +02:00
OBattler
ae231add5c The on-board CL-GD 5430's now have a NULL avilable() function. 2023-08-23 20:41:54 +02:00
TC1995
e2fbf5df3f Assorted TGUI9440/96x0 fixes:
Fixed the Win98 Trident PCI (and 9440 VLB) card accelerator pitch while maintaining compatibility with other OSes, despite being undocumented (this is at least an attempt to fix it properly based on the logs).
2023-08-23 19:58:18 +02:00
OBattler
2bff7c3910 The IBM PC330 on-board CL-GD 5430 is now correctly VLB and not PCI. 2023-08-23 18:05:58 +02:00
Jasmine Iwanek
b8c4dee3bf More linting in src 2023-08-23 04:15:58 -04:00
Jasmine Iwanek
506d548b38 More linting in src/video 2023-08-23 00:50:52 -04:00
Miran Grča
822fc070aa Merge pull request #3622 from lemondrops/xgafixes
8514/A and XGA handling refactor
2023-08-22 22:43:19 +02:00
OBattler
15281b22b6 Some S3 ViRGE fixes. 2023-08-22 21:41:08 +02:00
Alexander Babikov
ef631a8133 8514/A and XGA handling refactor:
* separate (ibm8514|xga)_enabled into (ibm8514|xga)_standalone_enabled
  and (ibm8514|xga)_active, the former being enabled only for standalone
  8514/A or XGA cards, the latter for all 8514/A and XGA-capable cards
  and not saved into the config file;
* remove (ibm8514|xga)_has_vga and replace all uses of it with
  (ibm8514|xga)_standalone_enabled;
* Qt UI: the checkboxes for standalone 8514/A and XGA are now correctly
  grayed out if an (S)VGA card with 8514/A or XGA capability is selected,
  including cases when the card is an internal/onboard one; said cards are
  now no longer appear as SVGA multi-monitor compatible.
2023-08-22 23:48:32 +05:00
OBattler
13e5ab3157 The MDA now also honors font base, fixes #3261. 2023-08-22 17:12:16 +02:00
OBattler
c16e151365 Corrected the Hercules Plus 48 RAM Font mode attributes, fixes #3529. 2023-08-20 03:59:54 +02:00
TC1995
63b5e7e052 MCA Cirrus 2401 fix.
Eliminate the 2401 display error on MCA machines using the Cirrus cards.
2023-08-17 17:50:36 +02:00
OBattler
debed8d196 Re-add XGA ROM reading. 2023-08-16 00:10:38 +02:00
TC1995
cf7b49a52f Pitch fix for Mach8/32.
Fix minor bug in the pitch when it was not being issued correctly in the Mach8/32.
2023-08-15 22:47:29 +02:00
OBattler
6906db6d3b Mach8 and XGA logging clean-ups. 2023-08-15 22:30:55 +02:00
TC1995
3856f9700c Switched back to the "Graphics Ultra Pro" ISA-based BIOS as we found
the true culprit behind the "brokeness" which is that bit 4 of reg 0xBD of the ATI regs must be set in the reads.
2023-08-15 22:12:30 +02:00
Jasmine Iwanek
bd6508350b Yet more tabs to spaces 2023-08-15 13:28:04 -04:00
Jasmine Iwanek
375f69ed61 Fix more compile warnings 2023-08-15 13:28:04 -04:00
OBattler
f7b5a566cb Added the OPTi 82c602, on-board CL-GD 5430, and also gave the PC87306 Super I/O chip its full NVR capabilities, fixes #2877. 2023-08-15 06:45:02 +02:00
TC1995
684276f48b Compile fix (4).
Please...
2023-08-15 01:58:11 +02:00
TC1995
2df1f38c6e Compile fix (3).
And changed the ATI Mach32 ISA bios to a working one (phew).
2023-08-15 01:47:37 +02:00
TC1995
80c645e821 Compile fix (2), same thing but for the ATI 68875 RAMDAC. 2023-08-15 01:33:17 +02:00