Commit graph

1,783 commits

Author SHA1 Message Date
SarahW
a89347d415 Add Amstrad PC5086 emulation. Patch from davide78. 2020-11-15 11:11:41 +00:00
SarahW
95e6819f02 Remove use of _wfopen_s in minivhd. 2020-11-15 09:02:32 +00:00
SarahW
322b25a4dc VHD build fixes. Patch from shermanp. 2020-11-15 08:58:59 +00:00
SarahW
5ae201b7e7 Disable Banshee lazy overlay update when vertical scaling enabled. Fixes
artifacts in low resolution modes (where the lazy update has little
benefit anyway).
2020-11-14 19:34:00 +00:00
SarahW
9bea8c138a Intel Advanced ZP/EV derived systems don't seem to support Cyrix 6x86
CPUs (executes MSR and CPUID instructions without any preceeding checks).
Removed these CPUs from those systems.
2020-11-14 19:34:00 +00:00
SarahW
49bdd9534f Add X11 cursor mode to Banshee/V3. 2020-11-14 19:34:00 +00:00
SarahW
ed37bc4e24 Fix Banshee/V3 mappings following write of PCI command register. Fixes hang
following monitor suspend/wakeup.
2020-11-14 19:33:59 +00:00
SarahW
86a5b13f46 Add dirty updating for Voodoo Banshee/3 overlay. 2020-11-14 19:33:59 +00:00
SarahW
a366d977aa Added Voodoo Banshee/3 screen filter. Patch from leilei. 2020-11-14 19:33:59 +00:00
SarahW
91e165a6d6 Reduce level of Voodoo Banshee/3 logging. 2020-11-14 19:33:59 +00:00
SarahW
0469ab60cb Implement penalties for segment load on Pentium Pro. 2020-11-14 19:33:59 +00:00
SarahW
5c3069c561 Add W83977TF SuperIO chip for Gigabyte GA686BX. 2020-11-14 19:33:58 +00:00
SarahW
c598f88f67 Implement Banshee/V3 vidProcCfg half mode. Fixes low res 16 bpp modes. 2020-11-14 19:33:58 +00:00
SarahW
4683d674b6 Implement PIIX SMI gate. Fixes some issues seen on Shuttle HOT-433
when power management disabled in BIOS, which results in the BIOS
failing to initialise and relocate the SMI handler but still advertise
APM availability.
2020-11-14 19:33:58 +00:00
SarahW
a01cc90866 Tweak search range when codegen looking for start uOP for given
instruction. Fixes range when unrolling LOOP instruction pointing
to itself (which could skip initial cycle count update), fixes
Windows 98 boot on 6x86 chips.
2020-11-14 19:33:58 +00:00
SarahW
624f1cfcfc Set raw limits on LLDT & LTR instructions - Cyrix RSLDT/RSTS instructions
no longer corrupt LDT/TR limits.
2020-11-14 19:33:58 +00:00
SarahW
7f206c5484 Clear CR4 mask by default. Fixes issues when switching between CPUs
that implement CR4 and those that don't.
2020-11-14 19:33:57 +00:00
SarahW
c0bc163eaf Implement Cyrix SMM mode. 2020-11-14 19:33:57 +00:00
SarahW
8a5a0fc48c Intel flash chips respond to writes at all addresses. Fixes NVRAM errors
on VS440FX.
2020-11-14 19:33:57 +00:00
SarahW
193645a426 Add mutex to protect Voodoo swap count and pending. Should fix hangs
sometimes changing video mode on Voodoo 3.
2020-11-14 19:33:57 +00:00
SarahW
984437dfa9 Default W83877TF SuperIO to all devices disabled. Fixes FIC VA-503+ IO
port conflicts introduced following APM/ACPI implementation.
2020-11-14 19:33:57 +00:00
SarahW
038a27767a Implement APM/ACPI functionality for MVP3/VT82C586B, including soft
power off.
2020-11-14 19:33:57 +00:00
SarahW
82b1486f6b Implement APM on i430LX and SIO chipset. 2020-11-14 19:33:57 +00:00
SarahW
38cee364d3 Add basic APM functionality for PIIX/PIIX3 and i430FX, i430VX, i430HX
and i440FX chipsets.
2020-11-14 19:33:57 +00:00
SarahW
93756d3f01 SMM fixes 2020-11-14 19:33:56 +00:00
SarahW
00034c1ece Implement API to terminate current emulator session from within main
emulator thread (ie soft power off).
2020-11-14 19:33:56 +00:00
SarahW
8f04c11a76 Implement PIIX4 power management. Soft power off is currently 'implemented'
by killing the emulator.
2020-11-14 19:33:56 +00:00
SarahW
0cbbd22c88 Add emulation of System Management Mode. 2020-11-14 19:33:55 +00:00
SarahW
70ab938439 Update dest x/y at end of Banshee blitter command if required. Fixes
corruption in Windows 2000.
2020-11-14 19:33:55 +00:00
SarahW
f705fd8261 Change Voodoo 3 PCI revision from 3 to 1. 2020-11-14 19:33:55 +00:00
SarahW
9fc93833c4 Disable logging added in previous commit. 2020-11-14 19:33:55 +00:00
SarahW
826389a37a Rework Voodoo texture precalc to support non-split trilinear textures.
Fixes trilinear bugs on Voodoo 3.
2020-11-14 19:33:55 +00:00
SarahW
b40cc2b87e Implement P6 operand & address size prefix penalties. 2020-11-14 19:33:55 +00:00
SarahW
ec9ca6c97b Fix missing immediate markers in opcode_deps[] tables. 2020-11-14 19:33:54 +00:00
SarahW
6ead42d868 Fix off-by-one issue with Voodoo clipping. 2020-11-14 19:33:54 +00:00
SarahW
44433fd020 Reset Banshee/V3 2D blitter coordinates on new command start. Fixes
corruption in Winamp.
2020-11-14 19:33:54 +00:00
SarahW
a19829cf11 Add DDC / plug and play monitor support for Mach64VT2. 2020-11-14 19:33:54 +00:00
SarahW
7e2c6a5344 Add DDC/plug and play monitor support to S3 ViRGE. 2020-11-14 19:33:54 +00:00
SarahW
5eb6f4d168 Implement plug and play monitor support on Voodoo Banshee & 3. 2020-11-14 19:33:54 +00:00
SarahW
c9891895da Implement Voodoo CMDFIFO enable bit. 2020-11-14 19:33:54 +00:00
SarahW
d254f41817 Banshee/Voodoo 3 status returns busy when FIFO thread is busy, regardless
of command/cmdfifo/render thread status. Fixes some 2D races where drivers
start to write to framebuffer while (final) 2D blit command is still
running.
2020-11-14 19:33:53 +00:00
SarahW
086287809b Mark Banshee/Voodoo 3 cards as PCI. 2020-11-14 19:33:53 +00:00
SarahW
114cdd7a15 Add VIA Cyrix III CPUs. Note that this is currently limited to 500 MHz,
as Windows 98 won't boot on anything any faster than this. This is most
likely a limitation of the current timer subsystem.
2020-11-14 19:33:53 +00:00
SarahW
2b43125f79 Rename Banshee reference card to match Voodoo 3s. 2020-11-14 19:33:53 +00:00
SarahW
6df66c59fb Add Voodoo 3 emulation. 2020-11-14 19:33:53 +00:00
SarahW
2415d8ad50 Mask Banshee desktop start address correctly. 2020-11-14 19:33:52 +00:00
SarahW
52a79fbb57 Add option for Voodoo to use 4 render threads. 2020-11-14 19:33:52 +00:00
SarahW
dbb10c0894 Don't sample & filter EMU8000 voice if current volume is zero. 2020-11-14 19:33:52 +00:00
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