Commit Graph

1583 Commits

Author SHA1 Message Date
OBattler
d6cd357202 BIOS Version -> BIOS Revision. 2024-11-10 02:47:59 +01:00
OBattler
fbc21cdf49 DMA channel -> DMA. 2024-11-10 02:42:01 +01:00
OBattler
a1566e905f XGA address -> Address. 2024-11-10 02:36:34 +01:00
OBattler
bace3fe900 Voodoo Recomiler -> Dynamic Recompiler. 2024-11-10 02:35:27 +01:00
OBattler
55b091fb58 Assorted string fixes, mostly for consistency. 2024-11-10 02:23:21 +01:00
TC1995
863b76a190 Fixing regressions of the mach32 (November 5th, 2024)
1. ATI Extended 8514/A mode may not use bit 5 of ATI reg 0xb0 sometimes but at the same time it won't use the standard VGA way of setting up 256+ colors, therefore, in the VGA DAC writes, use standard VGA way to revert to VGA mode in the writes instead of relying on bit 5 of ATI reg 0xb0 being enabled/disabled there. Fixes mode switches in VLB/PCI configurations using Windows 9x and possibly other stuff, ISA is unaffected and still works fine.
2. Added more logs and and remove/set I/O handlers correctly for the PCI side.
2024-11-05 01:08:13 +01:00
TC1995
c966538324 8514/A compatible changes on Mach32 of the day (November 3rd, 2024)
Mark the ATI extended 8514/A mode accordingly (that is, if bit 5 of ATI reg 0xb0 and using ATI extended ports at the same time). Fixes wrong colors in some instances using standard IBM 8514/A drivers on Mach32.
2024-11-03 23:21:18 +01:00
TC1995
fa69678a94 Even better (hopefully) way to fix the mode switches (November 3rd, 2024)
1. Added the missing call to mach32_updatemapping from port 0x3CF through its index 6.
2. If the accelerator DAC is active and the extended 256 color bit is on too then enable 8514/A mode when needed, otherwise it's VGA mode or decided by the passthrough/clock selection ports.
3. VGA DAC reads are redirected to the 8514/A DAC reads only when 8514/A mode is on.
2024-11-03 04:46:32 +01:00
TC1995
52c806b485 Forgot the XGA update 2024-11-02 21:15:43 +01:00
TC1995
12a57ffeac Changes to 8514/A compatible stuff (November 2nd, 2024)
1. vga_on global variable removed, as it didn't play well with 2 subsystems at once (8514/A and XGA both enabled).
2. Emulate the Foreground/Background Color aliases of PIX_TRANS properly when not executing a command.
3. Voodoo 3D override now works properly (again) with Mach32 PCI cards and others by turning the 8514/A timer off and on accordingly.
2024-11-02 20:50:06 +01:00
TC1995
36e42af7b2 S3 bank update (October 29th, 2024)
1. Simplified 4bpp rendering mode.
2. Implement CRTC31 bit 0 functionality which enables/disables the vendor banks. Fixes Diamond Stealth 64 964 VRAM (VLB/PCI) detection on NT 3.1 (and possibly other cards) while keeping NT 3.1 347.1's full screen Command Prompt test normal without garbage using the 911/924 chips.
2024-10-29 01:16:21 +01:00
TC1995
4f472445f2 Video and emulator GUI changes of the day (October 28th, 2024)
IBM 8514/A (MCA/ISA).
Added a configure button to the QT frontend for the amount of memory used by said add-on chips.

XGA:
Forgot a change about the 4mb aperture.
2024-10-28 22:14:58 +01:00
TC1995
9685cdfa92 XGA changes of the early day (October 28th, 2024)
1. Pattern/font fixes for Windows 3.1's third party XGA drivers as well as OS/2's win3.x' box (seamless and full).
2. The 4MB aperture is still used internally even if the 1MB one is in use, fixes OS/2's XGA driver on boot when less than 16MB of memory is used.
2024-10-28 02:23:43 +01:00
TC1995
8a7e0ea547 Small but important video changes of the day (October 27th, 2024)
8514/A compatibles:
1. The mode switch (from VGA to 8514/A/ATI and vice-versa) has been fixed again (for the Nth time).
2. Removed a pattern hack used on DPCONFIG = 0x5211 on bitblt, now patterns work properly using the ATI Mach8 3.0 win3.1x drivers.
3. Clipping regs are more accurate for acceleration.

XGA 1-2:
A picky OS is a picky OS, fixes to the Win95 fonts (which uses the pattern sources) applied.
2024-10-27 23:36:11 +01:00
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
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