Commit graph

  • d729fc8297 Added recompiled versions of MOV seg, POP seg, PUSH FS/GS, LDS,LES,LFS,LGS,LSS. SarahW 2016-12-10 12:23:06 +00:00
  • 6131d9b7d9 Fixed bug in x86-64 recompiler introduced by rev 581. SarahW 2016-12-10 11:50:41 +00:00
  • 0cf0c7792c Added code generation for CLI and SEI. SarahW 2016-12-07 21:32:12 +00:00
  • abbfa86660 CLI no longer ends a code block SarahW 2016-12-07 21:30:55 +00:00
  • a1e57db669 Fixed opcode enable in code generation for opcode 0xff SarahW 2016-12-07 21:12:29 +00:00
  • 437a9560f2 Added code generation for FCHS, FCOMPP, and FLD constant forms. SarahW 2016-12-07 20:52:02 +00:00
  • 53f1da90ab Fixed saving of cache setting that rev 578 broke. SarahW 2016-11-28 21:03:23 +00:00
  • bfc69a4bea Cleaned up ibm.h a bit SarahW 2016-11-28 20:06:17 +00:00
  • 9ae73bedd8 Added missing files from previous commit. SarahW 2016-11-28 17:41:02 +00:00
  • a4f3b2013e Added AMI 386DX and MR 386DX models (both based on OPTi 495 chipset). AMI 386DX supports external cache, useful for with prefetch emulation. Also commit a few fixes required : - Set EDX correctly on soft reset - LOCK NOP is now treated as an illegal instruction - Tweaks to FDC sense interrupt handling following FDC reset SarahW 2016-11-27 21:53:13 +00:00
  • 1b73963997 Added prefetch timing approximation for 286/386 CPUs, with configurable memory timing. SarahW 2016-11-25 21:32:02 +00:00
  • c5889e311f Implemented Voodoo 2 triangle setup cull ping-ponging. Fixes missing triangles in Starsiege Tribes. SarahW 2016-11-22 19:42:08 +00:00
  • e162b6166e Voodoo now implements texture RGB as a multiplier input in the colour combiner. SarahW 2016-11-20 17:16:00 +00:00
  • 7084337906 Voodoo non-recompiler now implements texture alpha reverse blending correctly. SarahW 2016-11-20 17:15:18 +00:00
  • de1d72b92b Voodoo non-recompiler now uses correct W coordinate for TMU #1 SarahW 2016-11-20 17:14:48 +00:00
  • fd8b80d371 Fixed typo in shift counts in texture alpha extraction code in Voodoo recompiler. SarahW 2016-11-20 17:14:07 +00:00
  • 747f8994ca Added code generation for RMW versions of SHL/SHR/SAR SarahW 2016-11-17 20:01:28 +00:00
  • b9a7fb042f Added code generation for RMW versions of INC/DEC SarahW 2016-11-16 21:14:38 +00:00
  • bd3576e947 Fixed missing declaration of 'fatal' in ibm.h SarahW 2016-11-15 21:11:42 +00:00
  • 0985952317 Added code generation for RMW versions of ADD/SUB/OR/XOR/AND SarahW 2016-11-13 14:30:39 +00:00
  • a174a88c49 Codeblock tree now includes both physical and virtual addresses into key. Fixes performance issues with Windows 3.1. SarahW 2016-11-08 21:30:48 +00:00
  • 52fd357f3d Voodoo CLUT data can be written via CMDFIFO. SarahW 2016-10-22 16:13:42 +01:00
  • 396992f102 More accurate PCI timing, mainly for Voodoo. SarahW 2016-10-22 16:01:49 +01:00
  • 31c311924c Added Voodoo 2 emulation. SarahW 2016-10-22 14:18:06 +01:00
  • 3527f822b9 Added Plantronics ColorPlus emulation. Patch from John Elliot. SarahW 2016-10-16 20:29:12 +01:00
  • 3df46b4479 Memory addressing on XT now wraps at 1MB. SarahW 2016-10-09 08:53:04 +01:00
  • e591f95f8e Fixed bug that cleared disc change line when loading new disc. SarahW 2016-10-04 19:39:37 +01:00
  • 620beb1eb5 Writing to VGA RAMDAC write index also sets read index. Fixes colours in Planet Football. SarahW 2016-10-03 18:17:40 +01:00
  • 0b5c3d24ea Added support for Voodoo with 2 TMUs (Obsidian SB50 with Amethyst daughterboard). As part of this change, Voodoo now converts textures to ARGB8888 and caches ahead of rendering. Minor speedup. Also fixed Z clamping when depth bias in use. SarahW 2016-10-01 16:42:04 +01:00
  • 273ef3847a Improvements to flash ROM emulation on Premiere/PCI, Advanced/EV and Award 430VX PCI modules. Patch from Battler. SarahW 2016-09-18 15:57:46 +01:00
  • dd2a608707 x86-32 recompiler performs float->integer rounding by loading FPU control word instead of calling helper function - speedup on some stuff. SarahW 2016-09-18 14:57:10 +01:00
  • aab2c3e7cf Don't inline memory read/write code in x86-32 recompiled blocks - speedup (up to 20% seen) SarahW 2016-09-15 21:06:28 +01:00
  • 6b5467a6c9 Remove unnecessary flag rebuilding in FP_ENTER(). SarahW 2016-09-11 17:16:34 +01:00
  • 75f9316c11 x86-32 recompiler compiles FPU instructions using direct access to register stack when top-of-stack is static. Minor speedup. SarahW 2016-09-11 15:38:05 +01:00
  • 1004d947d5 Fixed bug with FRSTOR which broke FPU copy. SarahW 2016-09-10 18:41:58 +01:00
  • 26b8bdddb6 Fixed branch offset in x86 recompiler JNLE instruction - MS-DOS 6.22 installer works again SarahW 2016-08-30 20:32:11 +01:00
  • b92634dea6 Added missing Alpha+YIQ texture format to Voodoo. Added depth source select to Voodoo. Fixes graphics issues with Requiem : Avenging Angel SarahW 2016-08-29 17:29:55 +01:00
  • d27c7a0947 Replaced Windows critical section with mutex - fixes some issues with window movement/resizing when using Direct3D output. SarahW 2016-08-28 20:31:12 +01:00
  • 6aef53e854 Remove remaining references to 32-bit addresses in x86-64 recompiler. SarahW 2016-08-28 15:58:30 +01:00
  • ea4cd4f35c Added simpler Linux makefiles for those who don't want to use autoconf. Based on patch from moochmcgee SarahW 2016-08-28 15:58:52 +01:00
  • ab7ef825c5 Fixed build issue in allegro-video.c SarahW 2016-08-28 14:39:41 +01:00
  • 5a02b518b8 Moved FPU register stack into cpu_state structure. Fixed a couple of FPU bugs in x86-64 recompiler that were introduced in rev 543, fixes lightmap issues in Half-Life. SarahW 2016-08-25 21:09:02 +01:00
  • eb126fd822 Moved more variables into cpu_state structure. SarahW 2016-08-21 21:28:23 +01:00
  • c664682758 Move some more variables into cpu_state structure. Minor speedup (~2%). SarahW 2016-08-17 21:28:16 +01:00
  • a65411466e Corrected GUS IRQs when GF1 and MIDI IRQs are combined. Corrected voice playback when rollover is enabled. Fixes issues with Windows 3.1 GUS drivers. SarahW 2016-08-16 20:29:12 +01:00
  • 4e9400bfca IBM PC now has correct memory size switch settings implemented - should now boot correctly on configurations other than 640kb. SarahW 2016-08-16 18:37:34 +01:00
  • 5f6fb407d4 Force re-seek on disc loading - fixes issues with disc change not seen on some models. SarahW 2016-08-16 18:13:41 +01:00
  • 4e299a8038 Rewrote handling of host time synchronisation. Amstrad machines now boot again. Also fixed a bug where the emulated time ran 100x faster than expected. SarahW 2016-08-15 20:28:02 +01:00
  • 535604b760 Pack decoded ModR/M data into a single word - minor recompiler speedup. SarahW 2016-08-14 16:29:54 +01:00
  • 31298d6be1 Recompiler no longer sets tempc variable before calling opcode routine. SarahW 2016-08-14 11:22:07 +01:00
  • 57e2a45d83 PIC mask is set to 0 when ICW1 is written - Crystal Dream 2 now works. SarahW 2016-08-11 20:25:00 +01:00
  • 2457ff050f Fixed vblank start on ET4000 - now displays 1280x1024 correctly. SarahW 2016-08-01 16:29:51 +01:00
  • 064acbf07d Added self-modifying code fix to x64-64 recompiler. SarahW 2016-08-01 16:12:13 +01:00
  • 81b1bfc07f Fix self-modifying code bug, Windows 3.1 works again. SarahW 2016-08-01 15:04:17 +01:00
  • 42237ac1f8 Recompiler now only recompiles a block after seeing it twice. Improves performance on stuff that uses self modifying code - eg Doom, Duke Nukem 3D, Windows 95 idle SarahW 2016-07-31 12:33:37 +01:00
  • d027c55269 Reduced ET4000/W32p FIFO by one entry - fixes display corruption with some drivers. SarahW 2016-07-26 21:04:39 +01:00
  • 9111b282f9 Added option to disable CGA snow emulation. SarahW 2016-07-21 21:36:51 +01:00
  • ea40fefa4f Added missing svga_recalctimings() call to STG and unknown ET4000 RAMDACs. SarahW 2016-07-21 20:50:18 +01:00
  • ef4d0ce9c2 Added Thrustmaster FCS emulation. SarahW 2016-07-21 20:14:17 +01:00
  • 68fdba354f Added CH Flightstick Pro emulation. SarahW 2016-07-20 22:04:50 +01:00
  • 074de51639 RTC changes : - Replace linux-time.c and win-time.c with universal rtc.c code - Add RTC binary and 12-hour modes, century register, and alarm support - Cleaned up nvr.c a bit - Fix handling of update ended flag - Add ability to disable host clock synchronisation Changes from Battler and Mahod. SarahW 2016-07-19 20:25:27 +01:00
  • 9f4b159121 Move video blit to seperate thread. SarahW 2016-07-18 21:15:32 +01:00
  • 7818f459ee Improved CGA composite filter. Filter by reengine, patch from Battler. SarahW 2016-07-08 19:57:47 +01:00
  • 4ae8f2d260 REP instructions now handle trap flag correctly, Windows NT 3.51 now works on 386 systems. SarahW 2016-06-28 21:58:21 +01:00
  • 9283bd320f Added files missing from 520. SarahW 2016-06-23 17:55:38 +01:00
  • 7980438e1f Reworking of joystick support : - Joystick type now selectable - Added emulation of standard joysticks with up to 8 buttons - Added emulation of Microsoft Sidewinder pads - Host->emulated joystick button & axis mapping now configurable (only on Windows atm) - Gameport registers now take 1us to access - helps Sidewinder drivers SarahW 2016-06-21 22:00:31 +01:00
  • 9021d9f2c2 PIT now supports read-back of timer status - Sidewinder Windows 9x driver setup no longer hangs. SarahW 2016-06-21 21:55:06 +01:00
  • 01ad1ed98c Add option to remember window size & position. SarahW 2016-06-10 20:49:03 +01:00
  • 541c9f0030 Fixed Voodoo x86 codegen data allocation - should work with DEP enabled. SarahW 2016-06-06 21:27:52 +01:00
  • 8790a58f8f Update version number to v11. Update readme.txt for v11. SarahW 2016-06-05 20:59:51 +01:00
  • 8521ef6435 Disable ViRGE memory dumping in release build. SarahW 2016-06-05 20:59:36 +01:00
  • 45c7eab585 Fixed Sound Blaster CD audio volume. SarahW 2016-06-05 18:00:50 +01:00
  • 7bd35a0c10 Update Makefile.am TomW 2016-06-05 08:24:18 +01:00
  • 2c8dfb11d3 Corrected CRTC address mask on Mach64 - SuSE 6.3 YaST2 doesn't give broken display anymore. SarahW 2016-06-02 19:35:46 +01:00
  • 17865d84bc If Voodoo FIFO is full and FIFO thread is waiting for swap to complete, process swap immediately. Fixes hangs in Carmageddon and TOCA 2. SarahW 2016-05-26 21:38:21 +01:00
  • a2f96effad Added 0xDC aliases for FCOM/FCOMP - Trespasser now works. SarahW 2016-05-25 19:23:36 +01:00
  • d2b6ea7fa3 Mix sound sources in 32-bit buffer, then clip to 16-bit for output. Fixes overflow in some situations, eg MegaRace on SB16. SarahW 2016-05-22 16:04:19 +01:00
  • 9a5ac02902 Clear DSKCHG on any seek command, regardless of whether the head actually moves - fixes floppy in OS/2 Warp. SarahW 2016-05-22 13:50:41 +01:00
  • b35e17c2b4 Corrected XDF track 0 layout, fixes OS/2 Warp setup. SarahW 2016-05-22 13:50:10 +01:00
  • 7fbb99fe75 Don't quit emulator on triple fault when dynamic recompiler enabled. SarahW 2016-05-21 21:14:00 +01:00
  • 696f25a8a4 Fixed OPL3 percussion mode. SarahW 2016-05-19 21:18:00 +01:00
  • 02153343ab Fixed clamping issue with RGB iterator in Voodoo code generation. Fixes artifacts in Alien vs Predator. SarahW 2016-05-18 20:08:13 +01:00
  • abf975e2af x86-64 recompiler now saves/restores correct registers on entry/exit of code block. SarahW 2016-05-18 20:06:28 +01:00
  • 4024be8e52 ViRGE 2D blitter wraps X coordinates at 11 bits. Fixes missing text with some Windows drivers. SarahW 2016-05-15 21:09:26 +01:00
  • 693d6fe757 Removed incomplete ATAPI Get Configuration command, Windows XP setup now works again. SarahW 2016-05-15 19:54:56 +01:00
  • ffb1a46fc1 Brought Linux GUI up to date. SarahW 2016-05-15 11:58:58 +01:00
  • 512c8e5d44 Winchip FPU timings now more accurate. SarahW 2016-05-14 19:36:40 +01:00
  • 2909742567 Re-wrote broken codeblock_tree_delete() function. SarahW 2016-05-12 21:21:49 +01:00
  • 75ed8c9641 ViRGE fixes : - Create 2D FIFO thread and events on ViRGE 325 as well as DX - fixes crash when blitter first used - Wake 2D FIFO thread when writing to empty/nearly empty FIFO - fixes ViRGE 325 Windows 95 drivers - Read status register on byte access - fixes ViRGE 325 Windows 95 drivers SarahW 2016-05-10 21:07:13 +01:00
  • 5da7de098e Tweaks to PC speaker code - fixes sound in Castle Wolfenstein. SarahW 2016-05-09 20:11:03 +01:00
  • a93df8e16b Fixed Mach64 linear source mode - fixes text in Corel Linux in 8-bit colour. SarahW 2016-05-08 21:52:57 +01:00
  • b39eb20237 Mach64 fixes : - Added support for 8-bit RAMDAC mode - Added ABGR8888 mode - Add support for mono blitter source - Identify RAMDAC type correctly - Use correct colours for hardware cursor Fixes issues in Corel Linux. SarahW 2016-05-08 20:41:51 +01:00
  • a151e90aeb x86 recompiler now saves/restores correct registers on entry/exit of code block. SarahW 2016-05-07 15:34:08 +01:00
  • 3597ae1873 If POP SS causes a fault then don't run the following instruction. Fixes Virtual Pool. SarahW 2016-05-05 19:24:18 +01:00
  • 6ac7faf14f Correct FDI head count. SarahW 2016-05-04 20:51:51 +01:00
  • 52636936e9 Limited how long REP instructions are uninterruptable for, improves sound on games/demos that use high-frequency timer interrupts for sound output (eg Crystal Dream, Cronologia) SarahW 2016-05-03 21:31:05 +01:00
  • 27545dbd62 Sound Blaster Write Buffer Status register now set to full on data write and cleared after a short wait - sound in Crystal Dream no longer cuts off after the first few seconds. SarahW 2016-05-03 21:29:33 +01:00
  • 57e2a4d678 Added PIC auto-EOI mode - Crystal Dream now runs SarahW 2016-05-03 21:27:35 +01:00
  • 0724cfcae4 Add emulation of IBM PS/1 Model 2121. As part of this : - FDC Specify command now completes immediately - Implemented keyboard system flag status - Added ability to remap 384kb reserved memory to above extended memory SarahW 2016-05-02 20:06:49 +01:00
  • f6a4c54741 Floppy drive type defaults to sensible value. SarahW 2016-05-01 12:27:26 +01:00