Commit Graph

2049 Commits

Author SHA1 Message Date
OBattler
6afc72b860 IBM PS/ValuePoint 433: Fix on-board ET4000/W32. 2025-11-05 17:36:54 +01:00
OBattler
3dc3cfc00d ATi Mach8 EEPROM: Remove superfluous (and emulator-crashing!) fseek(). 2025-11-05 15:03:32 +01:00
OBattler
daf34f3dcd (S)VGA: Bring back specific pel panning behavior for some ATi and Tseng graphics cards, closes #6437. 2025-11-05 02:54:51 +01:00
pixel-jupiter
c490e3e14c PCjr: Fix inverted horizontal screen movement 2025-11-04 07:43:51 +03:00
OBattler
30743b6dfd Tandy warning fix from pixel_jupiter. 2025-11-02 03:51:47 +01:00
TC1995
79614f6ada Swap the XGA 4bpp rendering nibbles for proper display.
Fixes incorrect rendering of XGA 4bpp accelerated modes (INMOS XGA ISA and XGA MCA add-ons)
2025-11-02 00:52:20 +01:00
Bozo Scum
811cdcdb9a eliminate Missing ROM file error for 'Tsengs ET4000w32p Rev.B (VideoMagic)' on case-sensitive platforms such as Linux 2025-10-30 15:37:30 +08:00
bozoscum
e5e9cf6fc0 Merge branch '86Box:master' into master 2025-10-30 15:33:06 +08:00
Miran Grča
8b02672a2d Merge pull request #6419 from pixel-jupiter/tandy-shake
Tandy: Implement CRTC-based display shifting (R2 & R7 registers)
2025-10-29 18:11:59 +01:00
bozoscum
5333af80d1 Merge branch '86Box:master' into master 2025-10-28 18:12:10 +08:00
TC1995
dde2565736 Revert the k1/k2 s3 virge masks.
Should fix some overlay Streams bugs.
2025-10-27 16:38:30 +01:00
TC1995
4e124968de Unbreak 800x600x32bpp Elsa Winner 1000 928VL mode.
Fix its clock and as well as 640x480x32bpp OEM mode clock.
2025-10-25 23:16:57 +02:00
TC1995
d26ec73d0d Add proper clock generators to the V7 cards.
1. Add a variant of the ICS1494 clock generator specifically for the Radius HT209 card.
2. Add the ICD2047 clock generator to the HT216-32 card.
3. Add the previously missing 7.00 BIOS revision of the VGA 1024i HT208 card.
2025-10-24 21:32:14 +02:00
pixel-jupiter
258c89151c Optimize negative bounds checking in rendering loops 2025-10-24 05:56:55 +03:00
bozoscum
5643979020 Merge branch '86Box:master' into master 2025-10-22 18:28:05 +08:00
Bozo Scum
bd8310f5e7 fix Display Type does not correctly apply to Video #2 2025-10-21 13:25:42 +08:00
Jasmine Iwanek
cff55b210c Fix more compile warnings 2025-10-20 23:50:20 -04:00
TC1995
2ee0f0e470 RAMDAC/Clock fixes to the S3 and ET4000AX cards
1. The S3 968-based Diamond Stealth 64 Video VRAM, using a 14mhz reference clock, now has its RGB528 fixed Pixel PLL reference divider set to its default value (0x07) per manual and reference clock. Fixes wrong refresh rates on said cards and others.
2. Added the ICS2494-324 clock generator to the ET4000AX. Fixes wrong refresh rates on this one too.
2025-10-20 20:32:41 +02:00
TC1995
f7a3ca4ccd Corrections to displays (October 18th, 2025) (rebase)
1. In the STG code, separated the STG1703 without its built-in clock as 1702 while keeping the one with the clock as 1703.
2. Added the ICS2494AN-324 clock generator used by the et4000w32 series.
3. Return 0x98 as the ID of the ATT498 ramdac.
4. Corrected the pixel clocks of the IBM RGB528 while keeping its current compatibility and exactness of the refresh rates of its clocks.
5. Added a variable reference clock of the SDAC/GenDAC for future use.
6. The clocks of the TVP3026 have been implemented for a while. Some corrections have been made (plus color key r/w).
7. Mach64 enhanced mode doesn't use scrollcache (bits 0-3 of attrregs 0x13), fixes some pixels being off (mainly in win3.1x)
8. Reorganized the cirrus 54xx built-in clock for proper refresh rates.
9. Proper reorganization of the et4000w32 series of chipsets and their cards supporting them, from cursor to clocks to ramdacs plus a 24bpp acceleration fix for the w32p series (about pixels being processed in bitblt).
10. Removed the PCI videomagic card as its bios doesn't have the PCIR header while making sure the plain ISA/VLB w32 and ISA only w32i (now named Axis Microdevice) support 2mb of vram properly.
11.  Added the Hercules Dynamite VL Pro based on the w32i chip (and VLB).
12. Initialize the et4000w32 cards with misc bit 0 set as well as crtc31 bit 6 for rs2 connection to the ramdac.
13. Refactored the S3 Pre-ViRGE code to have proper refresh rates and clocks and added the 805I as a member of the chips (ID 0xa8).
14. Replaced the S3 805I Elsa Winner 1000 ISA bios with a more supported one for our code using the SDAC.
15. Added proper 24bpp acceleration to the Visionx68 chips.
16. Fixed wrong colors in the 911/924 15/16bpp acceleration when used for the first time.
17. Match the ViRGE mapping to the pre-ViRGE one per manual/datasheet.
18. Correct as best as possible the TGUI9400 clocks.
2025-10-18 03:09:34 +02:00
pixel-jupiter
f58164db1b Trigger baseline calibration on mode change instead of on specific CRTC register writes 2025-10-18 02:00:23 +03:00
Cacodemon345
32b3f1930d Fix bad PCI slots for onboard Mach64 PCI devices (#6341) 2025-10-13 21:10:34 +02:00
Miran Grča
640bd2b5ca Update video.c: More alpha channel related fixes. 2025-10-10 03:50:25 +02:00
Cacodemon345
51a814c959 Correct the internal name of on-board ATI Mach64CT device (#6301) 2025-10-08 17:19:12 +02:00
Cacodemon345
5b7ac6fa21 Add Intel Advanced/MA (Monaco) (#6297) 2025-10-08 16:10:42 +02:00
Cacodemon345
5f6aa3b44e Add ATi Mach64 VT emulation (#6300) 2025-10-08 15:38:32 +02:00
Cacodemon345
0b487422b2 Gamma correction support for Mach64VT2 (#6294) 2025-10-08 09:22:36 +02:00
TC1995
c73cb84f8f Mach64 changes of the day (October 7th, 2025) (#6295)
* AdLib Gold changes of the day (September 23rd, 2025)

1. Make sure the check to the Surround module is properly placed when disabled/enabled.
2. Replace local adgold_buffer with opl_buffer from its struct to improve the audio output and less clipping.

* Some fixes for the AdLib Gold of the day (September 26th, 2025)

1. Revert the sampling DMA int functions back to void but with a check that monitors the DMA FIFO whenever it's within the range or not.
2. Actually clear the IRQ properly.

* Mach64 changes of the day (October 7th, 2025)

1. Add a second call to wake_fifo_thread to reduce thread glitching.
2. Minor cosmetic fixes.
2025-10-07 22:33:21 +02:00
Cacodemon345
a2d7e9383d Add ATi WinCharger (ATi Mach64CT) emulation (#6293) 2025-10-07 19:03:18 +02:00
pixel-jupiter
362e7a9ffd Add bounds checking for negative line and horizontal coordinates in the rendering functions 2025-10-05 21:02:51 +03:00
pixel-jupiter
beb3733757 Defer vsync_offset application
- Apply vsync_offset only during the vertical retrace period for a more accurate result
- Change the calculation of displine_offs and remove redundant checks around rendering calls
- Remove unnecessary clamping logic for crtc[7]
- Remove a hack from the previous commit by correctly triggering VSYNC processing when the vertical counter matches the actual crtc[7]
2025-10-03 16:44:53 +03:00
Miran Grča
430fa409ce S3 ViRGE: Remove an excess masking line. 2025-10-01 17:52:29 +02:00
Miran Grča
fc506d02e1 S3 ViRGE: Fix the LFB mappigs to operate in accordance with the documentation.
Fix certain UVCONFIG-using games at 16 or 32 MB of machine RAM.
2025-10-01 17:45:48 +02:00
pixel-jupiter
49a3eca742 Merge branch 'master' into tandy-shake 2025-09-30 15:41:02 +03:00
pixel-jupiter
3e7b3d32e8 Separate baseline calibration trigger from display offset updates, clamp crtc[7] position to valid range and use calibrated baseline_vsyncpos for vsync comparison to avoid display issues when overscan in enabled 2025-09-30 12:57:10 +03:00
Cacodemon345
4a6327da68 S3 ViRGE: Move sign bit 1 bit further to the right for K2 scaler registers (#6243)
* Fix sign position of DDA accumulator registers

* S3 ViRGE: Move sign bit 1 bit further to the right for K1/K2 scaler registers

* K1 scales are 13 bits
2025-09-27 21:58:07 +02:00
Cacodemon345
bc41f8bbb6 Fix sign position of DDA accumulator registers (#6241) 2025-09-27 19:57:12 +02:00
Cacodemon345
3fd58dde8f Implement YUV aperture on Mach64 VT2 (#6234)
Some GDBSTUB fixes
2025-09-27 13:32:00 +02:00
pixel-jupiter
aa7cb72c93 Apply vsync_offset during scanline rendering instead of the final blit; clean up code 2025-09-25 15:42:17 +03:00
Miran Grča
810f17c50f Merge pull request #6192 from 86Box/feature/int-cast
Add integer casting macros
2025-09-22 00:55:49 +02:00
Cacodemon345
0b0bf2e438 Fix overflow crashes in certain cases 2025-09-21 17:39:40 +06:00
OBattler
e736dbc694 CL-GD 5436: Correct the ICS SB486PV check. 2025-09-21 12:24:17 +02:00
Jasmine Iwanek
3c5190a0db Header cleanups (1/2) 2025-09-21 00:48:38 -04:00
RichardG867
7c25ca22e3 Convert existing code to the integer casting macros 2025-09-19 20:09:29 -03:00
RichardG867
25146643f9 Migrate remaining machine-specific checks from internal name to init function 2025-09-19 19:41:01 -03:00
pixel-jupiter
4583092751 Merge branch 'master' into tandy-shake 2025-09-19 15:15:03 +03:00
pixel-jupiter
83f729e46c Replace dynamic horizontal overscan with fixed constants, fix character clock width calculation and remove vid_get_char_width() 2025-09-19 10:41:21 +03:00
pixel-jupiter
bea5a6ff1b Fix border rendering issues, add boolean type support, and improve variable/function naming 2025-09-17 10:16:56 +03:00
Miran Grča
d8380b07a9 ET4000/W32* PCI: Revert BIOS read/write code to PCem's, fixes #6175. 2025-09-16 23:50:45 +02:00
TC1995
c3a6e826b4 S3 928 and icd2061 mode rework (September 15th, 2025)
The rework resolves around implementing the clock multiplier and multiplexing rate of the bt485 ramdac alongside existing additional flags for eventual fixes (like cr31 bit 1) as well as the true color bypass (for 16-bit and true color modes). These, together, allow proper rendering of the generic VESA S3 drivers alongside non-VESA ELSA OEM drivers on various guests.
2025-09-15 17:48:24 +02:00
OBattler
82ad957380 PCjr: Fix 320x200x4 mode. 2025-09-14 19:16:55 +02:00