SarahW
19a5dfa579
Added Voodoo Banshee emulation.
...
Known issues :
- Tiled framebuffer layout is not yet implemented. This causes horizontal
offsets in some 2D 16bpp stuff (eg FMV in Tomb Raider 2, UI in Expendable)
- Fog is broken and currently disabled for Banshee
- Possibly at least 1 race in 2D blitter emulation
- A few things not yet emulated - overlay filters, some (rarely used) 2D
blitter functions
2020-11-14 19:33:28 +00:00
SarahW
87941f2903
Added Kasan Hangulmadang-16 emulation. Patch from Greatpsycho.
2020-11-14 14:20:37 +00:00
SarahW
ed30e17128
Implement VGA byte panning and cursor skew. Patch from Greatpsycho.
2020-11-14 13:38:07 +00:00
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