Commit Graph

1568 Commits

Author SHA1 Message Date
TC1995
5135721359 XGA changes of the day (October 5th, 2024)
1. SVGA decode mask shouldn't be used in XGA native mode, fixes wrong locks in LFB access.
2. INMOS XGA only: more accurate emulation per INMOS G201 MCA/ISA manual, including the MMIO access and port 0x96, allowing full BIOS and MMIO access at the same time on 0xc0000.
2024-10-05 21:24:54 +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
74b398be29 S3 non-ViRGE: Do not remove I/O handlers on ISA/VLB card reset, fixes soft reset, fixes #4866. 2024-09-28 14:34:45 +02:00
OBattler
b73823dc92 Merge branch 'master' of https://github.com/86Box/86Box 2024-09-28 13:33:53 +02:00
OBattler
9ff72338d1 Voodoo: Attempt to implement the 16bpp + depth combined writes. 2024-09-28 13:33:43 +02:00
TC1995
962c9cdf2f S3 Pre-ViRGE changes of the day (September 26th, 2024)
1. Actually fix the remaining pinkish/reddish stuff in 32bpp modes properly (for real, especially OS/2 and possibly other stuff).
2. The Compare accel stuff is more sanitized.
3. When the BitBLT DY coordinates are negative, don't draw the pixels. This fixes some software cursor issues with OS/2's S3 3.03.xx drivers.
4. Reset the FIFO when the card is reset.
5. Indentation fixes (to be improved further however).
6. Implement bit 5 functionality of 0xBEE8 index 0xE (MULT_MISC) (and currently only in the Rectangle Fill command). This fixes missing text on I-O Data Vision968 specific drivers for Windows 3.10 Japanese (PC/AT compatible)
7. Moved the Streams engine out of the FIFO (like the ViRGE) as well as making all CRTC's of the Trio64V2 writable and SEQREGs from 0x10 onwards to make sure the Streams engine works properly.
8. Added a missing break from the RAMDAC read stuff.
9. Remove a leftover of PCem.
2024-09-26 23:18:38 +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
26b7053318 CGA and Tandy 1000 SX/HX: Implement light pen latch readout with a sane value, fixes #4856. 2024-09-25 08:58:40 +02:00
TC1995
5fd1d0be9f XGA aperture fixes of the day (September 24th, 2024)
Fixed 1MB aperture vram access.
2024-09-24 20:39:20 +02:00
TC1995
705d293420 Mach32 and clock changes of the day (September 22nd, 2024)
1. Going from screenshots of the Mach32 chips, they all have the ati18811-1 clock regardless of the bus type, whilst the Mach8 has an ati18812, which is actually a ati18811-0
2. Unbreak the NS3.1 Mach32 driver, ergo, don't block the LFB processing.
2024-09-22 21:05:10 +02:00
TC1995
8e84dc04c3 PVGA changes of the day (September 22nd, 2024)
Correct the memory size (and its bits) of said chips and reorganize them.
2024-09-22 20:31:22 +02:00
TC1995
1b9df9cf93 Mach64VT class 8bpp render fix.
Make it sure the alternative 8bpp renderer to avoid any palette flickering.
2024-09-17 00:34:46 +02:00
TC1995
7a9b25f2cc Fix compile. 2024-09-15 19:57:12 +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
8e4cd08a19 Mach64 font fix about Solaris. (September 13th, 2024)
The so called "NT 3.5 font fix" on the Mach64 applies only to the Source Control reg with bits 2-3 set, but Solaris only sets bit 2 (without bit 3), so, don't align the source with bit 3 cleared. This fixes the garbled fonts under Solaris using said card.
2024-09-13 13:51:20 +02:00
Miran Grča
fe5177fd00 Update CMakeLists.txt 2024-09-12 20:19:43 +02:00
OBattler
884dfa8bcf Removed a .c file that's nto there from video/CMakeLists.txt. 2024-09-12 08:59:22 +02:00
OBattler
bdf89f43ae Temporarily revert the changes to video/CMakeLists.txt to allow for clean potential merges between us and the PS/55 fork. 2024-09-12 06:45:09 +02:00
Miran Grča
d727296892 Merge pull request #4799 from jriwanek-forks/cmakefiles
One line per file in CmakeLists.txt
2024-09-05 02:14:09 +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
Jasmine Iwanek
f4b63caf0b One line per file in CmakeLists.txt 2024-09-04 18:34:06 -04:00
OBattler
581cbcb0c6 A small fix to video/vid_voodoo_fifo.c. 2024-09-04 15:41:30 +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
6a5e9cdaba Fixed the S3 reset fix, fixes Windows 98 stuck on black screen on the S3 Trio64 on some machines. 2024-08-30 19:35: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
fe4ad0d4e1 S3: Make sure to absolutely restore everything to the original state on reset, even the contents of vram and changedvram, fixes #4768. 2024-08-30 06:01:52 +02:00
OBattler
db94601573 Voodoo 3/Banshee: Implement XRGB8888 LFB format, fixes POD. 2024-08-30 05:22:33 +02:00
TC1995
dd5c5f4a07 More ViRGE fixes (August 29th, 2024)
Apparently the extended sequencer registers (>= 0x20) are required to have sane values on the STREAMS engine on GX2 and probably other chips in the ViRGE range.
2024-08-29 00:51:28 +02:00
OBattler
818c268f75 S3 Vision x68: Fix PCI BAR to CRTC registers 59h/5Ah mask. 2024-08-28 20:21:47 +02:00
TC1995
47ee1c4ead Some fixes to the Streams engine of the ViRGE/Trio3D
Make sure the ViRGE GX2 and up (including the Trio3D/2X) use the secondary stream only per what was found in the past.
2024-08-27 22:17:52 +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
ba859d7351 S3: Fixed CRTC to PCI BAR mapping, fixes #4745. 2024-08-26 04:36:23 +02:00
OBattler
1a961db422 CGA: Revert the VSync interrupt since the real CGA did not have that. 2024-08-23 07:09:35 +02:00
OBattler
7a965efd90 Tandy and CGA: Implement the VSync interrupt, fixes Ghostbusters freezing. 2024-08-23 06:21:27 +02:00
OBattler
f9e457f3e8 Give the AP440FX the original ViRGE instead, fixes #4740. 2024-08-22 04:59:51 +02:00
TC1995
39a6a681a2 Update indentation. 2024-08-21 22:48:02 +02:00
TC1995
66902d67fb Mach64 changes of the day (August 21st, 2024)
Re-thread the video chip family again but with fixes to avoid desyncs and some cleanups.
2024-08-21 22:45:18 +02:00
MaxwellS04
eabfc12290 Merge branch '86Box:master' into mirocrystal_3d 2024-08-21 07:22:01 +07:00
OBattler
71ff5c8c63 ViRGE: Fixed some warnings that only appear when compiling a debug binary. 2024-08-21 01:33:54 +02:00
TC1995
aebaabb6b8 ViRGE changes of the day (August 20th, 2024)
1. ROM updated to 1.03.
2. Re-apply more fixes that were missed during the restructuring to be on par with PCem's speed.
3. Implemented Command DMA bus mastering required by Diamond Stealth 3D specific drivers (especially the GX2-based 4000).
4. Some indentation fixes.
2024-08-20 15:45:56 +02:00
OBattler
882aabf95d Diamond S3 86c911: Use the correct clock chip, fixes #4730. 2024-08-18 20:35:47 +02:00
OBattler
04b5a99ae9 (S)VGA render: Actually use the DAC mask, fixes #4720. 2024-08-18 06:34:04 +02:00
OBattler
dc8d237126 S3 ViRGE: Force bit 2 of CRTC register 33h to be set when read, fixes Windows 95 GX2 lock-ups. 2024-08-17 19:46:29 +02:00
OBattler
366ebea651 S3 ViRGE fixes by TC995 and switched threads on Windows builds back to Win32 threads since the C++ threads were breaking the ViRGE blitting in some cases (eg. CD Gamer on 24 bpp). 2024-08-17 01:22:06 +02:00
MaxwellS04
a02b4e52c3 Fixed configuration 2024-08-17 00:53:02 +07:00
MaxwellS04
24e2c65c40 Fixed a compile-breaking mistake 2024-08-16 20:44:51 +07:00
MaxwellS04
ab71f9d3e2 Added the miroCRYSTAL 3D, based on a S3 ViRGE. 2024-08-16 20:36:26 +07:00
OBattler
88741b021e S3 ViRGE: Some minor memory mask fixes. 2024-08-16 05:58:24 +02:00
OBattler
537e6f76de S3 ViRGE: Replace code with re-cleaned-up PCem code with our changes manually re-applied, also revert hardware cursor offset checks, which fixes black bars in games. 2024-08-16 05:43:55 +02:00
TC1995
a0d662e9c5 S3 changes (and TVP3026) of the day (August 15th, 2024)
1. TVP3026: disable lut mapping on 24bpp modes (mainly the S3 Vision968 drivers which use the TVP3026 ramdac).
2. S3 Vision968 (MiroVideo 40SV Ergo): Corrected 1280x1024 24bpp resolution.
3. ViRGE class: limit the FIFO entries in the bitblt regs to less than 16 entries and make the Image Transfers FIFO writes wraparound to 1 and reads to 0 (to allow at least a read to a write in the thread without hanging the entire emulator). Fixes Win3.1 PBRUSH colors while keeping performance on par with PCem.
2024-08-15 23:04:48 +02:00