Commit Graph

1773 Commits

Author SHA1 Message Date
MaxwellS04
5d929c7735 Move Winner 1000's RAMDAC to ATT491 2025-05-07 10:39:22 +07:00
MaxwellS04
6fb01cf592 Added ISA-specific 86c805 (ELSA Winner 1000)
Ported from my ELSA_Winner_Series branch.
2025-05-07 10:11:51 +07:00
TC1995
1b1d6bcf45 Some cleanup to the recent fixes on the S3 code (May 6th, 2025)
See above.
2025-05-06 20:17:23 +02:00
OBattler
4a417da09b S3: Revert the video BIOS change, it was not necessary. 2025-05-06 19:34:14 +02:00
OBattler
ef3f57b338 S3 Trio32 On-Board VLB: Actually use the DEC Venturis 4xx video BIOS. 2025-05-06 19:26:26 +02:00
OBattler
8508a04825 CL-GD 54xx: Remove an excess logging line. 2025-05-06 19:06:30 +02:00
TC1995
6a6be85852 Late night fixes for the Mach8 (May 5th, 2025)
1. The Mach8 doesn't have separate graphics pitches a la Mach32 (68800-6 and up), fixes the rendering in some drivers for Windows.
2. Special case for the add-on Mach8 for the mode switching (resolution only).
2025-05-05 02:02:02 +02:00
TC1995
608ce2d155 Another stall fix for the mach8/32.
See above, covering the foreground and background select bits as well.
2025-05-04 02:04:41 +02:00
Miran Grča
434be84249 Merge pull request #5543 from 86Box/tc1995
Fixes to the S3 911/924 of the night (May 4th, 2025)
2025-05-04 02:03:22 +02:00
TC1995
b1d409471c Fixes to the S3 911/924 of the night (May 4th, 2025)
1. Actually mostly workarounds to make it render normally without a hitch (I hope) using the Diamond Stealth VRAM 911-based 15bpp driver.
2. Updated logs.
2025-05-04 02:01:34 +02:00
Cacodemon345
384af874f5 Bochs VBE: Update for 0.9c ROM 2025-05-03 17:02:30 +06:00
GreaseMonkey
a72142f2b5 Fix EGA/VGA/SVGA odd-even handling of write mask
Matches my AMD Stoney + S3 Trio64V2, and also Intel's 2023 GPU docs (which *still* tend to be more accurate than IBM's), and makes more sense than what we've (I've?) been doing.
2025-05-02 10:51:34 +12:00
TC1995
8c736c7b9a Stall fix for the mach8/32 (April 30th, 2025)
See above.
2025-04-30 23:15:58 +02:00
TC1995
d623425efd Some more changes to the Mach8/32/8514/A side (April 29th, 2025)
1. Do not stall the guest when the passthrough mode is on, fixes hang ups in Windows 3.1 using the 2.3 drivers.
2. In the pitch register, make sure the passthrough goes on when needed only on the ATI Mach32, not 8, fixes mode on/off in text mode when needed.
3. Cosmetic changes and logs.
2025-04-29 00:57:03 +02:00
TC1995
0da871f54e Vast overhaul to the 15bpp/16bpp accelerated mode of the 911/924.
1. See above, as best as possible, but manuals would be helpful.
2. Reverted the ramdac of the 924 to the sierra one because of a bug that triggers 24bpp mode when it shouldn't.
2025-04-29 00:39:26 +02:00
OBattler
ad4ec20374 Modify the CL-GD 54xx (S)VGA read and write handlers in order to use the pointer to the svga struct instead of the gd54xx struct, fixes #5521. 2025-04-29 00:33:51 +02:00
TC1995
d566a06202 Fix pitch regression of the ATI Mach8/32 side (April 28th, 2025)
This patch fixes the pitch that was originally 0 when specifying the 8514/A compatible side in the Mach8/32 cards, which should be 1024 for 8514/A compatible stuff.
2025-04-28 19:28:58 +02:00
Miran Grča
954f635198 Merge pull request #5497 from 86Box/tc1995
Vast fixes to the Mach8/32/8514/A compatible side (April 22nd 2025)
2025-04-22 22:07:05 +02:00
TC1995
571b0595de sigh, apply it to the Bochs VBE virtual card too. 2025-04-22 21:44:56 +02:00
TC1995
cdb01de6d4 Apply it to the virge too. 2025-04-22 21:33:21 +02:00
TC1995
b7319cf60b Fix warnings and build. 2025-04-22 21:24:31 +02:00
TC1995
14ef3b75ac Vast fixes to the Mach8/32/8514/A compatible side (April 22nd 2025)
1. As tiring as it seems, XOR properly the passthrough bits for mode changes. Fixes everything tested as of now (Mach8/32).
2. Implemented separate destination and source GE pitch and offsets. Fixes Windows 3.1 mach8/32 drivers using devicebitmap enabled (or dmp=1).
3. Properly fixed high and true color patterns so that the aforementioned patterns are drawn correctly in various stuff.
4. Implemented in the best possible way the CRT offset (currently in on conjunction with the GE offset).
5. On ScanToX with bpp set to 24 and dpconfig 0x6211, optmize the SRC/CUR X-Y coordinates at the end of the blit.
6. For mode changes, don't call the mode change recalctimings function if we aren't in the appropriate bits of the respective ports.
7. Separate 8514/A compatible and Extended foreground/background selection implemented, fixes Windows 3.x ATI Ultra drivers from 1992 without hacks.
8. Clear the busy flags when needed without stalling the entire guests (but not the emulator itself) (Mach8/32).
9. The MMIO regs should be enabled only when the VGA aperture has reached a graphics mode (0xA000). This fixes NT 3.x mach drivers in true color mode and making Win3.1 drivers working without a hitch at the same time.
10. Actually implement the hardware 4bpp cursor properly on Mach32.
11. Cosmetic cleanups.
2025-04-22 21:15:05 +02:00
OBattler
592e5c6a79 Cirrus Logic: Implement proper VLB addressing, closes #5337. 2025-04-22 21:10:06 +02:00
Miran Grča
525925ae16 Merge pull request #5205 from thedax/quantum3d
Add basic support for the Quantum3D Raven.
2025-04-15 22:25:44 +02:00
Cacodemon345
06bacb6912 Bochs SVGA: Buffer window switching now works properly 2025-04-07 01:01:26 +06:00
OBattler
375590b93b Bochs SVGA: Add some sanity check to avoid the LFB and BIOS being mapped to either at the very bottom or top of the memory space. 2025-04-06 01:05:12 +02:00
OBattler
1c38e059c4 PS/55 DA2: Fix warnings. 2025-04-04 18:29:28 +02:00
Miran Grča
5d7de0e043 Merge pull request #5434 from akmed772/da2dev2
PS/55: Add support for V-Text driver of IBM DOS/V Extension
2025-04-04 07:54:31 +02:00
Akamaki
b484bf1b45 PS55DA2: Add a bracket to avoid compile warning 2025-04-04 10:04:43 +09:00
Akamaki
4a4a7a342a PS55DA2: formatting, sorting 2025-04-04 09:42:22 +09:00
Akamaki
392e3156bb disable debug code 2025-04-04 09:10:49 +09:00
Akamaki
beb417cc85 PS55DA2: cleanup, remove unused code 2025-04-04 08:55:14 +09:00
Akamaki
b4f3e06c1e PS55DA2: Fix some issues in DSPX and OS/2 dosbox 2025-04-04 08:23:32 +09:00
Akamaki
837f86a291 PS55DA2: Parse Bitblt data sequential 2025-04-03 22:17:24 +09:00
Akamaki
fc06d3de89 PS55DA2: add char drawing func in BitBlt
This build is still in work.

