Commit Graph

1837 Commits

Author SHA1 Message Date
TC1995
9c111584b5 Big video changes of the day (October 26th, 2024)
8514/A/Mach8/32:
Reworked the acceleration a bit as well as the mode switches from VGA to ATI/8514/A mode and viceversa based on the documentation. Fixes the Linux GUI fonts using the Mach32 driver (possibly Mach8 too) and other anomalies (still needs more work on the acceleration though).

PVGA:
Minor fixes to the banking.

S3-based (Pre-ViRGE):
1. Made the chip class use its own banking so that the Enhanced Mode mapping (equivalent to 64K-based A0000) is taken into account (per bit 3 of CRTC31, which forces the mapping to be 64K A0000, regardless of the GDCREG6 bits). Fixes NT 3.1 347.1's S3 driver.
2. Initial rework on 15bpp/16bpp accelerated mode of the 911/924 chips (currently not 100% bug free, I need help with this chips).

XGA-1/2:
Get rid of the linear endian reverse variable hack used by OS/2 and, instead, use the already declared ones more wisely, fixes OS/2 2.1 reversed fonts and keeps everything else working as it should.

Misc:
Added the BT481 RAMDAC for future card use.
2024-10-26 21:32:47 +02:00
TC1995
f102fee497 Major video changes of the day (October 3rd, 2024)
8514/A changes:
1. Correct interlaced display resolution.
2. Added a limit to cursor coordinates.
3. Test/WIP features of the add-on Mach8 side (ATI 8514/A Ultra) such as configurable BIOS.
4. Made the CMD 5 of the acceleration (Polygon Boundary) more accurate per manual (as much as I could regarding the clipping).

Cirrus related:
1. Added SUBSYS PCI vendor/device ID of the 5480 (per manual).

IBM VGA:
1. Built-in/option rom-less VGA don't need the "available" flag.

ATI Mach8/32:
1. As with 8514/A, corrected interlaced display.

