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
SarahW
21dbd868e1
Add initial P6 timing model. Currently only basic decoder limits
...
(4-1-1 rule and 16-byte limit) have been implemented.
2020-11-14 19:33:02 +00:00
SarahW
cf33ab6c39
Add initial implementation of Intel VS440FX motherboard.
...
As part of this, add dummy Pentium Pro emulation, as well as Intel 440FX
chipset, PC87307 SuperIO and Intel 28FB200BX-T Flash.
2020-11-14 19:33:01 +00:00
SarahW
602d6f1ce6
Add VHD hard disc image support. Patch from shermanp.
2020-11-14 19:12:07 +00:00
SarahW
d1021b5b6b
SÂ3: implement RCBASE/DSTBASE, treat clip rectangle as unsigned.
...
Patch from twilen.
2020-11-14 15:34:27 +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
9bdbcc18c0
Added Samsung SPC-6000A and SPC-6033P. Patch from Greatpsycho.
2020-11-14 12:25:36 +00:00
SarahW
2efda3598b
Trident TVGA8900D appears to implement port 0x3db as an alternative
...
clock select. Fixes pixel clocks & refresh rates on this card.
2020-10-02 17:21:41 +01:00
SarahW
264cfc3a12
Add Trident TVGA9000B emulation.
2020-10-02 17:21:12 +01:00
SarahW
7d4bc7237c
Add Compaq Deskpro emulation.
2020-09-30 21:31:33 +01:00