Commit Graph

1727 Commits

Author SHA1 Message Date
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
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
OBattler
8f6f21b57e IBM VGA: Re-add the forgotten (S)VGA I/O handlers. 2025-03-28 06:54:45 +01:00
OBattler
47febdf196 JVGA: Read CRTC registers from VGA rather than EGA, fixes Wolfenstein 3D. 2025-03-28 06:42:11 +01:00
OBattler
63222b70db Added the OKIVGA/H-2 (JVGA/H). 2025-03-28 06:16:05 +01:00
OBattler
8a8ed60043 EGA: Send monochrome attributes through the EGA palette lookup like the real hardware also does. 2025-03-28 03:29:11 +01:00
OBattler
cec630fa75 JEGA: Use colors based on a photo of the real OKI IF386AX when the LCD is in use to tell it apart more easily, and reset all devices on port 65h reset, fixes Trantor SCSI BIOS not finding any devices after such a reset. 2025-03-28 03:26:28 +01:00
Miran Grča
7ee19c0a55 Merge pull request #5392 from akmed772/da2dev
Fix bugs related to PS/55 emulation
2025-03-27 18:58:20 +01:00
Akamaki
da855e02b4 PS55DA2: Fix video switcher
Fix an issue that the screen is resized repeatedly when booting OS/2.
2025-03-28 01:30:00 +09:00
Akamaki
209b29a239 PS55DA2: cleanup, change func scope
remove unused variables, change funcs declaration scope, reformat debug code
2025-03-28 00:55:33 +09:00
OBattler
260f91313a JEGA: Bring back the reset for time being, the BIOS needs it to reboot. 2025-03-25 02:08:35 +01:00
OBattler
3f6593f314 IF386AX: Set video card to fixed and make the power off function actually power off. 2025-03-25 02:02:00 +01:00
OBattler
d361befe75 JEGA: Commented out the two 3de arrays which are currently unused. 2025-03-24 14:23:38 +01:00
Akamaki
abb0670eb0 PS55DA2: remove unused code, update comment 2025-03-24 20:27:37 +09:00
Akamaki
3c4e8c9e4a PS55DA2: Fix screen size calculation
* Fix screen size calculation in recalctimings.
* Set the position of underscore by CRTC reg value.
* Optimize text drawing function
2025-03-24 19:46:16 +09:00
Akamaki
fe0c246bd2 if386sx: change rom file path 2025-03-24 01:33:58 +09:00
Akamaki
512c04c9f4 Add OKI if386AX emulation (#7)
* add a machine oki if386ax

* if386AX: still in debug

* Revert "if386AX: still in debug"

This reverts commit ade401beb0c72cee6fd1ec4728097a87e75bc09b.

* if386ax: added I/O 6xh

* if386ax: remove comment

* formatting, sorting, change filename

* change mono color palette
2025-03-24 00:56:34 +09:00
OBattler
2ff31188c2 CGA: Fix rounding in the interpolation calculation. 2025-03-23 06:57:40 +01:00
OBattler
47aa4a1e18 EGA: Process the results of the monochrome attributes into 32-bit RGB values. 2025-03-23 02:29:41 +01:00
OBattler
ae60590133 EGA: Fix underline position. 2025-03-23 02:26:03 +01:00
OBattler
646e25f1bc EGA: Implement monochrome attributes for text mode. 2025-03-23 02:22:10 +01:00
OBattler
2151a6064f SuperEGA: Implement row and vertical divide modes. 2025-03-22 23:57:05 +01:00
OBattler
5fe9cc76da SuperEGA: Increase the GDC and CRTC register arrays to 256 elements to prevent overflows and correctly ignore the upper 3 bits of CRTC register 07h in ega_recalctimings(), fixes #4905. 2025-03-22 20:44:56 +01:00
OBattler
c3d15ef36d EGA and JEGA: Implement some missing SuperEGA stuff and make the JEGA properly set the EGA type to SuperEGA, fixes #5370. 2025-03-22 19:45:32 +01:00
OBattler
e932bc940d JEGA: Fix warnings. 2025-03-19 17:48:08 +01:00
Miran Grča
c741b62785 Merge pull request #5367 from akmed772/master
Add JEGA (Japanese EGA) video card
2025-03-19 17:23:56 +01:00
Akamaki
21bafa37a5 correct a compile error 2025-03-20 00:44:03 +09:00
Akamaki
4d3e2a3be3 changed rom filename 2025-03-19 10:38:17 +09:00
Akamaki
f05e2f34b6 added JEGA video emulation 2025-03-19 08:51:52 +09:00
Cacodemon345
9182deaa2b C&T B69000: Revert optimizations that made GUI acceleration slow 2025-03-17 23:16:03 +06:00
Cacodemon345
65020a80c8 Revert "C&T 69000: All ROPs now implemented, also fixed transparency bitblts"
This reverts commit 000af483f3.
2025-03-17 22:53:36 +06:00
Cacodemon345
2019af174f Revert "C&T 69000: Fix bad refresh rate"
This reverts commit b1a77195ab.
2025-03-17 22:53:00 +06:00
Cacodemon345
1bf78aebfd C&T 69000: Adjust interrupt conditions 2025-03-17 21:45:50 +06:00
Cacodemon345
b1a77195ab C&T 69000: Fix bad refresh rate 2025-03-17 21:23:32 +06:00
OBattler
49463607c1 C&T 69000: Rewrite the PCI register handling and intialize the registers to sane default, fixes the card's detection by the Windows 98 driver installer. 2025-03-17 04:29:58 +01:00
Cacodemon345
000af483f3 C&T 69000: All ROPs now implemented, also fixed transparency bitblts
Several optimizations also implemented
2025-03-16 01:46:34 +06:00
Jasmine Iwanek
bb155ea9ef Cleanups in vid_s3_virge.c 2025-03-10 05:41:27 -04:00
Jasmine Iwanek
fc639750ac Fix three warnings 2025-03-10 05:28:11 -04:00
TC1995
dad0a37ab3 Mach32 LFB changes (March 8th, 2025)
The Byte Write access of the LFB of the Mach32 was not correctly taking account of the subtraction of the address, this fixes possible graphics bugs using the LFB (Linear Aperture).
2025-03-08 20:58:49 +01:00
TC1995
f8517d05ef XGA/VGA changes of the evening (March 8th, 2025)
Workaround xga/vga toggle bug in the inmos card so that it switches from xga to vga and viceversa on ami bioses.
2025-03-08 20:49:28 +01:00
TC1995
5f833a0963 Mach32 LFB changes of the day (March 8th, 2025)
Do not subtract from the linear base when it's not in the range, should fix NT 3.x graphics bugs using the LFB.
2025-03-08 14:45:41 +01:00
TC1995
5c78fa5203 8514/A compatible changes of the day (March 6th, 2025)
1. Follow the Mach32 manual more closely regarding vblank support.
2. The subsystem status now takes account of the other bits more accurately.
3. The Mach32 PCI, when used with the ATI 68860 ramdac, has its own bpp's when in accelerator mode, separate from the VGA compatible side, so fix this accordingly.
4. Reset the vram when a mapping change occurs, should clear the messups in the ATI Mach8/32 accel video mode tests.
2025-03-06 16:03:11 +01:00
Cacodemon345
74368bfe7a Don't include cpu.h in timer.h
Change the name of the define used to indicate SVGA multi-monitor-capable cards
2025-03-06 19:26:11 +06:00
Akamaki
dc65ced36e Merge pull request #5 from 86Box/master
Rebase to master
2025-03-05 13:10:55 +09:00
Akamaki
1a60f5aac4 remove video timing modification 2025-03-05 13:01:58 +09:00
Akamaki
5b7766bb7a disable debug logging, update comments 2025-03-05 12:45:52 +09:00
Akamaki
6c92eb61bf fix a screen glitch in OS/2 DOS MODE 1
fix a glitch in OS/2 DOS MODE 1 (monochrome graphics)
2025-03-05 07:12:15 +09:00