Commit Graph

1086 Commits

Author SHA1 Message Date
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
TC1995
9808f62921 Compile fix, now the ATI 68860 RAMDAC is using the proper 8514/A ON flag when needed. 2023-08-15 01:25:28 +02:00
TC1995
59811075db New batch of ATI Mach8/32 changes:
1. Hopefully fixed the passthrough stuff for good and fixed typo's in the IBM 8514/A poll function about the cursor.
2. Eliminated the ibm8514_on global variable in favor of a struct variable to be consistent with XGA.
2023-08-15 00:11:56 +02:00
OBattler
b203b28350 Assorted copyright header fixes. 2023-08-14 21:51:47 +02:00
OBattler
27c56f608d Compaq 386 machine fixes and Compaq EGA palette mux timer, fixes #3494. 2023-08-14 05:00:56 +02:00
Jasmine Iwanek
02e41927e3 Dribs and drabs which have escaped 2023-08-12 13:07:00 -04:00
Miran Grča
9be5d17061 Merge pull request #3549 from 86Box/tc1995
More ATI Mach8/32 changes:
2023-08-12 19:02:22 +02:00
cold-brewed
99cdd3a16a Various warning cleanups 2023-08-12 11:42:11 -04:00
TC1995
81a770001b Shouldn't have separated the 8514/A BPP from the VGA one, dang. 2023-08-12 15:17:54 +02:00
TC1995
a7f23e63c0 More ATI Mach8/32 changes:
1. Separated the 8514/A compatible BPP from the (S)VGA BPP.
2. Corrected clocks, fixes severe dropdown issues in most renderers.
2023-08-12 14:56:34 +02:00
OBattler
33471594f4 First batch of video fixes, also fixes the MDA timings. 2023-08-12 01:16:49 +02:00
TC1995
fea7eb0aad And forgot the ICS2494 updated clocks for the ATI cards. 2023-08-12 00:13:29 +02:00
TC1995
f240e8cb0c Video changes:
1. The passthrough from VGA to 8514/A and/or 8514/A to VGA no longer relies on hackish places where to switch from/to, instead, relying on port 0x3c3 of VGA doing so (though the Mach8/32 still needs some places where to manually switch from/to, mainly the MCA one when configuring the EEPROM).
2. Implemented the MCA behalf of the Mach32 and its corresponding reset function.
3. Properly implemented (more or less) true color, including 24-bit BGR rendering
4. Other fixes such as color patterns and mono patterns being more correct than before in various operating systems and in 24-bit true color.
5. Implemented the onboard Mach32 video of the IBM PS/ValuePoint P60 machine.
6. Made the onboard internal video detect when it's 8514/A compatible or not (CGA/EGA/MDA/VGA/etc.). If the former is selected, then the video monitor flag is used instead (for QT).
7. The TGUI9400 and 9440, if on VLB, now detect the right amount of memory if on 2MB.
8. Initial implementation of the ATI 68875 ramdac used by the Mach32 and made the ATI 68860 8514/A aware when selected with the Mach32AX PCI.
9. Separated the 8514/A ramdac ports from the VGA ramdac ports, allowing seamless transition from/to 8514/A/VGA.
10. Fixed a hdisp problem in the ET4000/W32 cards, where it was doubling the horizontal display in 15bpp+ graphics mode.
11. Removed the 0x3da/0x3ba port hack that was on the Mach8/32 code, relying on the (S)VGA core instead.
12. Reworked and simplified the TGUI9440 pitch register based on logging due to no documentation at all.
2023-08-12 00:00:46 +02:00
OBattler
7e76e8b28d PIC and Hercules Plus compile warning fixes. 2023-08-11 21:02:15 +02:00
OBattler
6a022039bd More Hercules Plus and InColor fixes. 2023-08-11 05:42:08 +02:00
OBattler
4e9d208ce7 Fixed text mode wrapping on the Hercules Plus. 2023-08-11 05:03:26 +02:00
OBattler
a2b7a175a9 Fixed Hercules InColor text mode wraparound, fixes #3520. 2023-08-10 16:47:12 +02:00
OBattler
9f4ae7030e ACPI and Vodoo 3/Banshee PCI/AGP card adding fixes, fixes #3535. 2023-08-10 16:10:59 +02:00
OBattler
5397388a1b Hercules Plus RAM font fixes. 2023-08-10 05:54:09 +02:00