Commit graph

1,594 commits

Author SHA1 Message Date
SarahW
4fe71bdbed The instruction following STI is always executed, even if an interrupt
is pending. Fixes Windows 9x boot broken by SYSENTER commit.
2020-11-14 19:33:03 +00:00
SarahW
5b2087f84d Added Celeron emulation. 2020-11-14 19:33:03 +00:00
SarahW
bf68656e8f Implement CPUID cache register for Pentium Pro/II. 2020-11-14 19:33:03 +00:00
SarahW
b973755ca3 Add hintable NOPs for Pentium Pro and II. 2020-11-14 19:33:03 +00:00
SarahW
7eff4f4ba8 Add SYSENTER and SYSEXIT instructions 2020-11-14 19:33:03 +00:00
SarahW
fda3832e3a Add Gigabyte GA-686BX emulation.
As part of this, add i440BX chipset, PIIX4, and i28F002BC Flash.
2020-11-14 19:33:03 +00:00
SarahW
3c4fa0511e Add Pentium II Overdrive emulation. 2020-11-14 19:33:02 +00:00
SarahW
5ad5764500 Add P6 execution unit timing. OoO behaviour is not very faithful yet. 2020-11-14 19:33:02 +00:00
SarahW
4fd7305d1d Limit P6 pipeline throughput to 3 uOPs/cycle 2020-11-14 19:33:02 +00:00
SarahW
21dbd868e1 Add initial P6 timing model. Currently only basic decoder limits
(4-1-1 rule and 16-byte limit) have been implemented.
2020-11-14 19:33:02 +00:00
SarahW
cf33ab6c39 Add initial implementation of Intel VS440FX motherboard.
As part of this, add dummy Pentium Pro emulation, as well as Intel 440FX
chipset, PC87307 SuperIO and Intel 28FB200BX-T Flash.
2020-11-14 19:33:01 +00:00
SarahW
602d6f1ce6 Add VHD hard disc image support. Patch from shermanp. 2020-11-14 19:12:07 +00:00
SarahW
d1021b5b6b SÂ3: implement RCBASE/DSTBASE, treat clip rectangle as unsigned.
Patch from twilen.
2020-11-14 15:34:27 +00:00
SarahW
87941f2903 Added Kasan Hangulmadang-16 emulation. Patch from Greatpsycho. 2020-11-14 14:20:37 +00:00
SarahW
ed30e17128 Implement VGA byte panning and cursor skew. Patch from Greatpsycho. 2020-11-14 13:38:07 +00:00
SarahW
9bdbcc18c0 Added Samsung SPC-6000A and SPC-6033P. Patch from Greatpsycho. 2020-11-14 12:25:36 +00:00
SarahW
2efda3598b Trident TVGA8900D appears to implement port 0x3db as an alternative
clock select. Fixes pixel clocks & refresh rates on this card.
2020-10-02 17:21:41 +01:00
SarahW
264cfc3a12 Add Trident TVGA9000B emulation. 2020-10-02 17:21:12 +01:00
SarahW
7d4bc7237c Add Compaq Deskpro emulation. 2020-09-30 21:31:33 +01:00
SarahW
9b737f65b1 Fix warnings when compiling codegen_*.c
Patch from davefiddes. Original commit message :

This fixes the following warnings:

codegen_allocator.c:
 - implict function declaration of rand() due to missing stdlib.h

codegen_backend_x86-64.c:
 - implict function declaration of malloc() due to missing stdlib.h
 - unused variables in codegen_backend_init()
 - invalid typecast in use of host_x86_CALL()

codegen_backend_x86-64-uop.c:
 - Remove unused variable declarations in codegen_CALL_FUNC_RESULT(),
   codegen_LOAD_SEG(), codegen_OR_IMM(), codegen_XOR() and codegen_XOR_IMM()
 - Move debug only variable declarations under the debug conditional define in
   codegen_CALL_FUNC_RESULT(), codegen_LOAD_SEG(), codegen_MEM_LOAD_SINGLE(),
   codegen_MEM_LOAD_DOUBLE(), codegen_MEM_STORE_SINGLE(),
   codegen_MEM_STORE_DOUBLE()

codegen_reg.c:
 - Change (int) typecasts to the correct (intptr_t) for small values stored
   in a pointer. This fixes a series of 64-bit compilation warnings.

Tests:
 - Build with no warnings on Fedora 32 with gcc 10.1
 - Boot a Win98 machine with dynamic compilation enabled
2020-07-14 19:54:15 +01:00
SarahW
b5bc47ea2f Fix buffer overflow warnings in OpenGL 3.0 video display file handling
Patch from davefiddes. Original commit message :

This fixes issues reported by gcc 10 with the size of various filename buffers
when concatenating strings into them.

Tests:
 - Build cleanly with gcc 10
 - Run a Pentium MMX Win98 machine and use custom GLSLP shader
2020-07-14 19:42:20 +01:00
SarahW
a52066c75a Fix unused variable in vid_voodoo_codegen_x86-64.h
Patch from davefiddes. Original commit message :

Remove several unused variable references which look like they were required for
earlier versions of the code.

Tests:
 - Clean build on Fedora 32 with gcc 10.1
2020-07-14 19:36:02 +01:00
SarahW
9441cd9446 scamp.c: Fix 64-bit integer-as-pointer use for bank number warning
Patch from davefiddes. Original commit message :

