Commit Graph

1370 Commits

Author SHA1 Message Date
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
2391c11260 More clean-ups and mouse fixes. 2023-08-11 22:29:53 +02:00
OBattler
782015a923 More mouse and PIC fixes and the mouse now takes of the ration between guest resolution and actual render area size, multiplied by the DPI, when returning coordinate deltas, also unified the delta return function across the various emulated mice. 2023-08-11 04:45:32 +02:00
Miran Grča
e55b06da4c Merge pull request #3534 from jriwanek-forks/sonarlint
Yet more Sonarlint and a few warning fixes.
2023-08-10 05:13:47 +02:00
Jasmine Iwanek
81bb5e564b Better fallthrough annotation macro. 2023-08-09 20:09:36 -04:00
OBattler
a0a26a5504 Merge branch 'master' of https://github.com/86Box/86Box 2023-08-10 01:37: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
cold-brewed
15013e1ede Added new platform function to get cpu string (#3533)
Co-authored-by: cold-brewed <cold-brewed@users.noreply.github.com>
2023-08-09 18:12:27 -03:00
OBattler
b1c5cbaf47 Split the 286/386 interpreter away from the 486+ one (the 286/386 interpreter does not use the pccache's, readlookup's, and writelookup's as the emulated CPU's are too slow for them to be required, and also has more accurate FPU timings), also added a LPT status read function for future-proofing. 2023-08-08 19:39:52 +02:00
OBattler
c695cb8ded Completely reworked mouse handling - should now be smoother due to there no longer being a multi-layered game of telephone going on with all the various interim coordinate counters, also rewritten the serial mouse emulation ground ground up. 2023-08-07 18:49:58 +02:00
OBattler
cdb415ef0f Turned serial_attach() into a #define for serial_attach_ex(). 2023-08-07 17:41:13 +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
cb774d3ce2 sonarlint vid_mda.c 2023-07-31 15:20:30 -04:00
Jasmine Iwanek
02ca9f5766 sonarlint vid_vga.c 2023-07-31 15:20:29 -04:00
Jasmine Iwanek
a65c2164e0 sonarlint vid_ega.c 2023-07-31 15:20:29 -04:00
Jasmine Iwanek
b4ebfc3369 sonarlint vid_cga.c 2023-07-31 15:10:53 -04:00
Jasmine Iwanek
2d7c62c853 sonarlint vid_xga.c 2023-07-31 15:10:52 -04:00
Jasmine Iwanek
996d06d019 sonarlint vid_cga_comp.c 2023-07-31 15:10:30 -04:00
Jasmine Iwanek
478aa11172 sonarlint vid_svga.c 2023-07-31 14:58:27 -04:00
Jasmine Iwanek
22948be80a sonarlint vid_8514a.c 2023-07-31 14:53:39 -04:00
OBattler
b810d3edc1 Some small 8514/a / Mach8 fixes. 2023-07-30 02:45:53 +02:00
TC1995
d2b0d0c3c2 XGA: 16bpp mode in accelerated mode no longer shows inverted colors in various parts of some stuff (e.g.: Win3.1x, OS/2). 2023-07-27 16:01:20 +02:00
Jasmine Iwanek
bee11bcbba Fix my clang fix 2023-07-26 19:54:39 -04:00
Jasmine Iwanek
a61ebf2fea Fix mistake 2023-07-26 13:14:21 -04:00
Jasmine Iwanek
d2f42198fd Fix clang build failure 2023-07-26 12:41:18 -04:00
Jasmine Iwanek
998cfe5cc8 Constification 2023-07-25 17:59:24 -04:00
Jasmine Iwanek
ee695e71f9 More sonarlint work 2023-07-25 17:59:22 -04:00
RichardG867
8d46224893 keyboard: Rename inaccurate fullscreen hotkey function 2023-07-24 15:07:08 -03:00
OBattler
6dea8d76ea Added the secondary version of the OPTi 82c611 VLB IDE controller. 2023-07-23 15:15:25 +02:00
RichardG867
8ff45f74fd Remove legacy dynamic loading error messages 2023-07-22 18:14:22 -03:00
OBattler
eac6055103 PCI secondary channel only variant of the CMD640. 2023-07-22 21:59:38 +02:00
OBattler
2d70685ef6 Merge branch 'master' of https://github.com/86Box/86Box 2023-07-22 21:56:13 +02:00
OBattler
4eb1848ea6 CMD640 improvements. 2023-07-22 21:56:02 +02:00
RichardG867
8c2c3ac9d3 AC97: Overhaul data structures and codec finding system 2023-07-22 14:55:25 -03:00
RichardG867
d8229b6567 AC97: Add TR28023/CT1297 codec
# Conflicts:
#	src/include/86box/snd_ac97.h
2023-07-22 13:08:22 -03: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
TC1995
19fa6c8f8b Machine features and fixes:
Revamped and refactored the Compaq AT clone code, including a more correct Plasma emulation and undev branch the Deskpro 386 while adding the September 1986 and January 1988 bioses.
Added Compaq AT KBC strictly for the Deskpro 386 with the right settings, including the FPU bit.
The generic AMI/Quadtel/Phoenix IBM AT's don't issue the speed problems of the pure IBM AT beyond 8Mhz, so don't limit them to 8Mhz.
2023-07-14 22:14:56 +02:00
OBattler
ac8873802f Part 2. 2023-07-12 00:33:56 +02:00
OBattler
979bd75acb Merge branch 'master' of https://github.com/86Box/86Box 2023-07-06 19:59:54 +02:00
OBattler
78f129c8ac Rewritten the PCI Type 2 access handling. 2023-07-06 19:55:59 +02:00
Jasmine Iwanek
1116aadb6f Another round of sonarlint work 2023-07-04 10:53:44 -04:00
OBattler
e328a3c2de Added the Siemens Award keyboard controller and a small hack (will have to do due to the scarcity of information until we get ahold of an actual Siemens PCD-2L) to make the Siemens PCD-2L POST correctly again, fixes #3444. 2023-07-03 02:36:17 +02:00
OBattler
277795dc69 Fixed a compile-breaking mistake in machine.h. 2023-07-03 02:34:12 +02:00
OBattler
5b58fcfab2 The Lucky Star LS-486E and Rise R418 are now marked as having the PS/2 keyboard controller IRQ latch (new machine bus flag!) without actually having the PS/2 ports. 2023-07-02 16:58:31 +02:00
Alexander Babikov
b5bf8e63a4 Add a machine flag for machines requiring softfloat FPU and remove the existing restrictions on using dynarec and softfloat together 2023-07-02 14:43:10 +05:00
Alexander Babikov
feb6a835d2 Add a machine flag for machines with a cassette port 2023-07-01 16:58:57 +05:00
Jasmine Iwanek
922c4335ae Next round of sonarlint cleanups 2023-06-27 21:17:13 -04:00
Miran Grča
f1b10262fc Merge pull request #3402 from Cacodemon345/patch-141
Always include dirent.h on non-Windows
2023-06-27 01:35:17 +02:00
Jasmine Iwanek
21adfd4d50 Next round of sonarlint cleanups 2023-06-26 18:28:13 -04:00
Cacodemon345
fda0b5aa13 Always include dirent.h on non-Windows 2023-06-12 20:38:36 +06:00