Commit graph

209 commits

Author SHA1 Message Date
TomW
708cf896d1 Added usable 3DFX emulation. 2015-03-08 15:55:03 +00:00
TomW
c11a771530 Fixed crashes in fastread*() 2015-02-16 20:00:16 +00:00
TomW
4ebd447e89 Fixed carry flag in DAA/DAS. 2015-02-13 21:06:54 +00:00
TomW
c7b6fde58c Added code generation for memory source versions of AND, OR, XOR and TEST (that was intended for rev 199). 2015-02-09 21:21:48 +00:00
TomW
d6c177a3c0 DMA now causes page dirty mask to be updated. 2015-02-09 18:26:59 +00:00
TomW
68df72958c MOV EAX/AX/AL with immediate address now has correct PC when aborting. 2015-02-09 18:09:46 +00:00
TomW
d1422eee39 Fixed loaded CPL on interrupt, Coherent now works. 2015-02-09 15:37:09 +00:00
TomW
ac9b5a9927 Fixed missing CD audio. 2015-02-09 12:33:52 +00:00
TomW
bc5ce43519 Memory-source arithmetic instructions now have correct PC when aborting. Fixes Discworld 2.
Removed some debug junk from last commit.
2015-02-09 12:17:54 +00:00
TomW
ba715706b6 Added code generation for memory versions of MOV, and memory source versions of ADD, SUB, AND, OR, XOR and CMP. 2015-02-08 17:17:14 +00:00
TomW
7a7f586cd3 64-bit fixes. 2015-02-03 18:47:16 +00:00
TomW
47db0646c1 Fixed typo in x87 opcode tables. 2015-02-03 18:42:09 +00:00
TomW
ea5e96569d Lazy flags code now handles carry flag. 2015-02-02 19:54:01 +00:00
TomW
b4592cdea3 Implemented new memory mapping to improve performance of self modifying code.
New scheme allows code blocks to cross pages.
Reduced code block size down to 2kB.
2015-01-28 21:58:02 +00:00
TomW
798c24d7c4 Fixed flag on recompiled 8-bit SUB reg,imm - Windows 95 setup works again 2015-01-26 21:58:14 +00:00
TomW
f38e2be43f Implemented trap flag on dynamic recompiler. 2015-01-18 17:13:49 +00:00
TomW
95640bb4bb SGDT now stores all 32 bits of the base address, even in 16-bit mode. Fixes Win32s. 2015-01-18 15:36:30 +00:00
TomW
17ee2a7d9e FLAGS bit 15 now always clear on 386+ CPUs. Fixes HX DOS extender CPU type test. 2015-01-18 14:50:55 +00:00
TomW
19c318675a FCOM/FUCOM now use inline assembler on x86 targets. Unreal now works. 2015-01-17 22:06:32 +00:00
TomW
630592125c Added code generation for immediate->register and register versions of MOV, XCHG, ADD, SUB, AND, OR, XOR, TEST, CMP, INC and DEC. 2015-01-16 21:22:14 +00:00
TomW
00f6271ec8 Recompiled code blocks are no longer allowed to cross pages.
Recompiling of blocks is aborted if the code page becomes dirty.
Fixes Windows 98 setup.
2014-12-06 16:35:45 +00:00
TomW
4855071ead Effective address calculations now implemented by recompiled code. Up to 30% performance gain seen. 2014-11-30 17:48:10 +00:00
TomW
436c5b8cc2 Added Pentium Overdrive support. Patch from nerd73. 2014-11-24 18:23:03 +00:00
TomW
8ceb92db82 Fixed Linux build broken by last commit. 2014-11-23 20:53:53 +00:00
TomW
84ac04d2df Added Intel Premiere/PCI (Batman's Revenge) and Advanced/EV (Endeavor) motherboards.
Added emulation of i430LX and i430FX chipsets.
Added support for PCI configuration type 2, used by i430LX.
Added AT disable keyboard command, and fixed enable keyboard command.
Added emulation of Intel 28F001BXT flash ROM, used by Advanced/EV.
Fixed a bug in REP when using multiple 66/67 prefixes.
2014-11-23 20:27:41 +00:00
TomW
55b51a4a55 Implemented segment limit checks on FSTP double - fixes LBA2 on Pentium. 2014-11-19 18:12:42 +00:00
TomW
ca67e8adba Changed data ordering in S3 acceleration in 32bpp modes, fixes display with some drivers. Patch from Battler. 2014-11-18 19:25:06 +00:00
TomW
2be271d050 Added menu option to send CTRL-ALT-DELETE to emulated machine. Patch from GeeDee. 2014-11-18 18:38:12 +00:00
TomW
13226a2bd4 Added Pentium and Pentium MMX emulation. 2014-11-17 20:41:02 +00:00
TomW
aecf865c2c Re-added FCOMPP 80387 detection hack accidentally removed in FPU reorganisation. 2014-11-17 20:23:29 +00:00
TomW
d13caf1b8a HLT now reduces CPU usage in recompiler. 2014-11-16 15:09:27 +00:00
TomW
ac01998c1e LOCK prefix on recompiler no longer causes following instruction to be executed twice - fixes Windows 2000. 2014-11-16 15:01:31 +00:00
TomW
2905c43db8 Cycle counts for recompiled blocks now generated at compile time. 2014-11-12 19:33:49 +00:00
TomW
087f412d3f Reorganised FPU emulation. 2014-11-09 14:07:03 +00:00
TomW
0aa0887c58 Interpreter is default build. 2014-11-05 21:27:56 +00:00
TomW
4676daade4 Initial commit of dynamic recompiler.
Various CPU changes to support dynamic recompiler.
2014-11-05 21:24:16 +00: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
e00e489d5a Fixed MMX PANDN instruction. 2014-10-08 20:43:36 +01:00
TomW
26152e6522 Updated version number to v9.
Updated documentation for next release.
2014-10-04 19:39:09 +01:00
TomW
dc7bf986d6 Fixed frequency control on ViRGE/DX 2014-10-04 17:51:51 +01:00
TomW
008c795834 Further fixes to IMUL flags. 2014-10-02 19:52:56 +01:00
TomW
b9d132a506 Fixed PC1640 video timings, fixes hang on startup. 2014-09-28 11:48:52 +01:00
TomW
b96dabbe98 Silence PC speaker output at very high frequencies - fixes Lemmings and other games that use high frequency as "speaker off". 2014-09-28 11:33:08 +01:00
TomW
7eacf1408a Implemented NMI mask register for XT machines.
Fixed PC200 NMI stuff.
2014-09-27 18:39:06 +01:00
TomW
8ce24651f1 Fixed incorrect flags on some versions of IMUL. 2014-09-27 12:13:46 +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
f98af7b525 Mach64 now identifies correctly as PCI when used with a PCI system. 2014-09-20 17:24:23 +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