Commit Graph

166 Commits

Author SHA1 Message Date
TC1995
11d7afd578 Video changes part 3 (minor though)
1. Added an on-board S3 ViRGE DX (375) video card to the Intel AP440FX socket 8-based machine alongside its on-board CS4236B audio.
2. Sanity check for on-board S3 ViRGE devices.
2024-05-30 00:13:29 +02:00
TC1995
ff5d5273ed Video changes part 2
1. Added the Diamond Stealth 64 Video VRAM 968-based card.
2. Removed the useless VLB-based Phoenix 868 and 968 cards.
3. The Diamond Stealth 64 Video VRAM specific drivers apparently use 0x83ca-0x83cb as aliases of the RAMDAC ports 0x83c6-0x83c7 (New MMIO mode). This makes the hardware cursor visible in those drivers on win3.1 using the IBM RGB RAMDAC.
4. A few more logs and sanity checks around LFB access and MMIO as well.
2024-05-29 23:45:00 +02:00
OBattler
f4d2102734 Bochs VBE graphics card, originally by Cacodemon345, then extensively cleaned-up and improved. 2024-04-28 16:47:32 +02:00
OBattler
97ba1cd8e0 Moved the ATi VGA Wonder 18800 out of the Dev branch. 2024-03-28 00:18:30 +01:00
OBattler
ca2492e893 Added the Trident TVGA 8900 D-R. 2024-03-09 13:18:31 +01:00
OBattler
8cf8ccf3b3 Added the STB PowerGraph 64 Video (S3 Trio64V+ VLB). 2024-02-22 01:08:21 +01:00
OBattler
58a0c840c1 Added SiS 550x, 558x, 559x, (5)600, UMC UM8890, UMC UM8663 Super I/O Chips, UMC UM8673F and Winbond W83769F IDE Contollers, and a number of machines, and fixes to the UM888x 486 chipset. 2024-02-22 00:52:20 +01:00
TC1995
e9f0af21a0 MGA updates for the vram detection and stuff.
1. The Debian issue mystery lies around chain2_read/write being required when the LFB mapping is enabled too when MGA modes are set without blitting, however, when it is blitting, immediately tell chain2 to not interfere with the mapping. Fixes Debian once and for all as well as VRAM detection correctly while keeping existing compatibility fine.
2. Undev branch the G100 per above. (Revert if more bugs are revealed).
3. An AND with 0 is not tolerable as it nulls the LFB, fixes hang ups with Win2000 using the Millennium II and possibly the G100.
4. the Extended CRTCs now have a call for timing recalculation, fixes mode changes when blitting is going on.
2024-02-15 23:10:05 +01:00
TC1995
0240f11bbe Matrox MGA fixes:
1. When the 128K banking is activated, use a mask of 0xffff instead of 0x1ffff.
2. Debian uses standard VGA mapping when in chain4 mode and its lfb is adapted accordingly.
3. Fixed the decode VRAM mask on the Millennium II so that the vram is detected correctly and no more glitches.
4. Undev the Millennium II as well.
2024-02-14 17:05:28 +01:00
Miran Grča
93017fc3b3 Merge pull request #4145 from Cacodemon345/c&t_69000
Chips & Technologies B69000 emulation
2024-02-13 23:17:33 +01:00
Alexander Babikov
0e53b86d25 Move the Matrox Millennium II and G100 to the Dev branch 2024-02-13 22:28:27 +05:00
Cacodemon345
8ed622f67b Move extern into video.h (part 1) 2024-02-13 17:06:10 +06:00
Cacodemon345
31da060fef Merge remote-tracking branch 'origin/master' into c&t_69000 2024-01-29 15:55:39 +06: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
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
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
Cacodemon345
bd1a5e03b0 Somewhat-working Matrox Productiva G100 2023-12-31 02:19:11 +06:00
OBattler
b93b6d6f2b Added the Cardex S3 Trio64V+. 2023-12-29 11:12:45 +01:00
Cacodemon345
277581daea Non-working Millennium II 2023-12-29 02:13:40 +06:00
Miran Grča
1f37e27687 Merge pull request #3927 from jriwanek-forks/mystique
Un-dev matrox mystique
2023-12-23 20:49:05 +01:00
Cacodemon345
70d6d5954b MGA: Implement gamma correction for 24+ bpp modes 2023-12-24 01:46:10 +06:00
Jasmine Iwanek
933f402cc9 Un-dev matrox mystique 2023-12-23 13:27:25 -05:00
TC1995
d38ad2eb23 ATI EGA Wonder 800+ fixes.
1. Reverted the migration from ATI 18800 as the EGA code had the proper palette.
2. Add support for the 800x600 resolution required by said card.
2023-12-19 19:03:54 +01:00
TC1995
6eb05e14d5 ATI EGA Wonder 800+ and 18800 refactoring:
1. Proper cleanup of the code.
2. Migrate the card in question to the VGA class list as it's actually a rebadged VGA Edge (thus 18800).
3. Some VGA only features are not supported on this card and are documented in the recalctimings.
2023-12-18 23:43:37 +01:00
Jasmine Iwanek
7d9b10d556 Correct undevbranching of the Matrox Millenium 2023-12-16 14:35:52 -05:00
TC1995
e4696aa2e9 Undev branch the Matrox Millennium since it is now mostly usable. 2023-12-16 20:17:55 +01: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
7ec58da46f Config clean-ups, auto-pause, 4:3 integer scale, and more parameters. 2023-10-13 23:30:31 +02: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
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
3a0ddc2087 More linting in src/include/86box 2023-08-23 04:15:58 -04: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
Jasmine Iwanek
bd6508350b Yet more tabs to spaces 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
1907026518 Update video.h
Fixes a possible conflict.
2023-08-12 00:22:54 +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
dbf9ef66fc Moved Voodoo initialization to the very end to minimize the likelihood of SCSI adapters ending up on the bridge. 2023-08-10 01:37:33 +02:00
BurnedPinguin
f9a6295a3c Add the PB450 with MicroFirmware Phoenix 4.05 BIOS. The stock 1.0A BIOS... (which is the only stock BIOS we have for the PCI version of this board) is currently exhibiting setup utility issues and other POST issues. It will be added later as part of the BIOS switching feature. 2023-07-23 16:50:12 +02:00
BurnedPinguin
c26327d9e2 Add the DEC Venturis 4xx 2023-07-22 23:06:43 +02:00
Cacodemon345
ee7a2bba46 Merge remote-tracking branch 'origin/master' into c&t_69000 2023-07-21 01:27:21 +06:00
Cacodemon345
0d8071ff77 C&T 69000 (broken) 2023-07-21 01:27:19 +06:00
TC1995
cb06b9e78f Video features and fixes:
Added the Mach8 and Mach32 ISA/VLB/PCI cards (initial implementation and MCA coming soon for the Mach32) and their corresponding EEPROM's.
Added INMOS XGA ISA card and updated the SVGA core to reflect its mapping as well as the Mach8/32 mapping when in 8514 monitor mode.
Mark the XGA button as already checked and locked when a standalone XGA BIOS card is present like the INMOS one. (QT only)
Same concept as above, but applies to the Mach8 and 32 for the 8514 option as well. (QT only)
2023-07-14 23:38:04 +02:00
Jasmine Iwanek
1116aadb6f Another round of sonarlint work 2023-07-04 10:53:44 -04:00
Jasmine Iwanek
6c1e4a8e2c Some code smell fixes from sonarlint 2023-05-15 19:25:56 -04:00
Jasmine Iwanek
a7236a9022 Make dual video card code use array 2023-02-06 07:29:18 -05:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
bd75bc141a Header cleanups
Tabs to spaces
Consistency
2022-11-13 21:15:47 -05:00
Jasmine Iwanek
b6466ba266 Voodoo3 3500 SI 2022-11-10 18:10:17 -05:00
Jasmine Iwanek
7c2c1e985d Falcon Northwest Voodoo3 3500 SE 2022-11-10 18:10:10 -05:00