SarahW
798eabcac7
Rewrite SVGA status resolution code, should now be less wrong.
2020-04-18 12:06:20 +01:00
SarahW
a017de3c57
Add missing Mystique vsync interrupt. Helps with some Mystique Win9x drivers.
2020-03-30 20:59:40 +01:00
SarahW
b72aa2117b
Mystique fixes :
...
- MGA mode disables all VGA data processing on reads / writes
- MGA mode forces 8 pixels per character
- DMAPAD acts as an ILOAD mirror during ILOAD operations, same as SRCx
- Handle signed X coordinates better in blit operations
- Add more MMIO registers
- Don't fatal on ILOAD reads when blitter not busy
Fixes Windows XP with Mystique.
2020-01-18 15:50:46 +00:00
SarahW
483c7db709
Added Matrox Mystique emulation. This is a work in progress, and has a few known
...
issues :
- Only YUV supported for scaled ILOAD operations
- Several BLTMOD formats missing
- Bad texturing in Actua Soccer
- Flickering in Croc (broken vsync waiting?)
- Turok doesn't swap buffers correctly
- Some missing features
2020-01-15 22:17:36 +00:00
SarahW
f56f5e76e6
Fix latching in svga_read_linear(). Fixes Jazz Jackrabbit on Cirrus Logic cards.
2019-12-20 17:01:53 +00:00
SarahW
2489fd9c6e
Add ATI EGA Wonder 800+ emulation.
2019-12-19 11:24:08 +00:00
SarahW
50e7de5214
Merge from trunk
2019-04-18 20:46:38 +01:00
SarahW
787aad9598
Reset EGA/VGA character scanline counter when hitting split screen start line.
2018-08-31 08:46:38 +01:00
SarahW
ad50530ded
Force display redraw on writes to EGA/VGA attribute register 0x13 (soft panning).
2018-08-31 08:41:25 +01:00
SarahW
2783471daa
Clamp SVGA display on/off timings to a minimum of 1 usec. Fixes hang on Windows XP boot with ViRGE/DX.
2018-08-08 22:15:21 +01:00
SarahW
a7d006b637
Rewrote timer code.
...
The new code is based on timestamps, rather than delays. This eliminates the
need to update every timer in timer_process(), which cost a non-trivial amount
of CPU time on low-end machines.
This involved changes to every user of the timer code, so this change almost
certainly introduces bugs.
2018-08-02 22:06:10 +01:00
SarahW
fb14e1881f
Moved post-rev1065 0x3da code to OTI-037C specific code. Restored pre-rev1065 generic SVGA 0x3da code. Fixes PS/2 VGA self test.
2018-03-24 19:50:26 +00:00
SarahW
2567c30353
Added ATI Korean VGA emulation. Patch from Greatpsycho.
2018-03-11 15:46:24 +00:00
SarahW
2f5f4a5b47
Fixed double IO mapping of Mono VGA registers.
2018-03-11 14:29:56 +00:00
SarahW
0ee7c7a354
Added Oak OTI-037 emulation. Patch from EluanCM.
2018-02-24 11:39:22 +00:00
SarahW
5c9a1e9664
Added CL-GD5430 emulation.
2018-02-18 12:33:09 +00:00
SarahW
93d0db4d9b
CL-GD5429 improvements :
...
- Support >8 bpp on RAMDAC
- Support 16-bit pixel depth on blitter
- Support 16-bit pixel depth on write modes 4/5
- Support blitter on PIO
- Support interlaced modes
- Extended size of graphics controller register array to prevent out-of-bounds accesses
2018-02-15 21:00:12 +00:00
SarahW
1d93b73e3a
Implement configurable hardware cursor size on TGUI9440.
2018-02-11 15:40:41 +00:00
SarahW
0ca43d37d4
Emulated EGA/VGA CRTC register 8 (Preset Row Scan Register).
2018-01-31 21:20:26 +00:00
SarahW
475f51ba0f
Video timing improvements :
...
- Separated read and write timings
- Added timings for onboard video chips
- Updated timings based on VIDSPEED testing
2018-01-31 21:09:11 +00:00
SarahW
b97d525e0c
Fix 8-bit RAMDAC palette handling.
2017-11-05 15:42:04 +00:00
SarahW
39a68d757b
Rework video memory handling to cater for open bus and VRAM address wrapping. Fixes more hangs with Trio64 and Windows 95.
2017-10-22 12:41:10 +01:00
SarahW
b1f4748eaf
Fixed colour compare in EGA/VGA - fixes graphics issues in Crystal Dream II.
2017-08-31 14:26:54 +01:00
SarahW
54d260846f
Mask off top bits of VGA palette data. Fixes palette in Amulets & Armor.
2017-08-04 22:05:54 +01:00
SarahW
7c63ce6368
Mark video memory mappings as external. Patch from Greatpsycho.
2017-05-07 10:38:28 +01:00
SarahW
b5c11bc981
Added emulation of ATI Video Expression (Mach64 VT2).
2017-05-02 14:42:41 +01:00
SarahW
2b892d2a7a
Fixed compiler warnings for Windows builds.
...
Added -Werror to Windows makefiles.
2017-04-11 19:34:41 +01:00
SarahW
bfc69a4bea
Cleaned up ibm.h a bit
2016-11-28 20:06:17 +00:00
SarahW
620beb1eb5
Writing to VGA RAMDAC write index also sets read index. Fixes colours in Planet Football.
2016-10-03 18:17:40 +01:00
SarahW
9f4b159121
Move video blit to seperate thread.
2016-07-18 21:15:32 +01:00
SarahW
b39eb20237
Mach64 fixes :
...
- Added support for 8-bit RAMDAC mode
- Added ABGR8888 mode
- Add support for mono blitter source
- Identify RAMDAC type correctly
- Use correct colours for hardware cursor
Fixes issues in Corel Linux.
2016-05-08 20:41:51 +01:00
TomW
25ac41fbde
Ignore odd/even mode when loading VGA latches on memory read. Fixes Jazz Jackrabbit.
2015-10-10 14:33:36 +01:00
TomW
8d3c6fb195
Implemented VGA attribute enable bit in attribute index - VGA grabber in Windows 3.x now works properly.
2015-09-18 20:42:37 +01:00
TomW
969d5811e5
Fixed text mode in Paradise VGAs (Amstrad systems).
2015-08-20 20:56:28 +01:00
TomW
3789398ca6
Changed registers used for EGA/VGA odd/even mode.
2015-08-14 21:54:42 +01:00
TomW
0a5e80325a
VGA RAMDAC does not update palette until all three elements are written. Fixes Windows 3.x EGA driver when run on a VGA card.
2015-08-13 19:49:19 +01:00
TomW
12232fd7b8
Implemented odd/even memory mode for EGA and VGA.
2015-08-12 20:37:39 +01:00
TomW
708cf896d1
Added usable 3DFX emulation.
2015-03-08 15:55:03 +00:00
TomW
56b455844e
Initial port to Linux (using Allegro).
...
64-bit fixes.
Some changes to aid portability.
A few other tweaks.
2014-09-04 21:07:24 +01:00
TomW
1c3d1039ff
ViRGE S3D triangle rendering now uses worker thread.
...
Fixed clipping bug on ViRGE.
Fixed status window crash.
2014-07-22 21:10:39 +01:00
TomW
4657e9f2c5
Added configurable VRAM for Mach64, ET4000/w32p, Oak and Trident graphics cards.
2014-07-14 21:56:10 +01:00
TomW
4cdb0d9d82
Fixed hang when opening status window.
2014-07-11 20:52:18 +01:00
TomW
0c2efae9c3
Fixed cursor in interlaced modes on S3 Vision864/Trio32/Trio64.
2014-07-09 22:12:59 +01:00
TomW
4f11821ee6
Port 0x3da diagnostic bits now held static during blanking, fixes DOS 6.2/V hang.
2014-07-06 21:40:28 +01:00
TomW
3c8a675d01
Reorganised Windows-specific code a bit.
2014-06-24 21:15:42 +01:00
TomW
f1e1cc0b25
Initial S3 ViRGE video overlay emulation.
2014-06-13 18:43:25 +01:00
TomW
0a1c4dcdf0
Fixed dirty screen updating in high resolution modes.
2014-03-22 19:10:00 +00:00
TomW
f51d8bead4
Fixed vblank start on S3 864/Trio64 - fixes 1280x1024.
2014-03-22 15:37:36 +00:00
TomW
2ca4ead570
Implemented preliminary S3 ViRGE 2D blitter emulation.
...
Misc ViRGE fixes.
Changes to memory mapping.
Changes to PCI handling.
Disabled 'AMI WinBIOS 486 PCI' due to incomplete chipset emulation.
Invalid GUS register reads no longer kill the emulator.
2014-03-20 14:03:55 +00:00
TomW
4c4b3df51f
SVGA now handles vblank start < vertical total. Fixes The Incredible Machine.
2014-03-09 11:24:58 +00:00