The bank number is stored in a pointer value but is used exclusively as a
bank number integer reference. To do this safely it needs to be an intptr_t.
2020-07-14 19:33:06 +01:00
SarahW
e3fd8698df Remove faulty cyrix special register read access
Patch from davefiddes. Original commit message :

GCC 10.1 reports this line as being logically always false so will never run.
On inspection it may be that this was intended to be:

   if ((cyrix_addr & 0xf0) == 0xc0) return 0xff;

According to the IBM 6X86MX Microprocessor Databook
(http://datasheets.chipdb.org/IBM/x86/6x86MX/mx_full.pdf) this would correspond
to the Address Region 0 - 3 registers but omit Address Region 4 - 7 registers
which doesn't seem to make a lot of sense.

Delete the code as the default response from the function is to return 0xff
and this is what its behviour up until now has been.
2020-07-14 19:30:19 +01:00
SarahW
7570ba4271 Add numeric-keypad alternatives to CTRL-ALT-END/PGUP/PGDN shortcuts.
Patch from tigerforce.
2020-07-14 19:17:25 +01:00
SarahW
bb7dff751e Enable shadow RAM control at A0000-BFFFF on CS8230 chipset (ECS 386/32).
Patch from Greatpsycho.
2020-07-14 19:07:02 +01:00
SarahW
1f63723d9d Add -fcommon to configure.ac. Should fix building on GCC 10.x. 2020-06-20 18:40:53 +01:00
SarahW
c49fcff413 Update autoconf version to v16. 2020-04-19 16:30:54 +01:00
SarahW
d0c7ea56a7 Update version number to v16. 2020-04-19 15:50:51 +01:00
SarahW
adfda61a2f Initialise AT keyboard scancode set properly on reset. 2020-04-18 17:13:24 +01:00
SarahW
bc42a068c0 Don't require gd5434.bin for Itautec Infoway Multimidia; it isn't currently used. 2020-04-18 17:12:58 +01:00
SarahW
d0ea349f3f Some readme.txt updating and reformatting. 2020-04-18 17:12:15 +01:00
SarahW
798eabcac7 Rewrite SVGA status resolution code, should now be less wrong. 2020-04-18 12:06:20 +01:00
SarahW
098fe35462 Tweak Sidewinder Pad timings, now works again (was broken in v15). 2020-04-18 12:05:41 +01:00
SarahW
bbbbefcd91 Remove broken additional SVGA status print from Voodoo status.
Add a newline after the SB status to make SB + Voodoo read better.
2020-04-16 20:06:17 +01:00
SarahW
5e437fc736 Fallback to old MPU behaviour on SB cards. Fixes SB16/AWE32 initialisation on
Windows 3.1.
2020-04-11 14:47:19 +01:00
SarahW
9db376c4d2 Add Aztech guards to SB DSP command 0x09. 2020-04-11 12:24:43 +01:00
SarahW
c90ef0be59 Don't fatal on unknown SB commands. Fixes Seek & Destroy. 2020-04-11 12:24:16 +01:00
SarahW
c5a01772ed Mark Matrox Mystique as DEVICE_NOT_WORKING for v16. 2020-04-10 19:43:44 +01:00
SarahW
dfa6dac4a9 Added missing mono -> 32-bit bitblt on Mystique. Fixes 32-bit colour modes in
Windows 3.1.
2020-04-04 16:01:45 +01:00
SarahW
fb6d107e19 Add bounds checking on Mystique bus master reads. 2020-04-01 18:34:35 +01:00
SarahW
b892c7d874 Pass the correct data to ILOAD from a write to DMAPAD. Fixes Windows 9x desktop
on Matrox drivers 4.12.013.
2020-03-31 14:50:45 +01:00
SarahW
b66c37c8af Don't allow Mystique SRCx/DMAPAD writes to reach ILOAD processing unless a
command is actually in progress. Fixes Incoming with default Windows 98SE driver
2020-03-31 08:55:59 +01:00
SarahW
eb3ccc24f8 Backed out changeset: dc48ccf585b6 2020-03-31 08:24:49 +01:00
SarahW
feaf6d456c Allow CPU to write too much data to Mystique ILOAD (and ignore all superfluous
data). Fixes G-Police on Mystique with default Windows 98 SE driver.
2020-03-30 21:28:00 +01:00
SarahW
bb1f314d9c Mystique DMAPAD register doesn't act like an ILOAD mirror on DMA writes. 2020-03-30 21:03:59 +01:00
SarahW
a017de3c57 Add missing Mystique vsync interrupt. Helps with some Mystique Win9x drivers. 2020-03-30 20:59:40 +01:00
SarahW
12fae4b9ed Mystique fixes :
- Add previously unimplemented XREGs
- Fix CRTC register masking
- Use cursor colours when plotting cursor
- Add little-endian mono ILOAD
Fixes Mystique with BeOS and Redhat 5
2020-03-29 15:21:38 +01:00
SarahW
d60084fb04 PS/2 mouse fixes :
- Don't process pending mouse data when mouse was disabled
- Commands a7/a8 (disable/enable mouse port) now update keyboard controller command
- Implicitly enable mouse when writing data to mouse
Fixes PS/2 mouse with Red Hat 5.0.
2020-03-28 17:23:57 +00:00
SarahW
0116512d39 Fixed recompiled version of JMP far indirect. Fixes Red Hat 3.0.3. 2020-03-18 20:19:11 +00:00