Commit graph

261 commits

Author SHA1 Message Date
TomW
b7947bd68b Fixed BIOS ROM file offset for IBM VGA. Marked VGA as working. 2015-06-13 20:16:02 +01:00
TomW
63d33deb10 Added Mobile Pentium MMX CPUs (120-300 MHz). 2015-06-13 16:50:53 +01:00
TomW
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.
2015-06-13 16:14:35 +01:00
TomW
f5a920e2e5 Voodoo buffer swaps now processed when VGA passthrough enabled - fixes Re-Volt. 2015-06-06 14:26:38 +01:00
TomW
a44be6194c Further fixes to framebuffer read hangs in Voodoo - fixes International Rally Championship. 2015-06-05 20:48:29 +01:00
TomW
685e2460d4 Added RGB555 and ARGB1555 LFB formats for Voodoo. 2015-06-04 21:49:09 +01:00
TomW
75fa159caf Reworked Voodoo thread synchronisation, helps performance. 2015-06-01 19:17:26 +01:00
TomW
ca7bd3740b Fixed hang in Voodoo emulation when a framebuffer read occurs while a swap request is pending - fixes Tomb Raider. 2015-05-31 16:43:55 +01:00
TomW
90aa13aa29 Voodoo PCI mapping disabled if base address is zero - fixes Voodoo + Sis496/497. 2015-05-31 12:30:52 +01:00
TomW
4b2eb2e252 Added Power on Setup register (46e8) for OAK OTI-067 - no longer goes to monochrome after reset. 2015-05-31 11:19:06 +01:00
TomW
05de040433 Added codegen_ops_shift.h file missing from rev 247. 2015-05-30 22:31:54 +01:00
TomW
cb2df9e3cf Flush memory lookup cache when mappings re-calculated - fixes soft reset on AMI 386 clone. 2015-05-30 20:25:59 +01:00
TomW
880bec1ea0 FDC now implements write protect error correctly. 2015-05-30 17:35:39 +01:00
TomW
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
2015-05-30 17:08:54 +01:00
TomW
6d95f00c36 POP SS correctly disables interrupts on the next instruction. 2015-05-20 20:52:42 +01:00
TomW
62b2bf03aa Implemented Voodoo pixel pipeline-processed framebuffer writes - fixes at least Jedi Knight and Populous The Beginning 2015-05-20 20:30:02 +01:00
TomW
52a27a9256 FPU copy should now work. 2015-05-18 20:33:33 +01:00
TomW
226b63d682 Fixed typo in Voodoo alpha combine. 2015-05-14 20:30:15 +01:00
TomW
2c818c4b1b Increased resolution of Voodoo S/T iterators. 2015-05-12 21:28:32 +01:00
TomW
9e9cf8060a Added configurable Voodoo framebuffer and texture memory. 2015-05-11 21:31:04 +01:00
TomW
9954a29348 Improved Voodoo subpixel correction. 2015-05-11 19:48:34 +01:00
TomW
2624745c67 Implemented Voodoo mipmapping. Probably buggy. 2015-05-09 20:03:41 +01:00
TomW
1802996443 Added missing FYL2XP1 instruction. 2015-05-03 20:53:18 +01:00
TomW
1b927d9f4b Writes to code pages now always marked as dirty even if data doesn't change - BeOS now works under recompiler. 2015-05-03 20:36:22 +01:00
TomW
0854c5da89 Fixed crash introducted in rev 234. 2015-05-03 20:31:55 +01:00
TomW
736eab845a Enabling LFB on ViRGE disables VGA bitplanar functionality.
RctFll command now aborts if height is zero.
Helps BeOS.
2015-05-03 16:12:32 +01:00
TomW
d2206f91c9 PIIX command register now honours bit 2.
All IDE interrupts now set PIIX IDE Interrupt Status.
Helps BeOS.
2015-05-03 16:10:11 +01:00
TomW
28a2336aae MOV DRx now loads/stores from 'dummy' DRx registers (BeOS). 2015-05-03 14:42:34 +01:00
TomW
1e5b46c077 Added Voodoo 2x2 dither pattern. 2015-04-29 21:09:17 +01:00
TomW
fe38137074 Fixed Voodoo unfiltered 16-bit alpha-palette textures. 2015-04-28 20:05:19 +01:00
TomW
66d4ac6d9a Voodoo now allows invalid LFB write buffer select - BreakNeck now works. 2015-04-27 20:36:49 +01:00
TomW
b279cb75e8 Voodoo optimisations. 2015-04-27 17:58:44 +01:00
TomW
8f1f7e01c0 Fixed stupid bug in FPU rounding mode in recompiler, fixed particle explosions in Quake. 2015-04-22 19:26:52 +01:00
TomW
50b74dcb2a Illegal instruction interrupt caused by disabled FPU has correct return address - Turok works again. 2015-04-21 17:39:04 +01:00
TomW
15bca849c8 Added code generation for first batch of FPU instructions; instructions added are most common instructions used in Quake. 2015-04-19 08:42:04 +01:00
TomW
f1551a8f76 Fixed some warnings in the recompiler. 2015-04-14 20:50:49 +01:00
TomW
9d3a3132ac Makefile.mingw clean now uses rm instead of del. 2015-04-14 20:43:18 +01:00
TomW
bbf0011e95 Added code generation for JCXZ, LOOP, JE, JNE, JS, JNS, JB, JNB, JO, JNO, JP and JNP. 2015-04-14 20:40:40 +01:00
TomW
1fb4de4507 Dynamic recompiler now works on Linux (32-bit only) 2015-04-11 18:31:51 +01:00
TomW
6caeca2c7c Tweaks to generated code, should reduce size slightly. 2015-04-11 16:06:50 +01:00
TomW
feaf399a2d Cache setting now handled correctly on startup. 2015-04-07 18:06:03 +01:00
TomW
644d17fc7f Fixed bug which ejected discs on hard reset. 2015-04-02 19:54:47 +01:00
TomW
1098b1f870 Fixed stupid typo which broke hard reset with dynamic recompiler. 2015-04-01 19:38:22 +01:00
TomW
a97e89e857 Added code generation for register and immediate PUSH/POP, RET, relative CALL and JMP instructions. 2015-03-30 20:42:33 +01:00
TomW
42155b4c6a Added correct Voodoo dithering. 2015-03-23 21:03:42 +00:00
TomW
d6908a5450 Slight bugfix to Voodoo subpixel correction. 2015-03-22 13:56:03 +00:00
TomW
95dd53e4d7 Implement more faithful Voodoo PCI FIFO emulation - slight slowdown, but fixes issues with Unreal and probably other games. 2015-03-21 20:41:12 +00:00
TomW
883ad5da23 Fixed Voodoo swap count when vsync disabled. Quake III now works. 2015-03-21 11:31:53 +00:00
TomW
a8159f8c09 Various changes to FDC emulation.
Support for multiple disc image formats.
Added preliminary FDI support.
2015-03-19 21:33:19 +00:00
TomW
37fe4a56be Fixed missing return value in sis496_init() 2015-03-19 21:08:31 +00:00