* Added character drawing function to support for DOS/V Extension DSPXDA2 driver.
* Implement CRTC regs: start address, end address, line compare to support line compare scrolling in DOS/V Extension.
* Enable updating CRTC regs when output is disabled.
2025-04-03 15:16:58 +09:00
TC1995
5432c1dd13 8514/A compatible changes of the day (April 2nd, 2025)
1. Aliases are aliases, period.
2. Actually make the ports using bit 15 of their range use the command FIFO.
3. Improved the special ATI command 0xc2b5 in the IBM bitblt side, fixes cursor issues in 24bpp mode using OS/2.
4. When the FIFO is empty, clear the busy and available flags.
5. Also reapply a workaround for 24bpp foreground color patterns in ATI command Scan To X command, fixes patterns in OS/2 and possibly elsewhere.
6. Accelerated HiColor mode, in the IBM passthrough mode, should always be enabled, for now, as well as the Extended ATI Mach32 8bpp mode when prompted, fixes OS/2 booting into the GUI in HiColor mode.
7. Dummy data path configuration values on direct linedraw should not trigger a pixtrans read when it's not needed, fixes possible hang ups in IBM/ATI mode when the busy flag remains enabled.
2025-04-02 21:33:26 +02:00
TC1995
8ff30ab2e6 Mach64 ISA/VLB LFB update of the day (March 30th, 2025)
The LFB can now be enabled properly on the ISA/VLB variants of the Mach64GX.
2025-03-30 23:17:58 +02:00
TC1995
5ae5e99e41 Major changes on the 8514/A side again (March 30th, 2025)
1. The DX/DY coordinates for BitBLT are now signed again, fixes 8514/A cursor issues.
2. Made the busy/data available processor statuses more like the ATI one for more stability and no stalls, fixes Windows 3.x and IBM OS/2 1.x (possibly later ones too) that use the built-in 8514/A driver.
3. Made the mode switching clearer (through a note) regarding the shadow sets, this should make every program happy, I hope.
4. In the Mach32 series only, a first load of the CRT sets also initializes the GE offsets if the corresponding bit is set, fixes Mach8/32 mode tests in their eeprom and demoai with hdiload from ATI/IBM.
2025-03-30 22:06:16 +02:00
OBattler
512154e4a8 EGA: Add braces around a case block to make clang happy. 2025-03-30 09:00:39 +02:00
OBattler
5569fa6f5d C&T SuperEGA: More fixes, the BIOS no longer freezes on attempting to boot from anything. 2025-03-30 08:22:14 +02:00
OBattler
d2afb44412 SVGA: Remove some excess logging. 2025-03-30 07:32:46 +02:00
OBattler
e4877a57c5 EGA/JEGA: More fixes and implemented more C&T SuperEGA behavior. 2025-03-30 07:28:20 +02:00
OBattler
3fc6d29462 JEGA/JVGA: Only update renderer override on master, do not update CRTC cursor location unless it's either master or slave, and only override the text mode renderer - fixes AX Windows 3.0 386 enhanced mode returning from DOS box to full screen. 2025-03-30 04:53:48 +02:00
TC1995
ef588c118a Fixed log excess. 2025-03-29 20:36:00 +01:00
TC1995
5a4a939e02 More fixes to the 8514/A compatible side.
1. Use proper identification to what chips use what.
2. Apply some mode switch fixes to the ATI 8514/A Ultra and make 1024x768 87Hz interlaced the default mode if htotal is 0 and on ati8514_init.
3. Add the undocumented ports to the ATI 8514/A Ultra add-on as well.
2025-03-29 20:27:20 +01:00
TC1995
1c98437e66 More display changes.
SVGA related:
If CRTC1/HDISP is odd (if bit 0 is set), then make it even accordingly, else leave it as is. Should fix some display skews.

