Commit graph

512 commits

Author SHA1 Message Date
SarahW
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. 2016-05-26 21:38:21 +01:00
SarahW
a2f96effad Added 0xDC aliases for FCOM/FCOMP - Trespasser now works. 2016-05-25 19:23:36 +01:00
SarahW
d2b6ea7fa3 Mix sound sources in 32-bit buffer, then clip to 16-bit for output. Fixes overflow in some situations, eg MegaRace on SB16. 2016-05-22 16:04:19 +01:00
SarahW
9a5ac02902 Clear DSKCHG on any seek command, regardless of whether the head actually moves - fixes floppy in OS/2 Warp. 2016-05-22 13:50:41 +01:00
SarahW
b35e17c2b4 Corrected XDF track 0 layout, fixes OS/2 Warp setup. 2016-05-22 13:50:10 +01:00
SarahW
7fbb99fe75 Don't quit emulator on triple fault when dynamic recompiler enabled. 2016-05-21 21:14:00 +01:00
SarahW
696f25a8a4 Fixed OPL3 percussion mode. 2016-05-19 21:18:00 +01:00
SarahW
02153343ab Fixed clamping issue with RGB iterator in Voodoo code generation. Fixes artifacts in Alien vs Predator. 2016-05-18 20:08:13 +01:00
SarahW
abf975e2af x86-64 recompiler now saves/restores correct registers on entry/exit of code block. 2016-05-18 20:06:28 +01:00
SarahW
4024be8e52 ViRGE 2D blitter wraps X coordinates at 11 bits. Fixes missing text with some Windows drivers. 2016-05-15 21:09:26 +01:00
SarahW
693d6fe757 Removed incomplete ATAPI Get Configuration command, Windows XP setup now works again. 2016-05-15 19:54:56 +01:00
SarahW
ffb1a46fc1 Brought Linux GUI up to date. 2016-05-15 11:58:58 +01:00
SarahW
512c8e5d44 Winchip FPU timings now more accurate. 2016-05-14 19:36:40 +01:00
SarahW
2909742567 Re-wrote broken codeblock_tree_delete() function. 2016-05-12 21:21:49 +01:00
SarahW
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
2016-05-10 21:07:13 +01:00
SarahW
5da7de098e Tweaks to PC speaker code - fixes sound in Castle Wolfenstein. 2016-05-09 20:11:03 +01:00
SarahW
a93df8e16b Fixed Mach64 linear source mode - fixes text in Corel Linux in 8-bit colour. 2016-05-08 21:52:57 +01:00
SarahW
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.
2016-05-08 20:41:51 +01:00
SarahW
a151e90aeb x86 recompiler now saves/restores correct registers on entry/exit of code block. 2016-05-07 15:34:08 +01:00
SarahW
3597ae1873 If POP SS causes a fault then don't run the following instruction. Fixes Virtual Pool. 2016-05-05 19:24:18 +01:00
SarahW
6ac7faf14f Correct FDI head count. 2016-05-04 20:51:51 +01:00
SarahW
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) 2016-05-03 21:31:05 +01:00
SarahW
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. 2016-05-03 21:29:33 +01:00
SarahW
57e2a4d678 Added PIC auto-EOI mode - Crystal Dream now runs 2016-05-03 21:27:35 +01:00
SarahW
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
2016-05-02 20:06:49 +01:00
SarahW
f6a4c54741 Floppy drive type defaults to sensible value. 2016-05-01 12:27:26 +01:00
SarahW
d83249648f Limited PS/1 to 10 MHz. 2016-05-01 12:24:08 +01:00
SarahW
db9ea69a32 Move Trident TGUI9440 blitter to seperate thread. 2016-05-01 11:32:48 +01:00
SarahW
2d74bd563d Move ET4000/W32p blitter to seperate thread. 2016-04-30 12:45:37 +01:00
SarahW
dad8eeaf2e Tweaked 6x86 timings. 2016-04-30 10:26:06 +01:00
SarahW
97d77e73c2 Use correct Mach64 blitter host data size - fixes Windows XP Mach64 drivers. 2016-04-30 10:25:08 +01:00
SarahW
86687e68aa Move ATI Mach64 blitter to seperate thread. 2016-04-30 10:24:27 +01:00
SarahW
1e8bc05795 Move S3 Vision864/Trio32/Trio64 blitter to seperate thread. 2016-04-28 21:58:28 +01:00
SarahW
e236fb6d16 Added missing FCMOV instruction for 6x86MX. 2016-04-28 19:34:46 +01:00
SarahW
153c22e442 Cyrix 6x86 emulation. Based on patch from leilei.
Moved MOV TRx, reg to correct opcode - required by Award 430VX BIOS with 6x86.
2016-04-27 22:23:49 +01:00
SarahW
c81a91fd72 Moved integer registers, PC and flags_* variables into new cpu_state structure. Reduces recompiled code size slightly, small speedup (1-3%). 2016-04-20 21:39:41 +01:00
SarahW
1fe6233d4c Fixed bug in SCAT A20 handling. Patch from Greatpsycho. 2016-04-17 15:40:44 +01:00
SarahW
9329a997cc Added Award 286 (using SCAT chipset). Patch from Greatpsycho. 2016-04-14 21:15:00 +01:00
SarahW
61d7cf2276 Added PS/1 Audio Card emulation. 2016-04-13 21:56:15 +01:00
SarahW
10739b9618 Fixed missing update function in Adlib Gold - stops looping samples when sample playback is disabled. 2016-04-12 19:47:44 +01:00
SarahW
3030325bd2 Implemented Adlib Gold mixer. 2016-04-11 21:42:43 +01:00
SarahW
60440726a9 Added Adlib Gold surround module emulation. 2016-04-10 21:01:34 +01:00
SarahW
9970f030c5 Fixed off-by-one error in Voodoo when Y coordinates are reversed. 2016-04-09 20:53:21 +01:00
SarahW
c83e9ed14e Changes to Voodoo recompiler :
- Invalid cc_mselect values now return zero
- Fixed texture alpha in colour combiner
- Fixed typo in cca_invert_output
- Only clip alpha value if it's actually used
2016-04-09 20:43:19 +01:00
SarahW
74786231c5 Added Voodoo depth biasing. 2016-04-08 21:40:15 +01:00
SarahW
14df80109b Added recompiler block tree to x86-64 recompiler. Fixed return value in codeblock_tree_find() that could cause GCC to generate bad code. 2016-04-08 20:49:03 +01:00
SarahW
36bb949126 If recompiler block hash table points to wrong block, then walk tree to find correct block instead of recompiling. Speedups of 10-20% on games that were seeing hash aliasing, eg Quake III, System Shock 2, UltraHLE etc 2016-04-06 20:48:36 +01:00
TomW
c9111b22a2 Updates and fixes to Linux IOCTL CD-ROM code. Based on patch from Battler 2016-04-04 15:15:08 +01:00
SarahW
11eb87b436 Implemented ATAPI audio channel select. Based on patch from Battler. 2016-04-04 11:44:40 +01:00
TomW
99df1f6d87 Adjust MSF->LBA conversion in Windows IOCTL CD-ROM code.
Improve raw sector read in Windows IOCTL CD-ROM code.
Patch from Battler.
2016-04-04 11:08:23 +01:00