SarahW
bfc69a4bea
Cleaned up ibm.h a bit
2016-11-28 20:06:17 +00:00
SarahW
9ae73bedd8
Added missing files from previous commit.
2016-11-28 17:41:02 +00:00
SarahW
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
2016-11-27 21:53:13 +00:00
SarahW
1b73963997
Added prefetch timing approximation for 286/386 CPUs, with configurable memory timing.
2016-11-25 21:32:02 +00:00
SarahW
c5889e311f
Implemented Voodoo 2 triangle setup cull ping-ponging. Fixes missing triangles in Starsiege Tribes.
2016-11-22 19:42:08 +00:00
SarahW
e162b6166e
Voodoo now implements texture RGB as a multiplier input in the colour combiner.
2016-11-20 17:16:00 +00:00
SarahW
7084337906
Voodoo non-recompiler now implements texture alpha reverse blending correctly.
2016-11-20 17:15:18 +00:00
SarahW
de1d72b92b
Voodoo non-recompiler now uses correct W coordinate for TMU #1
2016-11-20 17:14:48 +00:00
SarahW
fd8b80d371
Fixed typo in shift counts in texture alpha extraction code in Voodoo recompiler.
2016-11-20 17:14:07 +00:00
SarahW
747f8994ca
Added code generation for RMW versions of SHL/SHR/SAR
2016-11-17 20:01:28 +00:00
SarahW
b9a7fb042f
Added code generation for RMW versions of INC/DEC
2016-11-16 21:14:38 +00:00
SarahW
bd3576e947
Fixed missing declaration of 'fatal' in ibm.h
2016-11-15 21:11:42 +00:00
SarahW
0985952317
Added code generation for RMW versions of ADD/SUB/OR/XOR/AND
2016-11-13 14:30:39 +00:00
SarahW
a174a88c49
Codeblock tree now includes both physical and virtual addresses into key. Fixes performance issues with Windows 3.1.
2016-11-08 21:30:48 +00:00
SarahW
52fd357f3d
Voodoo CLUT data can be written via CMDFIFO.
2016-10-22 16:13:42 +01:00
SarahW
396992f102
More accurate PCI timing, mainly for Voodoo.
2016-10-22 16:01:49 +01:00
SarahW
31c311924c
Added Voodoo 2 emulation.
2016-10-22 14:18:06 +01:00
SarahW
3527f822b9
Added Plantronics ColorPlus emulation. Patch from John Elliot.
2016-10-16 20:29:12 +01:00
SarahW
3df46b4479
Memory addressing on XT now wraps at 1MB.
2016-10-09 08:53:04 +01:00
SarahW
e591f95f8e
Fixed bug that cleared disc change line when loading new disc.
2016-10-04 19:39:37 +01:00
SarahW
620beb1eb5
Writing to VGA RAMDAC write index also sets read index. Fixes colours in Planet Football.
2016-10-03 18:17:40 +01:00
SarahW
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.
2016-10-01 16:42:04 +01:00
SarahW
273ef3847a
Improvements to flash ROM emulation on Premiere/PCI, Advanced/EV and Award 430VX PCI modules. Patch from Battler.
2016-09-18 15:57:46 +01:00
SarahW
dd2a608707
x86-32 recompiler performs float->integer rounding by loading FPU control word instead of calling helper function - speedup on some stuff.
2016-09-18 14:57:10 +01:00
SarahW
aab2c3e7cf
Don't inline memory read/write code in x86-32 recompiled blocks - speedup (up to 20% seen)
2016-09-15 21:06:28 +01:00
SarahW
6b5467a6c9
Remove unnecessary flag rebuilding in FP_ENTER().
2016-09-11 17:16:34 +01:00
SarahW
75f9316c11
x86-32 recompiler compiles FPU instructions using direct access to register stack when top-of-stack is static. Minor speedup.
2016-09-11 15:38:05 +01:00
SarahW
1004d947d5
Fixed bug with FRSTOR which broke FPU copy.
2016-09-10 18:41:58 +01:00
SarahW
26b8bdddb6
Fixed branch offset in x86 recompiler JNLE instruction - MS-DOS 6.22 installer works again
2016-08-30 20:32:11 +01:00
SarahW
b92634dea6
Added missing Alpha+YIQ texture format to Voodoo.
...
Added depth source select to Voodoo.
Fixes graphics issues with Requiem : Avenging Angel
2016-08-29 17:29:55 +01:00
SarahW
d27c7a0947
Replaced Windows critical section with mutex - fixes some issues with window movement/resizing when using Direct3D output.
2016-08-28 20:31:12 +01:00
SarahW
6aef53e854
Remove remaining references to 32-bit addresses in x86-64 recompiler.
2016-08-28 15:58:30 +01:00
SarahW
ea4cd4f35c
Added simpler Linux makefiles for those who don't want to use autoconf. Based on patch from moochmcgee
2016-08-28 15:58:52 +01:00
SarahW
ab7ef825c5
Fixed build issue in allegro-video.c
2016-08-28 14:39:41 +01:00
SarahW
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.
2016-08-25 21:09:02 +01:00
SarahW
eb126fd822
Moved more variables into cpu_state structure.
2016-08-21 21:28:23 +01:00
SarahW
c664682758
Move some more variables into cpu_state structure. Minor speedup (~2%).
2016-08-17 21:28:16 +01:00
SarahW
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.
2016-08-16 20:29:12 +01:00
SarahW
4e9400bfca
IBM PC now has correct memory size switch settings implemented - should now boot correctly on configurations other than 640kb.
2016-08-16 18:37:34 +01:00
SarahW
5f6fb407d4
Force re-seek on disc loading - fixes issues with disc change not seen on some models.
2016-08-16 18:13:41 +01:00
SarahW
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.
2016-08-15 20:28:02 +01:00
SarahW
535604b760
Pack decoded ModR/M data into a single word - minor recompiler speedup.
2016-08-14 16:29:54 +01:00
SarahW
31298d6be1
Recompiler no longer sets tempc variable before calling opcode routine.
2016-08-14 11:22:07 +01:00
SarahW
57e2a45d83
PIC mask is set to 0 when ICW1 is written - Crystal Dream 2 now works.
2016-08-11 20:25:00 +01:00
SarahW
2457ff050f
Fixed vblank start on ET4000 - now displays 1280x1024 correctly.
2016-08-01 16:29:51 +01:00
SarahW
064acbf07d
Added self-modifying code fix to x64-64 recompiler.
2016-08-01 16:12:13 +01:00
SarahW
81b1bfc07f
Fix self-modifying code bug, Windows 3.1 works again.
2016-08-01 15:04:17 +01:00
SarahW
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
2016-07-31 12:33:37 +01:00
SarahW
d027c55269
Reduced ET4000/W32p FIFO by one entry - fixes display corruption with some drivers.
2016-07-26 21:04:39 +01:00
SarahW
9111b282f9
Added option to disable CGA snow emulation.
2016-07-21 21:36:51 +01:00