Commit graph pcem/src/vid_svga.c
Author SHA1 Message Date
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
TomW
f030e72816 Fixed VGA character set selection (bad documentation). Fixes Impulse Tracker. 2014-03-05 19:51:23 +00:00
TomW
8ccd4544ec Disabled more debug. 2013-12-18 21:40: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
1c623fe1fc Mach64 changes :
- No longer crashes PCem when remapping (mostly seen when changing resolution in Windows)
- Added PCI registers
- Added LFB emulation (PCI only)
- Source pattern modes now work correctly
- Vsync flag now emulated correctly
- Scrolling in accelerator modes now works correctly

Also disabled some debug.
2013-10-12 16:20:27 +01:00
TomW
72f934d141 Direct3D video output. Fixed redraw when DirectDraw/Direct3D device is lost. 2013-08-13 19:20:28 +01:00
TomW
f195495f3a Initial SiS496/497 emulation.
Fixed ESP value on ENTER when page fault after first push.
Fixed execution time of IDE Set Idle command.
Fixed head number on FDC Read Sector ID command.
2013-07-15 18:23:26 +01:00
TomW
f431e74917 Video optimisations. Fixed VRAM mask on S3. 2013-07-09 19:30:53 +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