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
TomW
80add6415c
Added TLB miss penalties.
2015-03-09 20:31:17 +00:00
TomW
faec4da733
All CALL/RET/JMP/IRET/INT instruction cycles should now be counted in recompiler.
2015-03-09 19:54:02 +00:00
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