S3 related:
Remove old code references (can still be accessed through history if one needs it).

8514/A compatible related:
Proper use of the htotal and hdisp timings.
2025-03-29 14:49:13 +01:00
TC1995
c91f2255ad Vast overhaul for the Mach8/32/8514/A (March 29th, 2025)
1. Implemented the FIFO test data to pass some tests of the Mach8 POST ROM and tests (not complete yet).
2. Overhauled the mode switches again, but this time with way less hacks and more on manual instructions.
3. Use a function pointer to determine if the Mach8 type used is a VGA combo or add-on.
4. Mach32 mode tests are no longer incorrectly green (was caused by improper pixtrans parts).
5. Implemented overscan color to the Mach32 as well as the CRT offset.
6. And fixed a PCI LFB GPF issue with the Mach32 2.3 drivers on Win3.1x.
7. Implemented memory boundary for both the Mach32 SVGA and its accelerator.
8. Added undocumented ports used by the FIFO (such as ports 0x8AEE and 0xEAEE).
9. Plus resetting the device right a la s3.
10. Temporarily switched the bus type of the Mach8 to 8-bit in both MCA and ISA variants.
2025-03-29 14:42:25 +01:00
Akamaki
94a928978e PS55DA2: update compatibility table 2025-03-29 20:46:30 +09:00
OBattler
c00c432398 EGA: Fix colors in mono mode and attribute registers, fixes #5395. 2025-03-29 00:10:39 +01:00
OBattler
6366ff7580 JEGA: Fix two uninitialized variables. 2025-03-28 08:09:51 +01:00