Commit graph pcem/src/vid_svga.h
Author SHA1 Message Date
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
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
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
c034381797 Added Trigem Korean VGA emulation. Patch from Greatpsycho. 2018-11-26 17:36:47 +00: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
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
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
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
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
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
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
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
0c2efae9c3 Fixed cursor in interlaced modes on S3 Vision864/Trio32/Trio64. 2014-07-09 22:12:59 +01:00
TomW
f1e1cc0b25 Initial S3 ViRGE video overlay emulation. 2014-06-13 18:43:25 +01:00
TomW
4c4b3df51f SVGA now handles vblank start < vertical total. Fixes The Incredible Machine. 2014-03-09 11:24:58 +00:00
TomW
74793aaf99 Mach64 now disables VGA data processing on LFB writes. Windows 9x DOS boxes now rendered correctly. 2013-12-15 14:29:52 +00:00
TomW
273639bd79 Implemented VGA colour plane mask, 640x200x2 (eg Windows 2.x startup screen) now displayed correctly. 2013-12-07 14:02:03 +00:00
TomW
a8b286a2ec Added correct clock support for S3 Trio64 (Number Nine 9FX).
Seperated TGUI9440 and TVGA8900D implementations.
Modes > 8 bpp now handled more logically in SVGA core.
Fixed broken status window for most SVGA cards.
Masking of address on 'legacy' VGA memory ranges now handled better.
2013-11-20 21:34:09 +00:00
TomW
7735e82085 Altered device memory mapping. 2013-10-19 17:06:55 +01:00
TomW
58085bcc87 Re-organisation of video emulation. 2013-06-24 20:42:35 +01:00
TomW
9312de19ac Now up to date with current dev version.
Changes since v0.7 :
- Major CPU reorganisation. This has possibly broken some stuff, though I fixed all the regressions I could find
- Lazy flags. This brought 10% speed improvement at one point, but that's probably been lost now
- 430 VX chipset emulation
- IDT Winchip emulation (currently sans MMX). Timing is probably wrong
- Fixed a few FPU bugs
- Timer reorganisation
- Sound reorganisation
- Other general reorganisation
- AdLib Gold emulation
- Windows Sound System emulation
- Pro Audio Spectrum 16 emulation. This currently works with most DOS stuff, but not in Windows
- Major improvements to GUS emulation. Has the downside that it now conflicts with SB emulation, so probably best to not enable both simultaneously
- New graphics cards :
  - ATI-18800 (VGA Edge-16)
  - ATI-28800 (VGA Charger)
  - ATI Mach64GX (Graphics Pro Turbo). Quite a few features missing, but Windows doesn't seem to use half the features of this card
  - Cirrus Logic CL-GD5429. Blitter is a bit broken
  - Oak OTI-067
  - S3 Trio64 (Number Nine 9FX)
  - S3 Virge. Only framebuffer stuff at the minute, Windows won't recognise the card
  - Trident TGUI-9440
  - VGA. Doesn't work yet
- Beginnings of 3DFX emulation, however this is in extremely early stages and doesn't do anything useful
- Fixed DMA bug stopping floppy drives working in Windows 3.x
- Fixed some other stuff probably
- Broke some other stuff probably as well
2013-05-27 17:46:42 +01:00
TomW
3c253c2cf8 Add v0.7 source 2013-04-21 14:54:35 +01:00