Commit graph

  • 396306bc39 Added VTech Laser Turbo XT and Laser XT3. Patch from te_lanus. TomW 2015-08-02 11:35:09 +01:00
  • 6b7d387787 Added AMI XT clone. Patch from nerd73. TomW 2015-07-25 18:33:38 +01:00
  • 04a0859f79 Effective address calculations now implemented by recompiled code in x86-64 recompiler. TomW 2015-07-19 16:59:58 +01:00
  • 406b16fa28 Add Voodoo Graphics to Linux configure menu TomW 2015-07-18 16:53:52 +01:00
  • 634c235dc2 Fix Linux build. Enable 64-bit recompiler in Linux. TomW 2015-07-18 16:03:39 +01:00
  • 08254b8dfb Initial 64-bit recompiler. Various 64-bit fixes. Various fixes to allow building under MinGW-w64. TomW 2015-07-18 12:11:54 +01:00
  • 5be9127d64 Added 3DFX screen filter and gamma correction. Patch from leilei. TomW 2015-07-14 20:42:14 +01:00
  • 854a2ee2a6 Fixed Final Fantasy 7 broken by rev 277. TomW 2015-07-14 20:09:14 +01:00
  • 6bc394b4c6 Recompiler now handles reset caused by a newly generated codeblock. TomW 2015-07-12 15:22:58 +01:00
  • d79814692f Flush memory->codeblock list heads on CPU reset - fixes "block->next->pc=0" errors on reset on some machines. TomW 2015-07-12 14:53:03 +01:00
  • e590bd9ca2 Added FDC37c655 SuperIO chip for Intel Premiere/PCI. TomW 2015-07-12 14:22:47 +01:00
  • 13ca7eadd4 Implemented LPT control register. TomW 2015-07-12 14:09:26 +01:00
  • f49e8a6cab Intel Premiere/PCI now uses PS/2 mouse. TomW 2015-07-12 12:12:27 +01:00
  • e10ee63a10 Added support for up to 4 IDE hard drives. TomW 2015-07-12 11:43:12 +01:00
  • c84cf05dc2 Minor optimisations to recompiler memory functions. TomW 2015-07-10 20:58:41 +01:00
  • 51489d031c Reduced number of segment/selector checks in recompiler - minor speedup. TomW 2015-07-08 20:40:37 +01:00
  • 80555e9d2a Added Compaq Deskpro 386 emulation. TomW 2015-06-30 20:17:43 +01:00
  • b9ad63e2fc Windows MIDI code now handles sysex messages correctly. TomW 2015-06-30 17:47:03 +01:00
  • 78a36b2e9d IOCTL CD-ROM code now returns 'not ready' when TOC can not be read. Should fix crashes in Windows 9x when CD drive empty or disc changed. TomW 2015-06-27 16:39:06 +01:00
  • 3e1600ae9e XTIDE support added for PS/1. TomW 2015-06-27 14:37:10 +01:00
  • 9f09e9c370 Added PS/1 model 2011 emulation. TomW 2015-06-21 16:03:33 +01:00
  • 0bf3e231e5 Improvements to PS/2 mouse emulation. TomW 2015-06-21 15:34:27 +01:00
  • b5a498683a Writing to read-only data selector now causes a fault. TomW 2015-06-21 14:54:58 +01:00
  • fd2fc0e02b Implemented serial scratch register. Serial IER register only 4 bits wide. TomW 2015-06-21 14:52:53 +01:00
  • de6369b82f Disc function pointers cleared when disc ejected. Read address on an ejected disc now times out. Write protect bit in ST3 now set correctly (Sense Drive Status command). Fixes discs on Windows 95. TomW 2015-06-21 14:51:58 +01:00
  • b7947bd68b Fixed BIOS ROM file offset for IBM VGA. Marked VGA as working. TomW 2015-06-13 20:16:02 +01:00
  • 63d33deb10 Added Mobile Pentium MMX CPUs (120-300 MHz). TomW 2015-06-13 16:50:53 +01:00
  • f3607c2308 Added code generation for : - FCOM/FUCOM - FSUBR/FSUBRP/FDIVR/FDIVRP - FLDCW/FSTCW - FILD/FIST/FISTP (16-bit, 32-bit and 64-bit variants) - FLD/FST/FSTP double precision - Integer and double precision variants of FADD/FSUB/FMUL/FDIV Also added 64-bit readmemq/writememq functions. TomW 2015-06-13 16:14:35 +01:00
  • f5a920e2e5 Voodoo buffer swaps now processed when VGA passthrough enabled - fixes Re-Volt. TomW 2015-06-06 14:26:38 +01:00
  • a44be6194c Further fixes to framebuffer read hangs in Voodoo - fixes International Rally Championship. TomW 2015-06-05 20:48:29 +01:00
  • 685e2460d4 Added RGB555 and ARGB1555 LFB formats for Voodoo. TomW 2015-06-04 21:49:09 +01:00
  • 75fa159caf Reworked Voodoo thread synchronisation, helps performance. TomW 2015-06-01 19:17:26 +01:00
  • ca7bd3740b Fixed hang in Voodoo emulation when a framebuffer read occurs while a swap request is pending - fixes Tomb Raider. TomW 2015-05-31 16:43:55 +01:00
  • 90aa13aa29 Voodoo PCI mapping disabled if base address is zero - fixes Voodoo + Sis496/497. TomW 2015-05-31 12:30:52 +01:00
  • 4b2eb2e252 Added Power on Setup register (46e8) for OAK OTI-067 - no longer goes to monochrome after reset. TomW 2015-05-31 11:19:06 +01:00
  • 05de040433 Added codegen_ops_shift.h file missing from rev 247. TomW 2015-05-30 22:31:54 +01:00
  • cb2df9e3cf Flush memory lookup cache when mappings re-calculated - fixes soft reset on AMI 386 clone. TomW 2015-05-30 20:25:59 +01:00
  • 880bec1ea0 FDC now implements write protect error correctly. TomW 2015-05-30 17:35:39 +01:00
  • 9061c5d2fc Added code generation for : - TEST immediate - register versions of NOT and NEG - fixed shift versions of SHL, SHR and SAR - MOVZX and MOVSX - LEA - CMP with memory destination - JL, JNL, JLE, JNLE, JBE, JNBE TomW 2015-05-30 17:08:54 +01:00
  • 6d95f00c36 POP SS correctly disables interrupts on the next instruction. TomW 2015-05-20 20:52:42 +01:00
  • 62b2bf03aa Implemented Voodoo pixel pipeline-processed framebuffer writes - fixes at least Jedi Knight and Populous The Beginning TomW 2015-05-20 20:30:02 +01:00
  • 52a27a9256 FPU copy should now work. TomW 2015-05-18 20:33:33 +01:00
  • 226b63d682 Fixed typo in Voodoo alpha combine. TomW 2015-05-14 20:30:15 +01:00
  • 2c818c4b1b Increased resolution of Voodoo S/T iterators. TomW 2015-05-12 21:28:32 +01:00
  • 9e9cf8060a Added configurable Voodoo framebuffer and texture memory. TomW 2015-05-11 21:31:04 +01:00
  • 9954a29348 Improved Voodoo subpixel correction. TomW 2015-05-11 19:48:34 +01:00
  • 2624745c67 Implemented Voodoo mipmapping. Probably buggy. TomW 2015-05-09 20:03:41 +01:00
  • 1802996443 Added missing FYL2XP1 instruction. TomW 2015-05-03 20:53:18 +01:00
  • 1b927d9f4b Writes to code pages now always marked as dirty even if data doesn't change - BeOS now works under recompiler. TomW 2015-05-03 20:36:22 +01:00
  • 0854c5da89 Fixed crash introducted in rev 234. TomW 2015-05-03 20:31:55 +01:00
  • 736eab845a Enabling LFB on ViRGE disables VGA bitplanar functionality. RctFll command now aborts if height is zero. Helps BeOS. TomW 2015-05-03 16:12:32 +01:00
  • d2206f91c9 PIIX command register now honours bit 2. All IDE interrupts now set PIIX IDE Interrupt Status. Helps BeOS. TomW 2015-05-03 16:10:11 +01:00
  • 28a2336aae MOV DRx now loads/stores from 'dummy' DRx registers (BeOS). TomW 2015-05-03 14:42:34 +01:00
  • 1e5b46c077 Added Voodoo 2x2 dither pattern. TomW 2015-04-29 21:09:17 +01:00
  • fe38137074 Fixed Voodoo unfiltered 16-bit alpha-palette textures. TomW 2015-04-28 20:05:19 +01:00
  • 66d4ac6d9a Voodoo now allows invalid LFB write buffer select - BreakNeck now works. TomW 2015-04-27 20:36:49 +01:00
  • b279cb75e8 Voodoo optimisations. TomW 2015-04-27 17:58:44 +01:00
  • 8f1f7e01c0 Fixed stupid bug in FPU rounding mode in recompiler, fixed particle explosions in Quake. TomW 2015-04-22 19:26:52 +01:00
  • 50b74dcb2a Illegal instruction interrupt caused by disabled FPU has correct return address - Turok works again. TomW 2015-04-21 17:39:04 +01:00
  • 15bca849c8 Added code generation for first batch of FPU instructions; instructions added are most common instructions used in Quake. TomW 2015-04-19 08:42:04 +01:00
  • f1551a8f76 Fixed some warnings in the recompiler. TomW 2015-04-14 20:50:49 +01:00
  • 9d3a3132ac Makefile.mingw clean now uses rm instead of del. TomW 2015-04-14 20:43:18 +01:00
  • bbf0011e95 Added code generation for JCXZ, LOOP, JE, JNE, JS, JNS, JB, JNB, JO, JNO, JP and JNP. TomW 2015-04-14 20:40:40 +01:00
  • 1fb4de4507 Dynamic recompiler now works on Linux (32-bit only) TomW 2015-04-11 18:31:51 +01:00
  • 6caeca2c7c Tweaks to generated code, should reduce size slightly. TomW 2015-04-11 16:06:50 +01:00
  • feaf399a2d Cache setting now handled correctly on startup. TomW 2015-04-07 18:06:03 +01:00
  • 644d17fc7f Fixed bug which ejected discs on hard reset. TomW 2015-04-02 19:54:47 +01:00
  • 1098b1f870 Fixed stupid typo which broke hard reset with dynamic recompiler. TomW 2015-04-01 19:38:22 +01:00
  • a97e89e857 Added code generation for register and immediate PUSH/POP, RET, relative CALL and JMP instructions. TomW 2015-03-30 20:42:33 +01:00
  • 42155b4c6a Added correct Voodoo dithering. TomW 2015-03-23 21:03:42 +00:00
  • d6908a5450 Slight bugfix to Voodoo subpixel correction. TomW 2015-03-22 13:56:03 +00:00
  • 95dd53e4d7 Implement more faithful Voodoo PCI FIFO emulation - slight slowdown, but fixes issues with Unreal and probably other games. TomW 2015-03-21 20:41:12 +00:00
  • 883ad5da23 Fixed Voodoo swap count when vsync disabled. Quake III now works. TomW 2015-03-21 11:31:53 +00:00
  • a8159f8c09 Various changes to FDC emulation. Support for multiple disc image formats. Added preliminary FDI support. TomW 2015-03-19 21:33:19 +00:00
  • 37fe4a56be Fixed missing return value in sis496_init() TomW 2015-03-19 21:08:31 +00:00
  • 80add6415c Added TLB miss penalties. TomW 2015-03-09 20:31:17 +00:00
  • faec4da733 All CALL/RET/JMP/IRET/INT instruction cycles should now be counted in recompiler. TomW 2015-03-09 19:54:02 +00:00
  • 708cf896d1 Added usable 3DFX emulation. TomW 2015-03-08 15:55:03 +00:00
  • c11a771530 Fixed crashes in fastread*() TomW 2015-02-16 20:00:16 +00:00
  • 4ebd447e89 Fixed carry flag in DAA/DAS. TomW 2015-02-13 21:06:54 +00:00
  • c7b6fde58c Added code generation for memory source versions of AND, OR, XOR and TEST (that was intended for rev 199). TomW 2015-02-09 21:21:48 +00:00
  • d6c177a3c0 DMA now causes page dirty mask to be updated. TomW 2015-02-09 18:26:59 +00:00
  • 68df72958c MOV EAX/AX/AL with immediate address now has correct PC when aborting. TomW 2015-02-09 18:09:46 +00:00
  • d1422eee39 Fixed loaded CPL on interrupt, Coherent now works. TomW 2015-02-09 15:37:09 +00:00
  • ac9b5a9927 Fixed missing CD audio. TomW 2015-02-09 12:33:52 +00:00
  • bc5ce43519 Memory-source arithmetic instructions now have correct PC when aborting. Fixes Discworld 2. Removed some debug junk from last commit. TomW 2015-02-09 12:17:54 +00:00
  • ba715706b6 Added code generation for memory versions of MOV, and memory source versions of ADD, SUB, AND, OR, XOR and CMP. TomW 2015-02-08 17:17:14 +00:00
  • 7a7f586cd3 64-bit fixes. TomW 2015-02-03 18:47:16 +00:00
  • 47db0646c1 Fixed typo in x87 opcode tables. TomW 2015-02-03 18:42:09 +00:00
  • ea5e96569d Lazy flags code now handles carry flag. TomW 2015-02-02 19:54:01 +00:00
  • 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. TomW 2015-01-28 21:58:02 +00:00
  • 798c24d7c4 Fixed flag on recompiled 8-bit SUB reg,imm - Windows 95 setup works again TomW 2015-01-26 21:58:14 +00:00
  • f38e2be43f Implemented trap flag on dynamic recompiler. TomW 2015-01-18 17:13:49 +00:00
  • 95640bb4bb SGDT now stores all 32 bits of the base address, even in 16-bit mode. Fixes Win32s. TomW 2015-01-18 15:36:30 +00:00
  • 17ee2a7d9e FLAGS bit 15 now always clear on 386+ CPUs. Fixes HX DOS extender CPU type test. TomW 2015-01-18 14:50:55 +00:00
  • 19c318675a FCOM/FUCOM now use inline assembler on x86 targets. Unreal now works. TomW 2015-01-17 22:06:32 +00:00
  • 630592125c Added code generation for immediate->register and register versions of MOV, XCHG, ADD, SUB, AND, OR, XOR, TEST, CMP, INC and DEC. TomW 2015-01-16 21:22:14 +00:00
  • 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. TomW 2014-12-06 16:35:45 +00:00
  • 4855071ead Effective address calculations now implemented by recompiled code. Up to 30% performance gain seen. TomW 2014-11-30 17:48:10 +00:00
  • 436c5b8cc2 Added Pentium Overdrive support. Patch from nerd73. TomW 2014-11-24 18:23:03 +00:00