Commit graph

  • 685d6f2c33 Add range checks to PIIX read/write functions. TomW 2015-10-31 18:35:56 +00:00
  • 36793f18db Add range checks to ET4000/W32p VRAM read/write functions. TomW 2015-10-31 18:23:39 +00:00
  • 15a1631ba0 Clear _mem_exec array on init/reset. Do not add (junk) entries to _mem_exec if mapping is not executable. Do not fatal() on attempting to execute from non-executable memory; return page of 0xff instead. Fixes emulator crash in Premiere/PCI when leaving BIOS setup without a valid CMOS setup. TomW 2015-10-31 17:55:40 +00:00
  • 30826ba98a Bumped version number up to v10. Updated readme file. TomW 2015-10-31 17:49:22 +00:00
  • 774115c6ca Implement PPI switch read correctly for IBM PC. TomW 2015-10-23 20:40:28 +01:00
  • a78d20333a Implemented keyboard Enable Mouse Port command. Fixes PS/2 mouse in Windows NT. TomW 2015-10-21 21:39:41 +01:00
  • a2046fe37f Fixed stupid typos in FPU rounding - Unreal software mode works again. TomW 2015-10-19 20:34:58 +01:00
  • 30f92469d1 CD-ROM drive is now secondary master if no hard drive is present in that position. TomW 2015-10-19 18:39:00 +01:00
  • 2352033b48 Implemented PS/2 mouse Status Request command. TomW 2015-10-19 18:31:12 +01:00
  • cd091a61c0 Amplified EMU8000 output a bit. TomW 2015-10-18 15:36:06 +01:00
  • 71a2af82c4 Tweaked PIT GATE handling, fixes Lemmings 2. TomW 2015-10-18 15:35:56 +01:00
  • 7341cf2a20 Disabled opcode 0x86 (XCHG byte) on x86-64 recompiler. TomW 2015-10-15 19:40:53 +01:00
  • 75536e184f Fix ATAPI interrupt status following Mode Select command - fixes OS/2 Warp 3 CD installer. TomW 2015-10-13 17:56:54 +01:00
  • 9d2dd22d6d Initialise A20 gate correctly at startup. Keyboard controller self-test command enables A20. HIMEM.SYS included with Windows/286 now works. TomW 2015-10-12 13:42:09 +01:00
  • d574a4f5eb Correct S3 class code. Limit S3 attribute registers to those actually present. Don't update current position registers at the end of BitBlt command. Fixes S3 on SUSE 6.3. TomW 2015-10-11 20:36:18 +01:00
  • 25ac41fbde Ignore odd/even mode when loading VGA latches on memory read. Fixes Jazz Jackrabbit. TomW 2015-10-10 14:33:36 +01:00
  • 6602a32304 Reverted rev 339. Fixes Adlib Gold jukebox. Disable PIT timer operation between write of control word and initial count. Lemmings High Performance PC mode now works without incorrect rev 339 commit. TomW 2015-10-10 14:32:50 +01:00
  • b79be95623 Force PCem to leave fullscreen mode when losing focus. DirectInput mouse initialisation no longer fails if mouse can not be immediately acquired. TomW 2015-10-08 19:41:52 +01:00
  • b9a0084792 Don't reset IDE block size on IDE soft reset. TomW 2015-10-06 21:54:54 +01:00
  • ea2898d045 Voodoo now always allocates 4MB for framebuffer memory, though only 2MB may be accessible. Fixes crash in Need For Speed III when using 800x600 (no Z-buffer) with 2MB of framebuffer memory configured. TomW 2015-10-06 21:19:04 +01:00
  • 9ed4cf8582 Voodoo floating point parameters are converted to fixed point on register write instead of on triangle command. Fixes health bar in Tomb Raider. TomW 2015-10-06 21:07:24 +01:00
  • fba5891d95 Re-implemented FDC Read a Track command. King's Quest 1 booter works again. TomW 2015-10-04 17:52:38 +01:00
  • e34daca27d Removed bad Num Lock handling code. TomW 2015-10-04 11:36:49 +01:00
  • 5e08d53c73 Voodoo texture processing now dependent on texturing being enabled in fbzColorPath. Fixes transparency issues in Tomb Raider, might cause speedup in games that use non-textured triangles. TomW 2015-10-04 11:33:13 +01:00
  • 5a1f5769e2 Cancel FDC ready state change reports from reset on submission of recalibrate command. Phoenix XT clone now boots from floppy. TomW 2015-10-02 21:51:28 +01:00
  • b466ad9f42 Starting Sound Blaster DMA now clears pause status. Implemented dummy ASP/CSP upload command (DSP command 0x01). Fixes issues with SB16/AWE32 drivers in Windows 3.x. TomW 2015-10-01 21:41:25 +01:00
  • 9bcd23c614 Corrected MSF->LBA conversion for CD audio. TomW 2015-10-01 20:15:44 +01:00
  • 60d75012df Implement ATAPI Stop Play/Scan command. Stop CD audio playback on IDE reset, ATAPI reset, and hard reset. TomW 2015-09-30 20:45:47 +01:00
  • 33685c3318 More changes to FPU nearest rounding, Unreal works again. TomW 2015-09-28 20:33:36 +01:00
  • 3e314ccdfb Implemented ViRGE 2D Polygon Fill command. Improvements to ViRGE line draw. TomW 2015-09-26 17:56:55 +01:00
  • 299f6c8dfb Nearest FPU rounding mode now handles negative numbers correctly. Fixes Retro City Rampage 486. TomW 2015-09-26 17:54:25 +01:00
  • 986476b9db FPU rounding modes now have effect in FADD double precision. Fixes rendering in Interstate '76. TomW 2015-09-21 21:54:43 +01:00
  • ea13ae015b Added FPREM1 instruction for Interstate '76. TomW 2015-09-21 08:14:53 +01:00
  • 99060248b2 First FDC Sense Interrupt Status command after post-reset ready state change results is now zero. Fixes Grey Cat Linux. TomW 2015-09-19 19:01:32 +01:00
  • 8d3c6fb195 Implemented VGA attribute enable bit in attribute index - VGA grabber in Windows 3.x now works properly. TomW 2015-09-18 20:42:37 +01:00
  • 38d9b45177 Clear PIC interrupt service registers on writing ICW1. TomW 2015-09-16 20:44:34 +01:00
  • 1554c9929a Fixed display size on ViRGE. TomW 2015-09-16 20:01:47 +01:00
  • 1e45ba5f34 Removed a bunch of old #defines. Cleaned up some dead code. TomW 2015-09-16 19:08:50 +01:00
  • 6b82be0624 Tweaks to PIT latch operation - Juko XT now boots again. TomW 2015-09-15 21:53:45 +01:00
  • cedad6dba0 Re-ordered ROM set enum - recently added XT clones now actually act as XTs. TomW 2015-09-15 21:52:31 +01:00
  • 46ca59f2a6 Fixed race condition in Voodoo FIFO thread. TomW 2015-09-15 20:15:24 +01:00
  • 77cc248147 Implemented Voodoo performance counters. TomW 2015-09-13 12:10:44 +01:00
  • 1e4c58fee8 Implemented Voodoo vertical retrace status bit. TomW 2015-09-13 11:42:12 +01:00
  • 2e6a5c3f90 ViRGE display height when stream processor enabled now clipped to CRTC display height. TomW 2015-09-13 11:06:16 +01:00
  • 133c9d389a MMX 64-bit MOV instructions now handle faults correctly. TomW 2015-09-12 18:57:38 +01:00
  • 05d9cc34a8 FDC track number is incremented when hitting end of track when operation is not multi-track. Fixes BasicLinux. TomW 2015-09-12 16:45:20 +01:00
  • 5260f5f5cd PIC clears pending flag when acknowledging interrupt. PIT latch mode works correctly. Fixes 'High Performance PC' mode in Lemmings. TomW 2015-09-12 14:57:14 +01:00
  • 276650c145 Timers now always processed in correct order. Fixes sound in Lion King and probably some other timing related issues. TomW 2015-09-12 14:54:40 +01:00
  • 390c5e2999 S3 ViRGE 256kb RAM mask now only applied in VGA mode. TomW 2015-09-10 21:10:50 +01:00
  • 8206a2ea0b IDE reset now resets both devices on the affected channel. IDE reset now works when only slave device is present. ATAPI signature now set on IDE reset. TomW 2015-09-10 20:40:45 +01:00
  • 4c8e892872 Windows x86 32-bit recompiler should now work with DEP enabled. TomW 2015-09-03 18:35:58 +01:00
  • 096f498be3 Fullscreen mouse pointer workaround now only applied when the PCem window is in focus. TomW 2015-09-01 21:15:04 +01:00
  • 4a279b8452 Fixed Mach64 32-bit mode. TomW 2015-09-01 20:05:28 +01:00
  • 2efc56e882 Reset triggered by keyboard controller should now be handled correctly by dynamic recompiler. TomW 2015-08-31 19:31:23 +01:00
  • 2323962168 Workarounds for mouse pointer issues when entering/exiting fullscreen. Patch from ecksemmess. TomW 2015-08-31 12:40:25 +01:00
  • 5ac8fd496a Fixed bug preventing FXAM from clearing C1 flag - fixes bugs in Half-Life, Final Fantasy VII, DEU and probably others. TomW 2015-08-29 14:41:32 +01:00
  • f90c4053c4 Nested Task flag is cleared on JMP to task gate. Fixes GO32. TomW 2015-08-29 10:57:15 +01:00
  • 115e829480 AWE32 onboard RAM size now configurable. Also fixed a memory leak in the EMU8000. TomW 2015-08-27 20:39:38 +01:00
  • e7695122b2 Expanded MODEL cpu array to 4 entries. TomW 2015-08-27 19:20:34 +01:00
  • 91eaa9c83b Writing PIT control byte with mode 0 resets PIT output. Fixes 103 error on PS/1. TomW 2015-08-26 20:34:05 +01:00
  • 5005e43b80 FDC sector number is always reset when hitting end of track, regardless of whether operation is multi-track or not. Fixes floppy disc on Windows 2000. TomW 2015-08-26 20:32:39 +01:00
  • b53c7d32f9 Added dummy RDPMC implementation. TomW 2015-08-25 19:32:15 +01:00
  • e6bd0093bd Masked off drive select. TomW 2015-08-25 19:20:57 +01:00
  • 4e9ee6e927 Can now select to emulate 1.2MB 5.25" disc drive, with double stepping. TomW 2015-08-24 21:09:35 +01:00
  • 9fe79c1827 Fixed drive select for disc poll function. TomW 2015-08-24 20:47:48 +01:00
  • 25286c8f0b Windows MIDI out device now selectable. TomW 2015-08-23 20:59:15 +01:00
  • 8b572111da CD audio processing now performed on a dedicated thread. Sound Blaster mixer now affect CD volume. TomW 2015-08-23 15:35:37 +01:00
  • df2a1bfe07 Out of bounds sectors on .img disc images now cause sector not found errors. TomW 2015-08-22 19:00:38 +01:00
  • 5b1e7aece0 Added simulation of PCI access timing to Voodoo. TomW 2015-08-22 17:03:37 +01:00
  • 1e14beaa41 MMX instructions now work in real/16-bit modes. TomW 2015-08-22 14:33:21 +01:00
  • d4247023a9 MMX 64-bit stores now count cycles. TomW 2015-08-22 14:21:53 +01:00
  • 7ed3813dc4 Fixed error text in HD config dialog. TomW 2015-08-22 11:01:04 +01:00
  • 1ef98a475f Limited hard drive head count to 16. TomW 2015-08-22 08:08:56 +01:00
  • f339f00315 Interpreter and dynamic recompiler now present in a single binary. TomW 2015-08-21 20:55:36 +01:00
  • 969d5811e5 Fixed text mode in Paradise VGAs (Amstrad systems). TomW 2015-08-20 20:56:28 +01:00
  • a2bef57491 Minor optimisation to x86 recompiler versions of JL/JNL/JLE/JNLE/JBE/JNBE. TomW 2015-08-19 21:31:13 +01:00
  • 7bc0f3c54e Fixed CGA 320x200x4 on EGA and (S)VGA cars. TomW 2015-08-19 21:13:30 +01:00
  • 6af87dbd47 Added Phoenix XT clone and Juko XT clone. Patch from te_lanus. TomW 2015-08-19 20:17:04 +01:00
  • 81987c0ac5 Added DTK 386SX clone and Phoenix 386 clone. Patch from nerd73. TomW 2015-08-19 20:01:20 +01:00
  • 726e3bfcd9 Split Voodoo render thread into FIFO thread and one or two render threads. TomW 2015-08-19 19:21:51 +01:00
  • 3789398ca6 Changed registers used for EGA/VGA odd/even mode. TomW 2015-08-14 21:54:42 +01:00
  • b108ffe89a Fixed PUNPCKHDQ. TomW 2015-08-13 21:34:07 +01:00
  • 0a5e80325a VGA RAMDAC does not update palette until all three elements are written. Fixes Windows 3.x EGA driver when run on a VGA card. TomW 2015-08-13 19:49:19 +01:00
  • 12232fd7b8 Implemented odd/even memory mode for EGA and VGA. TomW 2015-08-12 20:37:39 +01:00
  • cffa5a9926 SIDT always stores 32-bit base on 386+. Fixes OS/2 2.0. TomW 2015-08-11 20:44:16 +01:00
  • cd8d2a6824 Added FP_ENTER() to FPU instructions that were missing it. TomW 2015-08-10 17:50:56 +01:00
  • 0e76e79962 Fixed CPL in IRET and RETF instructions when returning to conforming code segment. TomW 2015-08-10 17:50:15 +01:00
  • 68546ea3cb Corrected CPL on INT to conformant code segment. TomW 2015-08-10 15:01:36 +01:00
  • 8056c314c5 Fixed disc_changed array overrun - fixes disc error in OS/2 v1.3. TomW 2015-08-10 08:38:25 +01:00
  • 9715794e08 Recompiler now handles divide exceptions correctly - now runs Flight Simulator 5.1 with QEMM TomW 2015-08-09 13:06:01 +01:00
  • 8ee5c763bd PIT now reloads the timer count when hardware triggered strobe completes - no longer causes the emulator to hang. TomW 2015-08-09 12:17:34 +01:00
  • 959be30bd7 deviceconfig_open() now frees correct data pointer. TomW 2015-08-09 10:04:14 +01:00
  • 44f80b879e Implemented correct Voodoo pixel clock calculation. TomW 2015-08-08 20:57:17 +01:00
  • f75a24f539 Rewrote recompiler implementation of NEG. TomW 2015-08-08 16:05:05 +01:00
  • 34c0db9c10 Masked off the lower 12 bits of CR3. DESQview/X now works. TomW 2015-08-08 11:25:16 +01:00
  • 2db98723c7 REP instructions in 32-bit mode with both 0x66 and 0x67 prefixes now work correctly - fixes QEMM and DESQview. TomW 2015-08-07 21:31:00 +01:00
  • 81d13e37f6 Implemented dirty blitting for Voodoo. TomW 2015-08-06 20:14:08 +01:00
  • 14b73fb7e6 Fixed device requested in MingW64 OpenAL code. Patch from Battler. TomW 2015-08-05 20:46:55 +01:00
  • 5f391a1992 Reduced number of unnecessary register loads in x86-64 recompiler. TomW 2015-08-05 20:31:20 +01:00
  • 0bf08d9e74 x86-64 recompiler now at parity with x86-32 TomW 2015-08-04 18:36:27 +01:00