Commit Graph

85 Commits

Author SHA1 Message Date
TC1995
92db594d6b ATI Mach64GX/VT2: Corrected the 24bpp accelerated mode in terms of colors and bitblt so that it could be glitchless.
Corrected 8bpp mode under Win2000 as well so that it no longer glitches.
VT2 is PCI only, so use its PCI timings only.
Small cosmetic fixes in the if's of the linear apertures of said card.
24bpp mode will be unthreaded while the rest of the bpp's is left intact, this is due to desyncing in 24bpp mode in NT 3.1's 24bpp drivers.
2023-07-14 21:14:19 +02:00
Jasmine Iwanek
d1127e68fa Even more sonarlint work 2023-06-04 23:39:14 -04:00
Jasmine Iwanek
ed1b369abd Yet more sonarlint fixes 2023-05-29 06:21:17 -04:00
Jasmine Iwanek
1860700eab Fix some small issues 2023-01-07 17:02:23 -05:00
Jasmine Iwanek
a40630ba63 Even more tabs to spaces 2023-01-07 14:09:51 -05:00
Jasmine Iwanek
3fe4f75108 A bit more clang-format 2022-11-19 11:53:07 -05:00
Cacodemon345
9c775510df video: Make the rest of the FIFO variables atomic 2022-11-07 13:03:19 +06:00
Jasmine Iwanek
883e7c256a clang format in src/video (#2654) 2022-08-31 20:19:29 -03:00
OBattler
1d0177289a PCI graphics cards initialization fixes. 2022-07-19 00:15:25 +02:00
Cacodemon345
8a3367ff6f Multi-monitor support (backend preparation part) 2022-07-03 01:18:23 +06:00
David Hrdlička
e60af6c29d Clean up plat.h a bit 2022-04-20 01:03:39 +02:00
Alexander Babikov
911821434e Fix variable initializtion warnings 2022-04-14 07:13:49 +05:00
Jasmine Iwanek
d28cec126a src/video 2022-04-12 17:26:07 -04:00
Miran Grča
3fe794c59b Merge pull request #2237 from jriwanek-forks/named-initializers-2
Named initializers part 2
2022-03-18 23:20:37 +01:00
Jasmine Iwanek
3b73ce330c src/video 2022-03-18 18:07:09 -04:00
TC1995
a1404cf340 Housekeeping (Mach64, nw). 2022-03-18 21:28:17 +01:00
TC1995
9b0f04d4a9 Added deskpro386 and fixed 24bpp mode issues of the Mach64GX/VT2. 2022-03-18 21:22:18 +01:00
Jasmine Iwanek
801f81fbda clean up device_config_t formatting 2022-02-26 23:31:28 -05:00
Jasmine Iwanek
4674756664 More newline and whitespace cleanups 2022-02-20 16:26:40 -05:00
TC1995
5b01a8a650 Mach64 changes/improvements:
Added 4x2 and 8x1 color patterns in the OpRect side, fixes OS/2 8-bit color.
Unthreaded the cards as well.
ISA versions can access the dword/long mapping too, fixes more graphical bugs in various operating systems such as Windows 95.
2022-02-10 22:30:02 +01:00
TC1995
8d28e3623c Fixed the ISA bus detection of the Mach64GX.
Removed the threaded FIFO on the ViRGE cards due to bugs, instead, relying on a non-threaded FIFO again.
Fixed some 8MB parts of the blitter for the ViRGE/VX-based STB Velocity 3D card so that 8MB RAM detection doesn't glitch everything else, including the blitter.
2022-02-07 20:08:25 +01:00
Jess Lovelace
f18615ae87 refactored device_t and all declarations 2022-02-02 16:31:22 -05:00
David Hrdlička
7381ab6928 Minor changes to threading
- Renamed `cpp11_thread.cpp` to `thread.cpp`
- Removed features that are only supported by Win32 threads (`thread_wait` with timeout and mutex with spinlock)
- Fixed formatting in `thread.cpp`
2021-12-17 19:59:25 +01:00
OBattler
7047517408 Video threads are now woken before the wait for termination, fixes the hangs. 2021-07-16 19:22:58 +02:00
OBattler
78c3f6759f Removed all usage of TerminateThread()/thread_kill(), thread_wait() is used instead now. 2021-07-16 06:45:32 +02:00
TC1995
fd5ac14f26 Fixed scrolling anomalies in the EGA and SVGA card cores for Commander Keen to work right without glitches. 2021-07-12 22:12:27 +02:00
RichardG867
202c4425a4 Add DPMS support to ATI Mach64 (not functional at least on Windows XP) 2021-04-14 16:08:20 -03:00
David Hrdlička
dfbbe08a07 rewrite the emulator to use UTF-8 internally 2021-03-30 09:46:49 +02:00
RichardG867
c6895ccad6 Fix Mach64 warning 2020-12-11 18:27:42 -03:00
RichardG867
694522a241 Fix ATI Mach64 DDC (to a degree; VBIOS works but Windows driver has a suspected bug) 2020-12-10 20:32:07 -03:00
RichardG867
d6b1d2c63a I2C overhaul part 5: late, but there's still stuff to do 2020-11-23 14:49:49 -03:00
RichardG867
739fdc46cc I2C overhaul part 2 2020-11-20 19:23:14 -03:00
RichardG867
886dbe09ea DDC/I2C/SMBus overhaul (incomplete, commit for the night) 2020-11-20 01:22:04 -03:00
TC1995
7bb51b4c7a Ported the latest Voodoo patches from PCem. 2020-11-18 00:21:07 +01:00
OBattler
0faf6692c9 WARNING: CONFIGS MIGHT PARTIALLY BREAK WHERE DEVICE NAMES HAVE CHANGED.
Changes to device_t struct to accomodate the upcoming PCI IRQ arbitration rewrite;
Added device.c/h API to obtain name from the device_t struct;
Significant changes to win/win_settings.c to clean up the code a bit and fix bugs;
Ported all the CPU and AudioPCI commits from PCem;
Added an API call to allow ACPI soft power off to gracefully stop the emulator;
Removed the Siemens PCD-2L from the Dev branch because it now works;
Removed the Socket 5 HP Vectra from the Dev branch because it now works;
Fixed the Compaq Presario and the Micronics Spitfire;
Give the IBM PC330 its own list of 486 CPU so it can have DX2's with CPUID 0x470;
SMM fixes;
Rewrote the SYSENTER, SYSEXIT, SYSCALL, and SYSRET instructions;
Changed IDE reset period to match the specification, fixes #929;
The keyboard input and output ports are now forced in front of the queue when read, fixes a number of bugs, including the AMI Apollo hanging on soft reset;
Added the Intel AN430TX but Dev branched because it does not work;
The network code no longer drops packets if the emulated network card has failed to receive them (eg. when the buffer is full);
Changes to PCI card adding and renamed some PCI slot types, also added proper AGP bridge slot types;
USB UHCI emulation is no longer a stub (still doesn't fully work, but at least Windows XP chk with Debug no longer ASSERT's on it);
Fixed NVR on the the SMC FDC37C932QF and APM variants;
A number of fixes to Intel 4x0 chipsets, including fixing every register of the 440LX and 440EX;
Some ACPI changes.
2020-11-16 00:01:21 +01:00
OBattler
7a90fa8f75 Fixed the previous commit. 2020-10-18 01:20:26 +02:00
OBattler
f2938551fa Improved 32x32 cursor support. 2020-10-18 01:18:46 +02:00
OBattler
df05daca51 Fixed a compile-breaking mistake in mach64_ext_readw(). 2020-05-29 20:36:34 +02:00
OBattler
1efbab7fec Added some dword-only things to word functions because of the ISA Mach64. 2020-05-29 20:34:27 +02:00
OBattler
9e119d0497 Fixed the ATi Mach64 hardware cursor. 2020-05-29 20:23:33 +02:00
OBattler
3027422e88 PCI graphics cards now correctly use PCI timings instead of VLB timings. 2020-05-06 00:23:07 +02:00
David Hrdlička
a505894a10 Move all include files to src/include
- 86Box's own headers go to /86box
- munt's public interface goes to /mt32emu
- all slirp headers go to /slirp (might want to consider using only its public inteface)
- single file headers from other projects go in include root
2020-03-29 19:53:29 +02:00
Daniel Gurney
0c509fd551 Remove version tree-wide 2020-03-25 00:46:02 +02:00
OBattler
490c04fcae Current WIP code. 2020-02-29 19:12:23 +01:00
OBattler
e44e60c660 Fixed the fourth batch of problems. 2020-01-15 05:24:33 +01:00
OBattler
932ad5595a Fixed the third batch of problems. 2020-01-15 04:58:28 +01:00
OBattler
a2867e6978 Added fall-through comments to several fall-throughs. 2020-01-15 02:43:25 +01:00
OBattler
1d41f99dcf Fixed the ATi Mach64 hardware cursor. 2019-12-28 05:50:22 +01:00
OBattler
a495faec59 Direct3D in full-screen mode now transfers control of input to the full screen window, fixes #429;
Unified screenshot code and moved it to video.c, it is now independent of both renderer and platform;
The EGA/(S)VGA overscan now also works for CGA, PCjr, Tandy, and CGA-using Amstrads;
Fixed EGA/(S)VGA overscan operation so it works correctly with scrolling and panning;
Fixed 320x200x32K and 320x200x64K modes on the ET4000/W32p;
Fixed the Video 7 1024i chip ID and video memory options, fixes #431;
Fixed a banking bug in the S3 cards, fixes Windows 9x and NeoPaint.
2019-10-20 15:09:38 +02:00
OBattler
6627282efb Implemented software-requested DMA block transfers, fixes #405, and also fixes UMBPCI's DMACHK ISA DMA tests;
Reworked a few things and re-implemented memory write protection in the SCAT emulation, to require less unusual mappings;
Removed two files that should not be there;
Made sure all graphics cards' memory mappings are mapped as MEM_MAPPING_EXTERNAL;
Added MEM_MAPPING_ROMCS flag to signal that a mapping responds to MEMCS* and made the BIOS and Intel flash mappings use it.
2019-09-28 17:32:05 +02:00