XGA-1/-2:
1. Moved the XGA R/W memory size tests out of the SVGA R/W routines to reflect the per card basis, although anything that uses its own SVGA mapping would call the tests there (such as Cirrus, Headland and ATI) when not accessing the LFB. This finally puts an end to the XGA MCA mapping enabling bugs.
2. Re-organized the ISA standalone and non-standalone (INMOS) sides of the chips so that they work properly and remove the FILE rom loading hack from init.
3. The Memory Mapped R/W sides now account for instance in their address range.
4. INMOS only: prevent any ROM address access to anything lower than 0xc8000 to not conflict with the main BIOS rom loading.
5. Fixed native pitch by using the correct register, this fixes non 1024x768 resolutions under NT.
6. More logs when enabled to see any future bugs.
2024-10-03 14:56:23 +02:00
OBattler
9ff72338d1 Voodoo: Attempt to implement the 16bpp + depth combined writes. 2024-09-28 13:33:43 +02:00
OBattler
d6a01a102b CGA and Tandy 1000 HX/SX: Properly implement the light pen strobe. Jungle Hunt's palette changed area still moves, that's a PIT bug, I'm going to look into that again in 5.0 when I go back to porting 808x etc. from MartyPC. 2024-09-25 14:13:00 +02:00
OBattler
7068655343 CD-ROM: Implement not ready to ready transition in a cleaner and better way, fixes #4805. 2024-09-18 08:01:38 +02:00
TC1995
cb6286a1de Add a proper 1MB capable ATI 28800-6 BIOS
The ATI VGA Wonder 1024D XL Plus.
2024-09-15 19:48:58 +02:00
TC1995
f4303dfce2 XGA changes of the day (September 5th, 2024)
Don't overwrite the VGA DAC mask in XGA mode, instead, using dedicated variables for it.
2024-09-05 01:06:34 +02:00
OBattler
7b6e5e5ad9 Implements the second CMDFIFO2 queue for Voodoo 3, fixing BeOS's Voodoo 3/Banshee drivers, fixes #4794. 2024-09-04 15:22:24 +02:00
OBattler
91cf90c63a Olivetti M19's video adapter has control register on port 3DBh instead of 3DEh, fixes #4739. 2024-08-30 07:52:55 +02:00
OBattler
db94601573 Voodoo 3/Banshee: Implement XRGB8888 LFB format, fixes POD. 2024-08-30 05:22:33 +02:00
OBattler
f19a5447be Improved the SCO Xenix fix, fixes OS/2 booting, fixes #4762. 2024-08-29 01:26:32 +02:00
OBattler
c0037eaa2f Media history implementation for the remaining devices: Part 1. 2024-08-27 03:15:54 +02:00
Miran Grča
d67d86d266 Merge pull request #4723 from MaxwellS04/mirocrystal_3d
Add miroCRYSTAL 3D video card
2024-08-26 06:38:22 +02:00
OBattler
cdd01eceea QT: Restore RichardG's hard reset workaround. 2024-08-24 04:24:06 +02:00
OBattler
f9e457f3e8 Give the AP440FX the original ViRGE instead, fixes #4740. 2024-08-22 04:59:51 +02:00
MaxwellS04
ab71f9d3e2 Added the miroCRYSTAL 3D, based on a S3 ViRGE. 2024-08-16 20:36:26 +07:00
TC1995
5247214061 Video changes of the day (August 12th, 2024, S3/TGUI/SVGA))
SVGA: Added an indicator of the internal line to make matters easier for some vertical resolution problems.
TGUI 9400CXi: Fixed the basic acceleration as much as I could.
TGUI 9440AGi+: As with the line indicator, make matters easier for some resolution problems plus some refactoring of the bpp. Added write protection to some regs based on some documentation on the vt8601.
TGUI cursor: fixed the left edge of the cursor X offset.
S3: Apply the vblankstart = dispend statement only on enhanced modes, fixes vertical display on The Incredible Machine for DOS.
Commented out some excess logs.
2024-08-12 19:52:52 +02:00
Jasmine Iwanek
719efd3aa4 More DEV_BRANCH related cleaning 2024-08-09 21:46:37 -04:00
Jasmine Iwanek
892f066ffa Don't depend on DEV_BRANCH
Allows things to be compiled independently
2024-08-08 20:25:03 -04:00
Jasmine Iwanek
0219547a16 Put Wacom tablets on dev branch 2024-08-08 19:31:49 -04:00
OBattler
b172df6498 Fix SN76489 behavior and make the Tandy 1000 SX use the NCR sound chip instead (as some revisions of it shipped with that), fixes #4700. 2024-08-08 18:56:05 +02:00
OBattler
37ceea4ed0 Fix emulator-handled UI keyboard combinations when keyboard requires capture and is not captured, also fix keyboard input in full screen in such situations, fixes #4697. 2024-08-07 06:11:50 +02:00
Jasmine Iwanek
837c16f546 Less magic numbers in PIT code 2024-08-06 20:12:18 -04:00
Jasmine Iwanek
834bcd09c1 Tidy up tandy 1000 SX 2024-08-06 20:12:18 -04:00
TC1995
885a92ae62 AMD/DC390 SCSI fixes of the day (August 4th, 2024)
Ported the latest changes/fixes to the above controller from QEMU and added a bios-less AMD Am53c974 device (non-DC390).
The latest changes fix the AMD-branded DOS ASPI drivers on both cards (even without bios).
2024-08-04 22:28:39 +02:00
OBattler
6979b6a6c0 Assorted MIDI and MPU-401 intelligent mode fixes, fixes #4419. 2024-08-04 05:13:24 +02:00
OBattler
4ae901c901 Genoa Unknown 486: Port 92h controls the exact same gate as the KBC, fixes #4660. 2024-07-28 02:26:43 +02:00
OBattler
760c720352 Assorted FDC and PCjr video fixes, fixes #4659. 2024-07-28 01:00:58 +02:00
Jos van Mourik
04a7a35f27 Microtouch: add option to turn off visible mouse crosshair for people using touchscreens 2024-07-26 20:12:10 +02:00
OBattler
e377e58881 Assorted fixes and Dev branched the Matrox G100 and the PCL printer. 2024-07-26 00:39:11 +02:00
Jasmine Iwanek
81ae79c3ca Remove dead code in scsi_ncr5380.h 2024-07-24 13:11:41 -04:00
Miran Grča
79bf0b94b3 Merge pull request #4643 from Cacodemon345/libsndfile
Libsndfile
2024-07-23 19:21:54 +02:00
OBattler
59c743ed07 Implement ESS activity flags and improve the timed IRQ triggering via SB DSP commands F2 and F3, fixes ESSCFG 2.01C and the LBA 2 ES(1)688 driver. 2024-07-23 03:26:10 +02:00
OBattler
8225f270f3 Fix the generation of instantiated NVR paths, fixes #4642. 2024-07-22 19:24:15 +02:00
OBattler
95894198bf Genoa Unknown 486: Reset BIOS memory state on soft reset, fixes hangs on soft reset after saving CMOS Setup. 2024-07-22 18:26:10 +02:00
OBattler
91874e231a The monster FDC ROM is now optionally writable (also finally made the SCSI NVR's per-instance), closes #4623. 2024-07-22 03:19:40 +02:00
OBattler
3ccca3991f More moving of SB IRQ's onto a rimer, fixes #1942. 2024-07-22 02:43:24 +02:00
OBattler
fd00bcca8b Backported the kbc_at_set_ps2() function required by the VL82c113. 2024-07-22 00:12:12 +02:00
OBattler
fc714e7270 Backported the VLSI 82c113 Super I/O chip from my branch because of two machines we already had that require it. 2024-07-22 00:07:39 +02:00
Miran Grča
72527a61ee Merge pull request #4325 from izne/pravetz16s
Adding Pravetz-16S definition
2024-07-21 23:46:43 +02:00
rilysh
189be035d2 Mark plat_vidapi() argument as const and remove the NULL
* plat_vidapi() accepts char pointer, which never gets modifed
later on. Mark it as const.

* In src/config.c, va_name is initialized as NULL, however,
plat_vidapi_name() never returns a NULL pointer, nor it was
initialized under a condition branch. Removing NULL, might
save one instruction, which requires zeroing the register
before setting its initial value.
2024-07-21 12:49:06 +05:30
OBattler
1205392e4f Wells AT, DataExpert 386WB, Genoa Unknown 486, Gigabyte GA-486L, Alaris Cougar, and updates to CMakeLists.txt and chipset.h. to finally include opti391.c and opti499.c. 2024-07-21 06:09:03 +02:00
Jasmine Iwanek
1ebbc25c2a Correct endif comment in fdc_ext.h 2024-07-20 21:48:57 -04:00
Jasmine Iwanek
2a7d300078 Use a define for max HDC's 2024-07-20 21:48:57 -04:00
Jasmine Iwanek
7817336567 Use a define for max FDC's 2024-07-20 20:09:25 -04:00
Jasmine Iwanek
680f65cf19 Standardize hdc_current into an array 2024-07-20 14:49:24 -04:00
Jasmine Iwanek
05e7d9239c Standardize fdc_type into fdc_current
Also make it into an array
2024-07-20 14:49:24 -04:00
Miran Grča
4387b3e137 Merge pull request #4626 from jriwanek-forks/qtvideo
Initial underlying code support for more than 2 video cards
2024-07-20 05:47:59 +02:00
Jasmine Iwanek
322adf1c2b Initial underlying code support for more than 2 video cards 2024-07-19 23:27:21 -04:00
Jasmine Iwanek
27c8bdd57e Less dummy devices 2024-07-19 16:57:11 -04:00