Commit graph

1,507 commits

Author SHA1 Message Date
SarahW
74df0bf145 Revert part of rev 1505 related to clearing STAT_MFULL on reading port 0x60.
Fixes PS/2 8601 errors.
2020-02-18 21:34:20 +00:00
SarahW
32563970c2 Bit 0 of port 3da on Amstrad PC1512 is a toggle bit instead of display enable. 2020-02-18 12:08:53 +00:00
SarahW
00f65675af Add delay to keyboard AT reset response.
A few other keyboard / PS2 mouse fixes.
Based on patch from EluanCM.
2020-02-10 20:51:26 +00:00
SarahW
868ef093a9 Route IRQ 2 to IRQ 9 on Xi8088. Patch from EluanCM. 2020-02-09 17:56:16 +00:00
SarahW
a77fd1e7f5 8087 FNINIT initialises control word to 0x3ff. Fixes FPU detection on Xi8088. 2020-02-09 17:55:28 +00:00
SarahW
11c1996539 Use AT scancodes on Xi8088. Patch from EluanCM. 2020-02-09 14:22:00 +00:00
SarahW
e997985326 Add additional guards in scsi_hd.c. Patch from EluanCM. 2020-02-09 13:01:37 +00:00
SarahW
cda00d95cf Fix SB Pro mixer compatibility registers. Patch from EluanCM. 2020-02-09 13:00:39 +00:00
SarahW
a0a6b0faa8 Fix serial IRQs on ACC3221. Patch from EluanCM. 2020-02-09 12:59:46 +00:00
SarahW
1540da6ada Add IRQ 12 setting to NE2000. Patch from EluanCM. 2020-02-09 12:48:09 +00:00
SarahW
8870334114 Add IBM PS/1 Model 2133 (EMEA 451) emulation. Currently displays a cache error
on boot, but otherwise seems to work fine.
2020-02-09 12:17:06 +00:00
SarahW
adf4a2de93 Fix MOV TRx, reg encoding on non-Pentium machines. 2020-02-09 09:07:34 +00:00
SarahW
68a2d8cb3c Added Cirrus Logic GD5428 emulation.
As part of this, added emulation of the GD5428-based IBM 1MB SVGA Adapter/A,
along with support for external graphics cards on MCA platforms, adding the
ability to override the onboard VGA controller.
2020-02-01 16:30:34 +00:00
SarahW
10f98a85b4 Added x87_timings.c/h missing from rev 1492. 2020-01-25 08:14:27 +00:00
SarahW
ea4dd4047c Added FENI/FDISI for 8087. 2020-01-24 20:33:59 +00:00
SarahW
4875f24b53 Added initial attempt at instruction timings for 8087/287/387.
Also added 287XL using 387 timings.
2020-01-24 20:33:35 +00:00
SarahW
0e8926936d Added FPU support for pre-486 CPUs.
This commit does not include timings for 8087, 80287 or 80387 FPUs, these will
be added later. It also does not restrict the use of 486 and later FPU
instructions.
2020-01-22 20:53:13 +00:00
SarahW
bbef0fd1cd Added discrete AVGA2 card. 2020-01-20 18:22:50 +00:00
SarahW
cbcc5d126a Fix read latch address on AVGA2/Cirrus Logic cards. 2020-01-20 18:04:29 +00:00
SarahW
60472b3a66 Add emulation of SCAMP DRAM controls. This primarily emulates the mirroring
effects of the controller programmed to the wrong DRAM size, which is required
for the Commodore SL386SX to be able to detect memory size correctly.
2020-01-19 21:26:50 +00:00
SarahW
b72aa2117b Mystique fixes :
- MGA mode disables all VGA data processing on reads / writes
- MGA mode forces 8 pixels per character
- DMAPAD acts as an ILOAD mirror during ILOAD operations, same as SRCx
- Handle signed X coordinates better in blit operations
- Add more MMIO registers
- Don't fatal on ILOAD reads when blitter not busy
Fixes Windows XP with Mystique.
2020-01-18 15:50:46 +00:00
SarahW
e6949e7599 Fix broken mappings in Cirrus Logic cards. 2020-01-17 19:00:00 +00:00
SarahW
5bf090f874 Added pthread mutex implementation for non-Windows hosts. 2020-01-16 20:30:35 +00:00
SarahW
3d0986fb73 Don't map Mystique memory ranges when base addresses are zero. Fixes boot of FIC
VA-503 BIOS with Mystique selected.
2020-01-16 19:52:53 +00:00
SarahW
483c7db709 Added Matrox Mystique emulation. This is a work in progress, and has a few known
issues :
- Only YUV supported for scaled ILOAD operations
- Several BLTMOD formats missing
- Bad texturing in Actua Soccer
- Flickering in Croc (broken vsync waiting?)
- Turok doesn't swap buffers correctly
- Some missing features
2020-01-15 22:17:36 +00:00
SarahW
22977a4ff7 Reset purgable page list on reset. Fixes crashes when switching between machines. 2020-01-15 20:00:04 +00:00
SarahW
a140d26315 Fix some offset size checks in instruction generation code. 2020-01-15 19:59:33 +00:00
SarahW
5c8e1aecc2 Added emulation of Commodore SL386SX-25 (PC Player II).
As part of this, added emulation of the onboard AVGA2, and fixed a couple of
bugs in the Cirrus Logic extended write modes.
Currently chipset (VLSI SCAMP) is missing EMS emulation.
2019-12-20 17:19:25 +00:00
SarahW
f56f5e76e6 Fix latching in svga_read_linear(). Fixes Jazz Jackrabbit on Cirrus Logic cards. 2019-12-20 17:01:53 +00:00
SarahW
2489fd9c6e Add ATI EGA Wonder 800+ emulation. 2019-12-19 11:24:08 +00:00
SarahW
2c6b130ec8 Update Makefile.in 2019-05-19 17:41:11 +01:00
SarahW
e676e6b9e0 Update version number to v15. 2019-05-19 17:38:31 +01:00
SarahW
803b48ea1c Fixed direction of AudioPCI sample counters. Fixes stuttering MIDI in some games (eg Theme Hospital). 2019-05-19 08:17:10 +01:00
SarahW
a5b59efb3f readme.txt updates 2019-05-18 19:31:33 +01:00
SarahW
1dd8cf1e81 Move port 0xcf9 handling from i430FX/VX to PIIX, adding reset callback for FX/HX/VX northbridges.
Add IDE reset to port 0xcf9.
Reset IDE error register on reset of non-existent devices.
Fixes IDE related issues on soft reset for ASUS boards.
2019-05-18 17:35:32 +01:00
SarahW
8b46bbe1af Better FDC enabling/disabling on W83877*. Fixes floppy drive on FIC VA-503+ in Windows 9x. 2019-05-18 15:48:43 +01:00
SarahW
b16e3d84bd Fix issues accessing W83877* config registers. Fixes floppy drives on ASUS and FIC boards. 2019-05-18 14:51:14 +01:00
SarahW
cb6422b324 MMX fixes :
- Initialise x87 tags correctly in recompiler
- EMMS/FEMMS now respect cr0 TS bit
- FRSTOR now doesn't force all non-uint64 tags to valid
Fixes Heaven 7 with AudioPCI
2019-05-18 14:05:30 +01:00
SarahW
b84fefacb7 Add K6 CPUs to Socket 7 motherboards. 2019-05-17 21:32:07 +01:00
SarahW
0b57135b3c Add FDC37C932FR SuperIO for Epox P55-VA. 2019-05-17 21:31:57 +01:00
SarahW
846103d310 Remove some dead comments from ibm.h. 2019-05-17 20:16:10 +01:00
SarahW
08b019eb85 ASUS Socket 7 boards use W83877F for SuperIO. 2019-05-17 20:15:56 +01:00
SarahW
60058283eb Disable FDC when enabling W83877TF config registers at 0x3f0, to prevent bus conflicts. Fixes duplicate FDC/COM/LPT ports on VA-503+. 2019-05-17 20:15:09 +01:00
SarahW
e6df3901d9 Rename Award 430VX PCI to Shuttle HOT-557. 2019-05-17 17:40:54 +01:00
SarahW
a4b33a6353 Correct memory limits on Socket 7 boards. 430VX boards support 8-128 MB. While the 430HX chipset supports up to 512 MB, the real ASUS P55T2P4 only supports up to 256 MB. 2019-05-17 17:40:12 +01:00
SarahW
4b061cdcf4 Fixed typo when reading SR[17] on Cirrus Logic cards. 2019-05-17 17:04:01 +01:00
SarahW
a9509e04ee Cirrus GD5429 doesn't support PCI, so don't look at the PCI command register when updating mappings. Fixes GD5429 on PCI systems. 2019-05-17 17:03:38 +01:00
SarahW
c39dc641a6 Reset Cirrus Logic hidden DAC counter on accesses to 3c7/3c8/3c9. 2019-05-16 22:07:57 +01:00
SarahW
e2c7bf02ab Add support for 64x64 cursors to Cirrus Logic cards (used by OS/2 Warp). 2019-05-16 22:05:18 +01:00
SarahW
12f8751e5c Fix read of Cirrus Logic cursor position registers. OS/2 Warp now detects CL cards correctly. 2019-05-16 21:52:07 +01:00