Commit graph pcem/src/vid_s3_virge.c
Author SHA1 Message Date
SarahW
50e7de5214 Merge from trunk 2019-04-18 20:46:38 +01:00
SarahW
140903f4cb Tweaked S3 ViRGE clipping. Based on patch from rene. 2019-01-15 21:33:24 +00:00
SarahW
fa4ccece48 Fixed pixel clock on S3 ViRGE. 2018-11-20 09:40:54 +00:00
SarahW
cb4c92c0f2 Fixed ViRGE blitter memory masking when only 2MB video memory available. 2018-03-21 21:53:33 +00:00
SarahW
977b798eda Fixed ViRGE cursor colour handling. 2018-03-21 21:53:04 +00:00
SarahW
a5bbd87a2d ViRGE 256kb wrapping is disabled when enhanced mappings are in use. Fixes ViRGE on XFree86. 2018-03-21 21:52:07 +00:00
SarahW
593c3f2b2f Removed non-existent CRTC R50 handling from ViRGE. 2018-03-21 21:51:06 +00:00
SarahW
f0b213fef0 Mask ViRGE source colour to current destination colour depth. Fixes chroma transparency in Beasts and Bumpkins. 2017-11-26 17:46:21 +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
807b710a5d Improvements to path handling. Patch from bit. 2017-07-06 21:25:10 +01:00
SarahW
617cfd7ef2 Added preliminary IRQ support for ATI Mach64, S3 Vision864/Trio32/Trio64, and S3 ViRGE. 2017-06-01 21:51:02 +01:00
pcem_emulator
d2245f2d45 Ported configuration manager to Allegro GUI 2017-05-15 22:03:38 +01:00
SarahW
c466cfa24b Clean up FIFO threads on 2D cards on exit/reset. Patch from bit. 2017-04-12 20:46:21 +01:00
SarahW
2b892d2a7a Fixed compiler warnings for Windows builds.
Added -Werror to Windows makefiles.
2017-04-11 19:34:41 +01:00
SarahW
8521ef6435 Disable ViRGE memory dumping in release build. 2016-06-05 20:59:36 +01:00
SarahW
4024be8e52 ViRGE 2D blitter wraps X coordinates at 11 bits. Fixes missing text with some Windows drivers. 2016-05-15 21:09:26 +01:00
SarahW
75ed8c9641 ViRGE fixes :
- Create 2D FIFO thread and events on ViRGE 325 as well as DX - fixes crash when blitter first used
- Wake 2D FIFO thread when writing to empty/nearly empty FIFO - fixes ViRGE 325 Windows 95 drivers
- Read status register on byte access - fixes ViRGE 325 Windows 95 drivers
2016-05-10 21:07:13 +01:00
TomW
9347d28ff3 Fixed race condition with ViRGE 2D blitter. 2016-03-09 20:04:21 +00:00
TomW
0a46e11efe Move ViRGE 2D blitter to seperate thread. 2016-02-11 20:35:49 +00:00
TomW
1b2f58326e Update ViRGE mapping on writes to PCI command register - fixes text console in Debian 5.0. 2016-01-13 20:47:58 +00:00
TomW
3e314ccdfb Implemented ViRGE 2D Polygon Fill command.
Improvements to ViRGE line draw.
2015-09-26 17:56:55 +01:00
TomW
1554c9929a Fixed display size on ViRGE. 2015-09-16 20:01:47 +01:00
TomW
2e6a5c3f90 ViRGE display height when stream processor enabled now clipped to CRTC display height. 2015-09-13 11:06:16 +01:00
TomW
390c5e2999 S3 ViRGE 256kb RAM mask now only applied in VGA mode. 2015-09-10 21:10:50 +01:00
TomW
736eab845a Enabling LFB on ViRGE disables VGA bitplanar functionality.
RctFll command now aborts if height is zero.
Helps BeOS.
2015-05-03 16:12:32 +01:00
TomW
17cae8a2d7 Implemented 256kb wrapping on S3 cards. 2014-11-05 18:17:39 +00:00
TomW
6a72839c59 Enabled write to CRTC R7 bit 4 when protection is enabled - fixes scrolling on DOS/V 6.2. 2014-11-04 20:14:50 +00:00
TomW
dc7bf986d6 Fixed frequency control on ViRGE/DX 2014-10-04 17:51:51 +01:00
TomW
f6e6e6b4e3 Removed DEVICE_NOT_WORKING flag from ViRGE. 2014-09-22 19:28:42 +01:00
TomW
c1ca4ec29e ViRGE hardware cursor now supports X11 format cursors, and uses colour registers. 2014-09-20 18:00:54 +01:00
TomW
ae7c3185c9 Restricted available range of attribute and sequencer registers on ViRGE, XFree86 now detects card correctly. 2014-09-18 21:14:15 +01:00
TomW
4b3f77c926 Fixed Z range on ViRGE S3D, fixes Grim Fandango. 2014-08-25 15:22:51 +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
e74519ea4e ViRGE S3D improvements :
- 24 bpp mode implemented
- Improved subpixel correction - fixes polygon gaps in some games
- Implemented dithering
- Z Update bit now has an effect - fixes Tomb Raider 2
- Improved mipmapping
2014-07-06 12:45:35 +01:00
TomW
2207f704dd Added per-device configuration.
Reworked configuration parser a bit.
Added configuration for S3 ViRGE and 8-bit Sound Blasters.
IRQ 2 routed to IRQ 9 on AT machines.
2014-06-30 21:31:28 +01:00
TomW
f1e1cc0b25 Initial S3 ViRGE video overlay emulation. 2014-06-13 18:43:25 +01:00
TomW
a66dddfb43 S3D optimisations - between 15% and 30% faster on my machine. 2014-06-04 19:45:12 +01:00
TomW
e09b68b242 S3 ViRGE S3D emulation. Currently very slow, bugs, features missing.
Added S3 ViRGE/DX emulation, as the DX drivers are better than those for the original chip.
2014-05-26 18:13:23 +01:00
TomW
0a1c4dcdf0 Fixed dirty screen updating in high resolution modes. 2014-03-22 19:10:00 +00:00
TomW
43d7050c9c Fixed vblankstart on Mach64, ET4000/W32p and ViRGE.
Implemented clock generation on ViRGE.
2014-03-22 17:04:25 +00:00
TomW
92c45591c7 ViRGE: Preliminary stream processor emulation - enough to fix double buffering in DirectX.
Implemented transparent blit mode with colour sources.
Implemented old style MMIO.
2014-03-20 16:33:31 +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
8ccd4544ec Disabled more debug. 2013-12-18 21:40:58 +00:00
TomW
657aa19dd1 Devices can now be marked as not working, and disabled in release builds.
Video card menu now build dynamically from list.
2013-11-28 20:03:59 +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
bd873de9ac New 'available' function in device API, to determine whether required ROMs are available. Currently used when building soundcard menu, to remove AWE32 when required ROM dump is not present. 2013-11-04 18:23:15 +00:00
TomW
7735e82085 Altered device memory mapping. 2013-10-19 17:06:55 +01:00
TomW
72f934d141 Direct3D video output. Fixed redraw when DirectDraw/Direct3D device is lost. 2013-08-13 19:20:28 +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