Commit graph

1,785 commits

Author SHA1 Message Date
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
SarahW
56a3ab7020 Fix missing read handling for SCAMP registers. Fixes boot on some RAM sizes on
Commodore SL386SX-25.
2020-03-15 22:33:18 +00:00
SarahW
4ee83be7b5 Don't add keyboard waitstates on AT or XT Model 286. Fixes POST of these
machines at 6 MHz.
2020-03-15 14:54:54 +00:00
SarahW
61a5ca2f39 Fix alphabetical ordering in model and video menu. 2020-03-15 14:53:48 +00:00
SarahW
68ea5ec3bd Rewrite !WXGTK memory spinner code to fix issues with up/down on some machines. 2020-03-14 21:33:38 +00:00
SarahW
ab11e20bb1 Temporary hack to restrict minimum window size on Windows. This prevents some
nasty behaviour relating to menu wrapping and window movement/sizing.
2020-03-14 18:44:43 +00:00
SarahW
7d9f1f58c3 Remove superfluous CRTC R17 adjustment on TGUI cards. Fixes 1280x1024 on TGUI9400. 2020-03-14 11:37:35 +00:00
SarahW
4e51641f29 Remove superfluous CRTC R17 adjustment on ATI 28800. Fixes 800x600 modes on 28800
cards. Patch from Greatpsycho.
2020-03-14 11:37:04 +00:00
SarahW
9b92305913 Added Itautec Infoway Multim?dia emulation. Patch from EluanCM. 2020-03-12 18:14:41 +00:00
SarahW
a113e4546f Added Hyundai Super-286TR emulation. Patch from EluanCM. 2020-03-12 18:14:07 +00:00