Commit Graph

98 Commits

Author SHA1 Message Date
TC1995
958c2be839 Added a proper VLB variant to the TGUI9440AGi
See above.
2024-01-16 23:42:12 +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
RichardG867
9bcece63fc Fix some random comments which have been bugging me 2023-11-10 17:27:30 -03: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
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
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
Jasmine Iwanek
28db0d37df Merge branch 'master' into tc1995 2023-08-23 14:46:28 -04: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
Jasmine Iwanek
506d548b38 More linting in src/video 2023-08-23 00:50:52 -04:00
Jasmine Iwanek
375f69ed61 Fix more compile warnings 2023-08-15 13:28:04 -04:00
Jasmine Iwanek
02e41927e3 Dribs and drabs which have escaped 2023-08-12 13:07:00 -04: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
ce5e21f870 More warning and compile fixes. 2023-08-08 15:38:40 +02:00
OBattler
c30d5d90b7 PCI and IRQ rework, pci.c rewritten from ground up, fixes numerous issues such as the bridge being added when the number of normal PCI devices equals the number of normal PCI slots, Windows 95 PCI operation on Intel 430NX, sharing of PCI IRQ's with non-PCI level-triggered devices, having both configuration mechanisms operating at the same time (ALi M1435), etc., and makes the code much more readable. 2023-08-07 03:04:52 +02:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
a40630ba63 Even more tabs to spaces 2023-01-07 14:09:51 -05:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
TC1995
25fdf51637 S3 80x: added 0xe2e8/0xe2e9 ports in MMIO mode, fixes garbled fonts when using MMIO in those chips.
S3 (all): Fixes to the commonly used accel commands (0, 1, 2, 6, 7) to make the OS/2 software cursor to not bug on the left edge of the screen.
TGUI: Reworked the non-bitblt commands as well as the accel pitch and bpp modes.
2022-11-17 17:37:11 +01:00
TC1995
e0ce67bd7f Fixed LFB access on the VLB front of the TGUI9440AGi.
Fixed Bresenham infinite loop when error term is > 0 alongside CX being 0.
2022-11-13 16:35:30 +01:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
Jasmine Iwanek
d94ae73ef7 Fix more I2C related bugs in the 9400CXI 2022-07-22 21:58:03 -04:00
Jasmine Iwanek
924408cf58 Fix crash in TGUI 9440CXI 2022-07-22 21:30:57 -04:00
OBattler
1d0177289a PCI graphics cards initialization fixes. 2022-07-19 00:15:25 +02:00
Cacodemon345
8a3367ff6f Multi-monitor support (backend preparation part) 2022-07-03 01:18:23 +06:00
Jasmine Iwanek
d28cec126a src/video 2022-04-12 17:26:07 -04:00
Jasmine Iwanek
3b73ce330c src/video 2022-03-18 18:07:09 -04:00
Jasmine Iwanek
801f81fbda clean up device_config_t formatting 2022-02-26 23:31:28 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
OBattler
6f2b93923c A lot of fixes - everything now seems to work properly. 2022-02-03 03:10:06 +01:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
TC1995
45d99c2039 Added FastLine accel command to the TGUI96xx family of chips (TGUI9440 doesn't have this command). Fixes missing lines in various places using IOData TGUI96x0 OEM drivers for Win9x (PC/AT compatible). 2022-01-30 17:04:41 +01:00
TC1995
03cae5c668 Removed excess logs of the tgui9440/96x0. 2021-12-01 18:49:53 +01:00
RichardG867
5af0db8075 Fix ROM filename casing 2021-11-21 13:33:22 -03:00
RichardG867
0de137daf7 Merge branch 'master' of https://github.com/86Box/86Box into cleanup30
# Conflicts:
#	src/include/86box/machine.h
#	src/machine/m_at_socket7.c
#	src/machine/machine_table.c
#	src/video/vid_tgui9440.c
#	src/win/win.c
2021-11-14 13:45:37 -03:00
RichardG867
485403ac65 Fix TGUI DDC read bug 2021-11-10 15:37:12 -03:00
RichardG867
a34ebbc44c Reintroduce TGUI DDC 2021-11-05 20:45:34 -03:00
OBattler
b75d9a2001 And back. 2021-09-03 16:42:39 +02:00
Miran Grča
b0ec4e1ece Merge pull request #1652 from 86Box/master
Brought the branch up to par with master.
2021-09-03 16:41:24 +02:00
OBattler
81db8ea205 I have to do this, apparently. 2021-09-03 16:41:11 +02:00
OBattler
03253ec93c Trident changes to make merging easier. 2021-09-03 16:40:07 +02:00
TC1995
87abf37e2f Added Short Vector accel command to the TGUI cards and some cleanups and fixes. 2021-09-02 15:21:20 +02:00
OBattler
67367798a7 Merged various SMC FDC67C6xx Super I/O chips into one file, re-added the UMC88xx 486 chipsets (and four machines for it) based on work by tiseno100 and my own work, various other fixes, and added quite a few machines (including the AOpen AP5VM which now works), also added the remaining ALi M6117 machine (Protech SBC with Award BIOS), and made the Intel Advanced/ATX's on-board S3 Trio64V+ work, as well as the on-board S3 Trio64/V2 of the two Compaq Presarios. 2021-08-21 18:19:10 +02:00
TC1995
9673cc8f9c Fixed pitch bugs on NT 4.0 using the TGUI9440/96x0 cards, should work fine by now (tested on my end though). 2021-08-17 14:08:42 +02:00
TC1995
fd5ac14f26 Fixed scrolling anomalies in the EGA and SVGA card cores for Commander Keen to work right without glitches. 2021-07-12 22:12:27 +02:00
TC1995
40b593d3ad Added the TGUI9660 and fixed a compile bug (technically a 32-bit color bug) in said card and the 9680.
Added I2C/DDC support to the 9660 and 9680 as well as PCI IRQ support.
Extended the MMIO base addressing to 4MB for the 9660/9680.
2021-07-11 15:06:23 +02:00
OBattler
49232557d7 TGUI96x0 banking fixes. 2021-07-09 23:58:56 +02:00
Miran Grča
0297243a50 Trident TGUI9680 linear framebuffer PCI BAR is now correctly 4 MB aligned. 2021-07-06 19:40:16 +02:00