Commit graph

1,785 commits

Author SHA1 Message Date
TomW
f0eafa60c9 Added missing thread.h. 2014-07-23 08:15:35 +01:00
TomW
1c3d1039ff ViRGE S3D triangle rendering now uses worker thread.
Fixed clipping bug on ViRGE.
Fixed status window crash.
2014-07-22 21:10:39 +01:00
TomW
67cb9e3781 Improvements to PC speaker - fixes sound on Beyond Castle Wolfenstein and probably other games as well. 2014-07-16 20:44:29 +01:00
TomW
967feffbc0 Fixed memory mapping on ISA video cards - should now work on Award 430VX PCI. 2014-07-16 20:00:34 +01:00
TomW
0ed6193b70 Clear key queue on keyboard reset - fixes CMOS setup on Award 430VX PCI. 2014-07-15 20:42:48 +01:00
TomW
4657e9f2c5 Added configurable VRAM for Mach64, ET4000/w32p, Oak and Trident graphics cards. 2014-07-14 21:56:10 +01:00
TomW
8283d3ee73 Implemented ATAPI Read CD-ROM Capacity command, fixes CD usage in OS/2. 2014-07-12 14:22:54 +01:00
TomW
71f47a4e07 Removed RIDEV_NOLEGACY. 2014-07-11 21:00:43 +01:00
TomW
a90ca3c83b IDE drives now read 0 when not present - fixes some hangs when detecting drives. 2014-07-11 20:55:26 +01:00
TomW
4cdb0d9d82 Fixed hang when opening status window. 2014-07-11 20:52:18 +01:00
TomW
c7ce01085c Keyboard now uses raw input. Should fix international keyboard. Based on patch from Battler. 2014-07-11 20:35:37 +01:00
TomW
b89e792f8f Fixed PIT timer reads. 2014-07-10 21:32:49 +01:00
TomW
b491d70a58 Added Phoenix Trio64.
S3 cards now report FPM memory - allows 4 MB on Phoenix Trio64.
2014-07-10 20:25:10 +01:00
TomW
0c2efae9c3 Fixed cursor in interlaced modes on S3 Vision864/Trio32/Trio64. 2014-07-09 22:12:59 +01:00
TomW
c18f7fffb0 Added emulation of Phoenix Trio32. Based on patch from Battler.
Paradise Bahamas 64, Number Nine 9FX and Phoenix Trio32 now have configurable memory sizes.
2014-07-09 21:45:42 +01:00
TomW
adc0ef008b Video cards defines replaced with enumerator. Patch from SA1988. 2014-07-09 19:21:16 +01:00
TomW
8f030e12e3 Added REP NOP / PAUSE instruction, needed for Windows 2000 installer. Patch from SA1988. 2014-07-08 22:06:48 +01:00
TomW
8ad8d1e2f9 Fixed crash when selecting no sound card.
Fixed number of heads when creating a new hard disc for drive C.
2014-07-08 21:03:34 +01:00
TomW
c4860ab55c Switched IBM AT to more recent BIOS. Added 8 MHz option. Patch from SA1988. 2014-07-08 20:35:39 +01:00
TomW
4f11821ee6 Port 0x3da diagnostic bits now held static during blanking, fixes DOS 6.2/V hang. 2014-07-06 21:40:28 +01:00
TomW
e74519ea4e ViRGE S3D improvements :
- 24 bpp mode implemented
- Improved subpixel correction - fixes polygon gaps in some games
- Implemented dithering
- Z Update bit now has an effect - fixes Tomb Raider 2
- Improved mipmapping
2014-07-06 12:45:35 +01:00
TomW
2207f704dd Added per-device configuration.
Reworked configuration parser a bit.
Added configuration for S3 ViRGE and 8-bit Sound Blasters.
IRQ 2 routed to IRQ 9 on AT machines.
2014-06-30 21:31:28 +01:00
TomW
3c8a675d01 Reorganised Windows-specific code a bit. 2014-06-24 21:15:42 +01:00
TomW
b0320ae16c Moved PIT to common timer API. 2014-06-19 21:02:59 +01:00
TomW
f1e1cc0b25 Initial S3 ViRGE video overlay emulation. 2014-06-13 18:43:25 +01:00
TomW
62afac2a71 Reverted revision 107. 2014-06-09 18:13:57 +01:00
TomW
e6abe5f50d Added DIRECTINPUT_VERSION to joystick code. 2014-06-08 22:03:04 +01:00
TomW
c9fbb6e934 Bodged PIT reads slightly, fixed Lotus III hangs. 2014-06-08 15:53:09 +01:00
TomW
4cb7d58d53 Added joystick emulation 2014-06-08 13:45:26 +01:00
TomW
9ba75bd910 Minor memory optimisations. 2014-06-07 15:57:57 +01:00
TomW
a66dddfb43 S3D optimisations - between 15% and 30% faster on my machine. 2014-06-04 19:45:12 +01:00
TomW
e09b68b242 S3 ViRGE S3D emulation. Currently very slow, bugs, features missing.
Added S3 ViRGE/DX emulation, as the DX drivers are better than those for the original chip.
2014-05-26 18:13:23 +01:00
TomW
2ff2210b3b Innovation SSI-2001 emulation. Using ReSID-FP. 2014-05-11 14:09:13 +01:00
TomW
8c8d70c3cf S3 changes :
Altered endianness of multi-word image transfers - fixes icons on Windows NT
Current position registers now updated at the end of commands - fixes some drawing issues on Windows NT
Hack to reset indicator of which half of colour registers will be accessed - fixed intermittent 32-bit colour issues
2014-05-03 13:39:03 +01:00
TomW
b22dc91f67 Fixed inverted vertical axis on Amstrad mouse. 2014-04-28 21:01:38 +01:00
TomW
81e24b9cb5 Register operands on BOUND/LEA/LDS/LES/LFS/LGS/LSS now cause invalid opcode faults. Fixes NTVDM. 2014-04-27 11:40:03 +01:00
TomW
876db9f38c Cancel IDE callback on early IDE reset. 2014-04-18 11:54:52 +01:00
TomW
491a885ab2 Slowed down serial transfer - fixes mouse on OS/2. 2014-04-09 20:32:54 +01:00
TomW
1493306d5e Restore correct ESP value on fault during IRET - fixes issues in at least Windows NT 3.51, NT 4.0, OS/2 2.0, OS/2 Warp. Thanks to SA1988.
Hack to mirror IDE register writes to both drives, fixes IDE issues on NT.
Fixed occasional PCem crash when accessing a faulting page, fixes crash in OS/2 2.0.
2014-04-09 19:55:14 +01:00
TomW
06c003f3d4 Return sane values for absolute & relative addresses in CD-ROM Get Subchannel command. Fixes display in Windows 9x CD player. 2014-04-08 20:45:09 +01:00
TomW
7bfadae7f2 Fixed trap handling. 2014-03-29 17:35:50 +00:00
TomW
b4bea10c06 Set transmitter shift register empty bit in serial LSR. Windows 3.1 no longer hangs when DOS mouse driver loaded. 2014-03-29 15:17:23 +00:00
TomW
e737d2fa45 Loading a segment register in real mode no longer clears USE32.
CR3 no longer masks values written to it.
Real mode interrupts now take IDT base into account.
Fixes 'huge unreal' mode (flat assembler).
2014-03-29 14:28:13 +00:00
TomW
2610c6c230 Added 32-bit command registers for S3 864/Trio64. 2014-03-26 22:14:13 +00:00
TomW
62eff69ab4 Marked RAM areas as 'internal only'. Fixed bugs in mem_mapping_recalc().
Should no longer cause problems when peripherals map over main memory (Trio64).
2014-03-26 21:52:53 +00:00
TomW
cb5f14349d Added ability to eject hard drive.
ALT no longer opens menus when mouse captured or in fullscreen mode.
Patches from HalfMinute.
2014-03-24 19:15:11 +00:00
TomW
0a1c4dcdf0 Fixed dirty screen updating in high resolution modes. 2014-03-22 19:10:00 +00:00
TomW
43d7050c9c Fixed vblankstart on Mach64, ET4000/W32p and ViRGE.
Implemented clock generation on ViRGE.
2014-03-22 17:04:25 +00:00
TomW
f51d8bead4 Fixed vblank start on S3 864/Trio64 - fixes 1280x1024. 2014-03-22 15:37:36 +00:00
TomW
92c45591c7 ViRGE: Preliminary stream processor emulation - enough to fix double buffering in DirectX.
Implemented transparent blit mode with colour sources.
Implemented old style MMIO.
2014-03-20 16:33:31 +00:00