Commit graph

1,718 commits

Author SHA1 Message Date
SarahW
0ec9c6e728 Remove C99 declarations in for loops from MiniVHD. Patch from Greatpsycho. 2020-11-26 08:39:54 +00:00
SarahW
15fd983fa9 Don't fatal() on unknown Banshee/V3 3D reg read. Fixes Spearhead. 2020-11-26 08:29:14 +00:00
SarahW
969266a09c Fix uninitialised variable in ati18800_in(). 2020-11-25 20:21:51 +00:00
SarahW
6f8401c72c ATI 28800 (VGA Charger) was selecting the wrong dot clock for VGA
standard graphics modes. In the absence of better information or a
board to test with, I am currently assuming the table I used as
reference was incorrect. Changing timings to allow for correct
refresh rate.
2020-11-23 21:57:15 +00:00
SarahW
57fb74a4a3 Fix Voodoo recompiler chromakey for rgbselect != texture RGB. Fixes
rendering issues in Manx TT.
2020-11-22 22:03:21 +00:00
SarahW
81a8873d59 Fix Banshee/V3 cursor vertical clipping. 2020-11-22 17:11:13 +00:00
SarahW
e518b4312b Handle unaligned LFB reads/writes on Banshee/V3. Fixes UI glitches in
Red Alert 2.
2020-11-22 14:28:57 +00:00
SarahW
d4dc2e9441 Load VGA latches even on 'fast' chained mode byte reads. Fixes missing
logos on Amnesia.
2020-11-22 12:48:24 +00:00
SarahW
8fa271dca9 Remove inclusion of minivhd_utils.h in wx-config.c. Patch from shermanp. 2020-11-21 20:58:32 +00:00
SarahW
744583433e MiniVHD: Fix multi sector writes. Patch from sards3. 2020-11-21 20:57:28 +00:00
SarahW
22e7faaabc MiniVHD: Add convenience functions to public API. Patch from shermanp. 2020-11-21 20:56:11 +00:00
SarahW
c7e5dd93b4 Remove duplicate typedef from minivhd_internal.h. Patch from shermanp. 2020-11-21 20:55:05 +00:00
SarahW
e791bf372b Fix EOF in MiniVHD files. Patch from shermanp. 2020-11-21 20:51:09 +00:00
SarahW
cada868428 Tweak accesses to S3 system control and extension registers. Fixes
banking on some versions of UNIVBE (eg as used by Pro Pinball : The
Web).
2020-11-21 20:45:56 +00:00
SarahW
302d05c02a Build fixes for MiniVHD. Patch from shermanp. 2020-11-21 09:47:52 +00:00
SarahW
87524de18b Implement Voodoo CMDFIFO JSR/RET. Fixed "Bad CMDFIFO0" seen sometimes,
particularly when running OpenGL games windowed.
2020-11-21 09:44:46 +00:00
SarahW
39713ccdc4 Don't fatal() on unknown Voodoo 1/2 register reads; we probably have
all the important ones covered by now. Fixes Frogger 2.
2020-11-20 20:51:19 +00:00
SarahW
f72da770f1 Don't fatal() on "triangle_setup wrong order". These usually means one
of the vertices is not valid.
2020-11-20 20:41:41 +00:00
SarahW
0cbe6ae918 Ensure that any cycles spent when entering IRQ/NMI in interpreter are
accounted for in the TSC, and by extension the timer system.
2020-11-19 22:17:05 +00:00
SarahW
8053c8a523 Ensure that any cycles spent when entering IRQ/NMI in dynarec are accounted
for in the TSC, and by extension the timer system. Fixes slowdown and
stuttering music in Museum Madness.
2020-11-19 22:09:41 +00:00
SarahW
6b96f56632 Fix off-by-one issue on Banshee/V3 RGB565 overlay render. 2020-11-19 19:46:49 +00:00
SarahW
49ba35733e Implement Banshee/V3 CLUT lookup on 16-bit RGB overlay. 2020-11-19 19:38:34 +00:00
SarahW
e15f66b349 Add specific warning message when creating differencing VHD. Patch from shermanp. 2020-11-18 20:43:07 +00:00
SarahW
6cbce169f5 Ensure Voodoo 1/2 keep params copy of buffer row widths updated. 2020-11-18 20:39:41 +00:00
SarahW
088354f607 Mask off source address correctly for Banshee/V3 RGB565 tiled overlay 2020-11-18 20:00:55 +00:00
SarahW
035f6b348c Fix horizontal scaling of unfiltered Banshee/V3 overlay. 2020-11-18 19:49:58 +00:00
SarahW
aef6ea93e6 More changes to Banshee/V3 half mode. 2020-11-18 19:48:37 +00:00
SarahW
09a7b468c3 Move Voodoo colour/aux buffer tiled mode flags to params structure. Fixed
crash in 3DMark 2001 demo mode.
2020-11-17 21:43:30 +00:00
SarahW
8cfb60608e Increase size of Voodoo dirty_line array to 2048 lines, and add some
bounds checking before accessing. Fixes crash running 3DMark 2001 on
Voodoo 3.
2020-11-17 08:32:12 +00:00
SarahW
5c20fe7c57 Implement Banshee half mode on non-tiled surfaces. Fixes low res VESA
modes.
2020-11-16 20:05:44 +00:00
SarahW
d6bf0baed0 Close all devices on emulation shutdown. 2020-11-16 19:34:58 +00:00
SarahW
4459c7175d Close all IDE drives on IDE device destruction. 2020-11-16 19:34:28 +00:00
SarahW
d5dbe302b5 Implement CPU clock control on SCAT. Patch from Greatpsycho. 2020-11-16 17:59:57 +00:00
SarahW
fbb5904b52 Rework AudioPCI IO port handling to avoid potential conflict between
native and CODEC ports. Fixes AudioPCI with Windows XP.
2020-11-15 16:56:43 +00:00
SarahW
142301adbf Don't enable SCAT shadow RAM if SCAT configured for less than 1 MB of
low memory. Fixes Hyundai Super-286TR with 1 MB RAM configured.
2020-11-15 13:44:23 +00:00
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