SarahW
92e0b78548
Add missing svga_render_null() function.
2020-11-14 19:33:52 +00:00
SarahW
679322882b
Add missing svga_render_null() function.
2020-11-14 19:33:51 +00:00
SarahW
f6406c77e5
Add fast path in Banshee overlay render; if overlay is unfiltered and
...
unscaled then just write straight to destination buffer.
2020-11-14 19:33:51 +00:00
SarahW
2cf57ab8b2
If Banshee video overlay is full screen (as would be the case for
...
full screen 3D), don't bother rendering the desktop behind it.
2020-11-14 19:33:51 +00:00
SarahW
3e5e519d10
Implement dirty updating on Banshee 16bpp tiled modes
2020-11-14 19:33:51 +00:00
SarahW
e761045e40
Remove unused variables in Banshee.
2020-11-14 19:33:51 +00:00
SarahW
1900499ace
Fix "effective clockspeed" display when using Banshee.
2020-11-14 19:33:51 +00:00
SarahW
6a09e9636c
Disable a lot of dynarec sanity checks in release builds.
2020-11-14 19:33:51 +00:00
SarahW
25fe224ea9
Add dynarec optimisation for UOP_MOV_IMM, to avoid register allocation
...
if the destination register won't be immediately used again.
2020-11-14 19:33:50 +00:00
SarahW
0d7103368a
Add register rename optimisation to dynarec to eliminate some redundant
...
UOP_MOVs.
2020-11-14 19:33:50 +00:00
SarahW
cccaf86fd3
Mark some exceptions (mainly v86 related) as 'expected', meaning they
...
won't cause a code block deletion. This speeds up some v86 code due
to a reduction in code block churning.
2020-11-14 19:33:50 +00:00
SarahW
5a94c78cbb
Split up exec386_dynarec() a bit.
2020-11-14 19:33:50 +00:00
SarahW
eb524e6f12
Move trap handling out of main dynarec loop.
2020-11-14 19:33:50 +00:00
SarahW
24d8176594
Reset P6 current ifetch_length on start of code block and on decoder
...
flush.
2020-11-14 19:33:49 +00:00
SarahW
fb391d2484
Rewrite Voodoo triangle setup vertex selection code. Fixes missing triangles
...
on Banshee with some D3D games (eg Black & White, Viper Racing)
2020-11-14 19:33:49 +00:00
SarahW
1915149391
Increase Banshee revision to 3, matching my real CL Banshee card. Removes
...
the need for any fogTable hack, which is in any case inconsistently applied
by drivers and I think may only be needed on pre-production devices.
2020-11-14 19:33:49 +00:00
SarahW
95ccdcae5c
Implement bilinear filtering on Banshee video overlay.
2020-11-14 19:33:49 +00:00
SarahW
1ebaa7c640
Banshee 2D blitter should wait for 3D to go idle before starting a
...
blit. Fixes text in Forsaken.
2020-11-14 19:33:49 +00:00
SarahW
9adb36ece3
Banshee status now returns busy when either of the render threads is
...
busy. Fixed HUD in Jedi Knight.
2020-11-14 19:33:49 +00:00
SarahW
c9bf81f599
Fix Banshee CMDFIFO base address mask.
2020-11-14 19:33:49 +00:00
SarahW
fccd59ba92
Add Banshee RGB565 undithered overlay format. Currently dithered and
...
undithered are handled the same.
2020-11-14 19:33:49 +00:00
SarahW
870a19f537
Don't fatal() on unknown Banshee port read/write. Fixes Windows 95
...
hardware detection.
2020-11-14 19:33:48 +00:00
SarahW
801e560b53
Remove duplicates from Slot 1 CPU list.
2020-11-14 19:33:48 +00:00
SarahW
93c0bc85c7
Mark Banshee mappings as external. Banshee cards now work on GA-686BX.
2020-11-14 19:33:48 +00:00
SarahW
a85f315daf
The existing A-Trend Banshee card is AGP, which is not currently emulated.
...
Replaced with a reference SGRAM PCI card, and added a Creative SDRAM card.
2020-11-14 19:33:48 +00:00
SarahW
2212b9a470
Implement out-of-order CMDFIFO handling on Banshee.
2020-11-14 19:33:31 +00:00
SarahW
8ee4396b4c
Fix race condition in Voodoo FIFO code that could cause an 'Unknown fifo
...
entry' error
2020-11-14 19:33:30 +00:00
SarahW
bb70f4ff0f
Re-enable fog on Banshee.
2020-11-14 19:33:30 +00:00
SarahW
21a3a9acec
Update Voodoo framebuffer read/write for Banshee.
2020-11-14 19:33:30 +00:00
SarahW
06a07cfcbc
Fix off-by-one size error with Banshee overlay.
2020-11-14 19:33:30 +00:00
SarahW
6318624661
Banshee fog table seems to be inverted compared to other Voodoo cards
...
(hardware bug?). Re-enabled fog.
2020-11-14 19:33:30 +00:00
SarahW
771c5c6ba3
More Banshee host data size tweaking.
2020-11-14 19:33:30 +00:00
SarahW
3040c4e994
Additional Banshee host data size fix.
2020-11-14 19:33:30 +00:00
SarahW
d1f17cd8ae
Don't flush Banshee pipeline when reading clipping registers. Fixes
...
severe slowdown in 3dMark2000 fill rate test.
2020-11-14 19:33:29 +00:00
SarahW
0298d0ffaf
Fix uninitialised variable in Banshee texture writes.
2020-11-14 19:33:29 +00:00
SarahW
11b29c7c18
Fix Banshee host data size when source format is 1 bpp. Fixes some
...
bad icon masks in Windows 98.
2020-11-14 19:33:29 +00:00
SarahW
133f19fe39
Implement Banshee tiled surfaces
2020-11-14 19:33:29 +00:00
SarahW
32900491b7
Update Makefiles
2020-11-14 19:33:29 +00:00
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
41238b3c85
Split vid_voodoo.c into multiple source & header files.
2020-11-14 19:33:04 +00:00
SarahW
3cbcf5f575
Optimise Voodoo FIFO processing of framebuffer / texture / register
...
writes. Speeds up games that write large amounts of data to the FIFO,
eg menus in Expendable.
2020-11-14 19:33:04 +00:00
SarahW
4fe71bdbed
The instruction following STI is always executed, even if an interrupt
...
is pending. Fixes Windows 9x boot broken by SYSENTER commit.
2020-11-14 19:33:03 +00:00
SarahW
5b2087f84d
Added Celeron emulation.
2020-11-14 19:33:03 +00:00
SarahW
bf68656e8f
Implement CPUID cache register for Pentium Pro/II.
2020-11-14 19:33:03 +00:00
SarahW
b973755ca3
Add hintable NOPs for Pentium Pro and II.
2020-11-14 19:33:03 +00:00
SarahW
7eff4f4ba8
Add SYSENTER and SYSEXIT instructions
2020-11-14 19:33:03 +00:00
SarahW
fda3832e3a
Add Gigabyte GA-686BX emulation.
...
As part of this, add i440BX chipset, PIIX4, and i28F002BC Flash.
2020-11-14 19:33:03 +00:00
SarahW
3c4fa0511e
Add Pentium II Overdrive emulation.
2020-11-14 19:33:02 +00:00
SarahW
5ad5764500
Add P6 execution unit timing. OoO behaviour is not very faithful yet.
2020-11-14 19:33:02 +00:00
SarahW
4fd7305d1d
Limit P6 pipeline throughput to 3 uOPs/cycle
2020-11-14 19:33:02 +00:00